File trigona_be6dfedd91e1ebc81d58a61b05b0ef93322425b247636a0f7f5c3eeebbc52edd.exe
Function:
Loading..
00404970
00404970fn_404970:
00404970push rbp
00404971push rbx
00404972sub rsp, 40
00404976mov rbp, rsp
00404979mov rbx, rcx
0040497cmov rax, rdx
0040497fcmp rax, 65535
00404986jbe 0x4049f6
00404988test rax, 3
0040498fjne 0x4049f6
00404991mov rax, [rbx+32]
00404995mov rcx, rdx
00404998cmp rax, rcx
0040499bja 0x4049ae
0040499dmov r8, [rbx+56]
004049a1lea rax, [rax+r8]
004049a5lea rcx, [rcx+8]
004049a9cmp rax, rcx
004049acjae 0x4049c8
004049ae
004049aeloc_4049ae:
004049aemov [rbx+56], 0
004049b6mov rcx, rdx
004049b9lea rdx, [rbx+32]
004049bdmov r8l, 48
004049c3call VirtualQuery
004049c8
004049c8loc_4049c8:
004049c8cmp [rbx+56], 8
004049cdjb 0x4049ee
004049cfcmp [rbx+64], 4096
004049d6jne 0x4049ee
004049d8mov eax, [rbx+68]
004049dbtest eax, 246
004049e1je 0x4049ee
004049e3mov eax, [rbx+68]
004049e6test eax, 256
004049ecje 0x4049f2
004049ee
004049eeloc_4049ee:
004049eexor eax, eax
004049f0jmp 0x4049f8
004049f2
004049f2loc_4049f2:
004049f2mov al, 1
004049f4jmp 0x4049f8
004049f6
004049f6loc_4049f6:
004049f6xor eax, eax
004049f8
004049f8loc_4049f8:
004049f8lea rsp, [rbp+40]
004049fcpop rbx
004049fdpop rbp
004049feret
00404970
00404970fn_404970:
00404970push rbp
00404971push rbx
00404972sub rsp, 40
00404976mov rbp, rsp
00404979mov rbx, rcx
0040497cmov rax, rdx
0040497fcmp rax, 65535
00404986jbe 0x4049f6
00404988test rax, 3
0040498fjne 0x4049f6
00404991mov rax, [rbx+32]
00404995mov rcx, rdx
00404998cmp rax, rcx
0040499bja 0x4049ae
0040499dmov r8, [rbx+56]
004049a1lea rax, [rax+r8]
004049a5lea rcx, [rcx+8]
004049a9cmp rax, rcx
004049acjae 0x4049c8
004049ae
004049aeloc_4049ae:
004049aemov [rbx+56], 0
004049b6mov rcx, rdx
004049b9lea rdx, [rbx+32]
004049bdmov r8l, 48
004049c3call VirtualQuery
004049c8
004049c8loc_4049c8:
004049c8cmp [rbx+56], 8
004049cdjb 0x4049ee
004049cfcmp [rbx+64], 4096
004049d6jne 0x4049ee
004049d8mov eax, [rbx+68]
004049dbtest eax, 246
004049e1je 0x4049ee
004049e3mov eax, [rbx+68]
004049e6test eax, 256
004049ecje 0x4049f2
004049ee
004049eeloc_4049ee:
004049eexor eax, eax
004049f0jmp 0x4049f8
004049f2
004049f2loc_4049f2:
004049f2mov al, 1
004049f4jmp 0x4049f8
004049f6
004049f6loc_4049f6:
004049f6xor eax, eax
004049f8
004049f8loc_4049f8:
004049f8lea rsp, [rbp+40]
004049fcpop rbx
004049fdpop rbp
004049feret
00404970
004049ff
004049ff // align 0x10
004049ff // align 0x10
00404a00
00404a00fn_404a00:
00404a00push rbp
00404a01push r13
00404a03push rdi
00404a04push rsi
00404a05push rbx
00404a06sub rsp, 32
00404a0amov rbp, rsp
00404a0dmov rbx, rcx
00404a10mov rsi, rdx
00404a13mov edi, r8l
00404a16cmp edi, 1000
00404a1cjge 0x404a81
00404a1emov rcx, rbx
00404a21lea rdx, [rsi-200]
00404a28call fn_404970
00404a2dtest al, al
00404a2fje 0x404a81
00404a31mov rcx, rbx
00404a34lea rdx, [rsi-120]
00404a38call fn_404970
00404a3dtest al, al
00404a3fje 0x404a81
00404a41mov r13, [rsi-120]
00404a45cmp [rsi-200], rsi
00404a4cjne 0x404a79
00404a4etest r13, r13
00404a51je 0x404a7d
00404a53mov rcx, rbx
00404a56mov rdx, r13
00404a59call fn_404970
00404a5etest al, al
00404a60je 0x404a79
00404a62mov rcx, rbx
00404a65mov rdx, [r13]
00404a69mov r8l, edi
00404a6cadd r8l, 1
00404a70call fn_404a00
00404a75test al, al
00404a77jne 0x404a7d
00404a79
00404a79loc_404a79:
00404a79xor eax, eax
00404a7bjmp 0x404a83
00404a7d
00404a7dloc_404a7d:
00404a7dmov al, 1
00404a7fjmp 0x404a83
00404a81
00404a81loc_404a81:
00404a81xor eax, eax
00404a83
00404a83loc_404a83:
00404a83lea rsp, [rbp+32]
00404a87pop rbx
00404a88pop rsi
00404a89pop rdi
00404a8apop r13
00404a8cpop rbp
00404a8dret
00404a00
00404a00fn_404a00:
00404a00push rbp
00404a01push r13
00404a03push rdi
00404a04push rsi
00404a05push rbx
00404a06sub rsp, 32
00404a0amov rbp, rsp
00404a0dmov rbx, rcx
00404a10mov rsi, rdx
00404a13mov edi, r8l
00404a16cmp edi, 1000
00404a1cjge 0x404a81
00404a1emov rcx, rbx
00404a21lea rdx, [rsi-200]
00404a28call fn_404970
00404a2dtest al, al
00404a2fje 0x404a81
00404a31mov rcx, rbx
00404a34lea rdx, [rsi-120]
00404a38call fn_404970
00404a3dtest al, al
00404a3fje 0x404a81
00404a41mov r13, [rsi-120]
00404a45cmp [rsi-200], rsi
00404a4cjne 0x404a79
00404a4etest r13, r13
00404a51je 0x404a7d
00404a53mov rcx, rbx
00404a56mov rdx, r13
00404a59call fn_404970
00404a5etest al, al
00404a60je 0x404a79
00404a62mov rcx, rbx
00404a65mov rdx, [r13]
00404a69mov r8l, edi
00404a6cadd r8l, 1
00404a70call fn_404a00
00404a75test al, al
00404a77jne 0x404a7d
00404a79
00404a79loc_404a79:
00404a79xor eax, eax
00404a7bjmp 0x404a83
00404a7d
00404a7dloc_404a7d:
00404a7dmov al, 1
00404a7fjmp 0x404a83
00404a81
00404a81loc_404a81:
00404a81xor eax, eax
00404a83
00404a83loc_404a83:
00404a83lea rsp, [rbp+32]
00404a87pop rbx
00404a88pop rsi
00404a89pop rdi
00404a8apop r13
00404a8cpop rbp
00404a8dret
00404a00
00404a8e
00404a8e // align 0x10
00404a8e // align 0x10
00404a90
00404a90fn_404a90:
00404a90push rbp
00404a91push rbx
00404a92sub rsp, 88
00404a96mov rbp, rsp
00404a99mov rbx, [rcx]
00404a9cmov [rbp+56], 0
00404aa4mov rcx, rbp
00404aa7mov rdx, rbx
00404aaaxor r8, r8
00404aadcall fn_404a00
00404ab2test al, al
00404ab4jne 0x404ab8
00404ab6xor ebx, ebx
00404ab8
00404ab8loc_404ab8:
00404ab8mov rax, rbx
00404abblea rsp, [rbp+88]
00404abfpop rbx
00404ac0pop rbp
00404ac1ret
00404a90
00404a90fn_404a90:
00404a90push rbp
00404a91push rbx
00404a92sub rsp, 88
00404a96mov rbp, rsp
00404a99mov rbx, [rcx]
00404a9cmov [rbp+56], 0
00404aa4mov rcx, rbp
00404aa7mov rdx, rbx
00404aaaxor r8, r8
00404aadcall fn_404a00
00404ab2test al, al
00404ab4jne 0x404ab8
00404ab6xor ebx, ebx
00404ab8
00404ab8loc_404ab8:
00404ab8mov rax, rbx
00404abblea rsp, [rbp+88]
00404abfpop rbx
00404ac0pop rbp
00404ac1ret
00404a90
00404ac2
00404ac2 // align 0x10
00404ac2 // align 0x10
00404ad0
00404ad0fn_404ad0:
00404ad0sub rsp, 40
00404ad4cmp [rip+0x605be], 0
00404adbje 0x404b1a
00404addjmp 0x404b09
00404adf
00404adfloc_404adf:
00404adfcmp [rip+0x60f3f], 0
00404ae6jne 0x404b09
00404ae8xor ecx, ecx
00404aeacall Sleep
00404aefxor eax, eax
00404af1mov cl, 1
00404af3lock cmpxchg [rip+0x65165], cl
00404afbtest al, al
00404afdje 0x404b19
00404affmov ecx, 10
00404b04call Sleep
00404b09
00404b09loc_404b09:
00404b09xor eax, eax
00404b0bmov cl, 1
00404b0dlock cmpxchg [rip+0x6514b], cl
00404b15test al, al
00404b17jne 0x404adf
00404b19
00404b19loc_404b19:
00404b19nop
00404b1a
00404b1aloc_404b1a:
00404b1acmp [rip+0x65136], 0
00404b22jne 0x404b43
00404b24xor ecx, ecx
00404b26mov edx, 0x10000
00404b2bmov r8l, 4096
00404b31mov r9l, 4
00404b37call VirtualAlloc
00404b3cmov [rip+0x65115], rax
00404b43
00404b43loc_404b43:
00404b43cmp [rip+0x6510d], 0
00404b4bsetne al
00404b4eadd rsp, 40
00404b52ret
00404ad0
00404ad0fn_404ad0:
00404ad0sub rsp, 40
00404ad4cmp [rip+0x605be], 0
00404adbje 0x404b1a
00404addjmp 0x404b09
00404adf
00404adfloc_404adf:
00404adfcmp [rip+0x60f3f], 0
00404ae6jne 0x404b09
00404ae8xor ecx, ecx
00404aeacall Sleep
00404aefxor eax, eax
00404af1mov cl, 1
00404af3lock cmpxchg [rip+0x65165], cl
00404afbtest al, al
00404afdje 0x404b19
00404affmov ecx, 10
00404b04call Sleep
00404b09
00404b09loc_404b09:
00404b09xor eax, eax
00404b0bmov cl, 1
00404b0dlock cmpxchg [rip+0x6514b], cl
00404b15test al, al
00404b17jne 0x404adf
00404b19
00404b19loc_404b19:
00404b19nop
00404b1a
00404b1aloc_404b1a:
00404b1acmp [rip+0x65136], 0
00404b22jne 0x404b43
00404b24xor ecx, ecx
00404b26mov edx, 0x10000
00404b2bmov r8l, 4096
00404b31mov r9l, 4
00404b37call VirtualAlloc
00404b3cmov [rip+0x65115], rax
00404b43
00404b43loc_404b43:
00404b43cmp [rip+0x6510d], 0
00404b4bsetne al
00404b4eadd rsp, 40
00404b52ret
00404ad0
00404b53
00404b53 // align 0x10
00404b53 // align 0x10
00404b60
00404b60fn_404b60:
00404b60push rbx
00404b61sub rsp, 32
00404b65mov rbx, rcx
00404b68call fn_404ad0
00404b6dtest al, al
00404b6fje 0x404ba4
00404b71mov rax, [rip+0x650e0]
00404b78cmp [rax], 8190
00404b7ejge 0x404ba4
00404b80mov rax, [rip+0x650d1]
00404b87mov rcx, [rip+0x650ca]
00404b8emovsxd rcx, [rcx]
00404b91mov [rax+8*rcx+8], rbx
00404b96mov rax, [rip+0x650bb]
00404b9dadd [rax], 1
00404ba0mov al, 1
00404ba2jmp 0x404ba6
00404ba4
00404ba4loc_404ba4:
00404ba4xor eax, eax
00404ba6
00404ba6loc_404ba6:
00404ba6mov [rip+0x650b3], 0
00404badadd rsp, 32
00404bb1pop rbx
00404bb2ret
00404b60
00404b60fn_404b60:
00404b60push rbx
00404b61sub rsp, 32
00404b65mov rbx, rcx
00404b68call fn_404ad0
00404b6dtest al, al
00404b6fje 0x404ba4
00404b71mov rax, [rip+0x650e0]
00404b78cmp [rax], 8190
00404b7ejge 0x404ba4
00404b80mov rax, [rip+0x650d1]
00404b87mov rcx, [rip+0x650ca]
00404b8emovsxd rcx, [rcx]
00404b91mov [rax+8*rcx+8], rbx
00404b96mov rax, [rip+0x650bb]
00404b9dadd [rax], 1
00404ba0mov al, 1
00404ba2jmp 0x404ba6
00404ba4
00404ba4loc_404ba4:
00404ba4xor eax, eax
00404ba6
00404ba6loc_404ba6:
00404ba6mov [rip+0x650b3], 0
00404badadd rsp, 32
00404bb1pop rbx
00404bb2ret
00404b60
00404bb3
00404bb3 // align 0x10
00404bb3 // align 0x10
00404bc0
00404bc0fn_404bc0:
00404bc0push rsi
00404bc1push rbx
00404bc2sub rsp, 40
00404bc6mov rbx, rcx
00404bc9xor esi, esi
00404bcccmp [rip+0x65084], 0
00404bd4je 0x404c53
00404bd6call fn_404ad0
00404bdbtest al, al
00404bddje 0x404c53
00404bdfxor ecx, ecx
00404be1mov rax, [rip+0x65070]
00404be8mov edx, [rax]
00404beasub edx, 1
00404bedmov eax, ecx
00404befcmp eax, edx
00404bf1jg 0x404c4b
00404bf3sub edx, ecx
00404bf5add edx, 1
00404bf8
00404bf8loc_404bf8:
00404bf8movsxd rcx, eax
00404bfbmov r8, [rip+0x65056]
00404c02cmp [r8+8*rcx+8], rbx
00404c07jne 0x404c41
00404c09mov rax, [rip+0x65048]
00404c10mov rdx, [rip+0x65041]
00404c17mov r8, [rip+0x6503a]
00404c1emov r8l, [r8]
00404c21sub r8l, 1
00404c25movsxd r8, r8l
00404c28mov rdx, [rdx+8*r8+8]
00404c2dmov [rax+8*rcx+8], rdx
00404c32mov rax, [rip+0x6501f]
00404c39sub [rax], 1
00404c3cmov sil, 1
00404c3fjmp 0x404c4b
00404c41
00404c41loc_404c41:
00404c41add eax, 1
00404c44sub edx, 1
00404c47test edx, edx
00404c49jne 0x404bf8
00404c4b
00404c4bloc_404c4b:
00404c4bnop
00404c4cmov [rip+0x6500d], 0
00404c53
00404c53loc_404c53:
00404c53mov eax, esi
00404c56add rsp, 40
00404c5apop rbx
00404c5bpop rsi
00404c5cret
00404bc0
00404bc0fn_404bc0:
00404bc0push rsi
00404bc1push rbx
00404bc2sub rsp, 40
00404bc6mov rbx, rcx
00404bc9xor esi, esi
00404bcccmp [rip+0x65084], 0
00404bd4je 0x404c53
00404bd6call fn_404ad0
00404bdbtest al, al
00404bddje 0x404c53
00404bdfxor ecx, ecx
00404be1mov rax, [rip+0x65070]
00404be8mov edx, [rax]
00404beasub edx, 1
00404bedmov eax, ecx
00404befcmp eax, edx
00404bf1jg 0x404c4b
00404bf3sub edx, ecx
00404bf5add edx, 1
00404bf8
00404bf8loc_404bf8:
00404bf8movsxd rcx, eax
00404bfbmov r8, [rip+0x65056]
00404c02cmp [r8+8*rcx+8], rbx
00404c07jne 0x404c41
00404c09mov rax, [rip+0x65048]
00404c10mov rdx, [rip+0x65041]
00404c17mov r8, [rip+0x6503a]
00404c1emov r8l, [r8]
00404c21sub r8l, 1
00404c25movsxd r8, r8l
00404c28mov rdx, [rdx+8*r8+8]
00404c2dmov [rax+8*rcx+8], rdx
00404c32mov rax, [rip+0x6501f]
00404c39sub [rax], 1
00404c3cmov sil, 1
00404c3fjmp 0x404c4b
00404c41
00404c41loc_404c41:
00404c41add eax, 1
00404c44sub edx, 1
00404c47test edx, edx
00404c49jne 0x404bf8
00404c4b
00404c4bloc_404c4b:
00404c4bnop
00404c4cmov [rip+0x6500d], 0
00404c53
00404c53loc_404c53:
00404c53mov eax, esi
00404c56add rsp, 40
00404c5apop rbx
00404c5bpop rsi
00404c5cret
00404bc0
00404c5d
00404c5d // align 0x10
00404c5d // align 0x10
00404c60
00404c60fn_404c60:
00404c60push rbp
00404c61push r13
00404c63push rdi
00404c64push rsi
00404c65push rbx
00404c66sub rsp, 48
00404c6amov rbp, rsp
00404c6dmov rbx, rcx
00404c70mov rsi, rdx
00404c73lea rax, [rip+0x5445e]
00404c7amov rcx, [rsi]
00404c7dsub rcx, rax
00404c80shr rcx, 6
00404c84mov eax, ecx
00404c86mov eax, eax
00404c88shl rax, 9
00404c8clea r13, [rbx+8*rax+0x10050]
00404c94mov rcx, rsi
00404c97lea rdx, [rbp+40]
00404c9blea r8, [rbp+32]
00404c9fcall fn_404840
00404ca4jmp 0x404e38
00404ca9
00404ca9loc_404ca9:
00404ca9mov rax, [rbp+40]
00404cadmov rax, [rax-8]
00404cb1test rax, 1
00404cb8jne 0x404e2c
00404cbemov rcx, [rbp+40]
00404cc2call fn_404bc0
00404cc7test al, al
00404cc9jne 0x404e2c
00404ccfmov [rbx+0x1004f], 0
00404cd6xor edi, edi
00404cd8mov rcx, [rbp+40]
00404cdccall fn_404a90
00404ce1test rax, rax
00404ce4jne 0x404ddb
00404ceamov rax, [rbp+40]
00404ceecmp [rax+8], 256
00404cf5jge 0x404e1e
00404cfbmov ecx, [rax+12]
00404cfemovzx r8l, [rax+6]
00404d03cmp r8l, 1
00404d07je 0x404d13
00404d09cmp r8l, 2
00404d0djne 0x404e1e
00404d13
00404d13loc_404d13:
00404d13test ecx, ecx
00404d15jle 0x404e1e
00404d1bmov rax, [rsi]
00404d1emovzx eax, [rax+2]
00404d22sub eax, 24
00404d25cdq
00404d26idiv r8l
00404d29cmp eax, ecx
00404d2bjle 0x404e1e
00404d31mov r9b, 1
00404d34cmp r8l, 1
00404d38jne 0x404d8f
00404d3amov rax, [rbp+40]
00404d3elea rdx, [rax+16]
00404d42mov r8l, 1
00404d48mov eax, r8l
00404d4bcmp eax, ecx
00404d4djg 0x404d72
00404d4fsub ecx, r8l
00404d52add ecx, 1
00404d55
00404d55loc_404d55:
00404d55test r9b, r9b
00404d58je 0x404d5f
00404d5acmp [rdx], 32
00404d5djae 0x404d64
00404d5f
00404d5floc_404d5f:
00404d5fxor r9, r9
00404d62jmp 0x404d67
00404d64
00404d64loc_404d64:
00404d64mov r9b, 1
00404d67
00404d67loc_404d67:
00404d67add rdx, 1
00404d6bsub ecx, 1
00404d6etest ecx, ecx
00404d70jne 0x404d55
00404d72
00404d72loc_404d72:
00404d72nop
00404d73test r9b, r9b
00404d76je 0x404e1e
00404d7ccmp [rdx], 0
00404d7fjne 0x404e1e
00404d85mov edi, 1
00404d8ajmp 0x404e1e
00404d8f
00404d8floc_404d8f:
00404d8fmov rax, [rbp+40]
00404d93lea rdx, [rax+16]
00404d97mov r8l, 1
00404d9dmov eax, r8l
00404da0cmp eax, ecx
00404da2jg 0x404dc8
00404da4sub ecx, r8l
00404da7add ecx, 1
00404daa
00404daaloc_404daa:
00404daatest r9b, r9b
00404dadje 0x404db5
00404dafcmp [rdx], 32
00404db3jae 0x404dba
00404db5
00404db5loc_404db5:
00404db5xor r9, r9
00404db8jmp 0x404dbd
00404dba
00404dbaloc_404dba:
00404dbamov r9b, 1
00404dbd
00404dbdloc_404dbd:
00404dbdadd rdx, 2
00404dc1sub ecx, 1
00404dc4test ecx, ecx
00404dc6jne 0x404daa
00404dc8
00404dc8loc_404dc8:
00404dc8nop
00404dc9test r9b, r9b
00404dccje 0x404e1e
00404dcecmp [rdx], 0
00404dd2jne 0x404e1e
00404dd4mov edi, 2
00404dd9jmp 0x404e1e
00404ddb
00404ddbloc_404ddb:
00404ddbmov edi, 3
00404de0
00404de0loc_404de0:
00404de0movsxd rcx, edi
00404de3mov rdx, rcx
00404de6add rdx, rdx
00404de9cmp [r13+8*rdx], rax
00404deeje 0x404e06
00404df0add rcx, rcx
00404df3cmp [r13+8*rcx], 0
00404df9je 0x404e06
00404dfbadd edi, 1
00404dfecmp edi, 255
00404e04jle 0x404de0
00404e06
00404e06loc_404e06:
00404e06nop
00404e07cmp edi, 255
00404e0djg 0x404e1c
00404e0fmovsxd rcx, edi
00404e12add rcx, rcx
00404e15mov [r13+8*rcx], rax
00404e1ajmp 0x404e1e
00404e1c
00404e1cloc_404e1c:
00404e1cxor edi, edi
00404e1e
00404e1eloc_404e1e:
00404e1emovsxd rdi, edi
00404e21add rdi, rdi
00404e24lea rax, [r13+8*rdi+8]
00404e29add [rax], 1
00404e2c
00404e2cloc_404e2c:
00404e2cmov rax, [rsi]
00404e2fmovzx rax, [rax+2]
00404e34add [rbp+40], rax
00404e38
00404e38loc_404e38:
00404e38mov rax, [rbp+40]
00404e3ccmp rax, [rbp+32]
00404e40jbe 0x404ca9
00404e46lea rsp, [rbp+48]
00404e4apop rbx
00404e4bpop rsi
00404e4cpop rdi
00404e4dpop r13
00404e4fpop rbp
00404e50ret
00404c60
00404c60fn_404c60:
00404c60push rbp
00404c61push r13
00404c63push rdi
00404c64push rsi
00404c65push rbx
00404c66sub rsp, 48
00404c6amov rbp, rsp
00404c6dmov rbx, rcx
00404c70mov rsi, rdx
00404c73lea rax, [rip+0x5445e]
00404c7amov rcx, [rsi]
00404c7dsub rcx, rax
00404c80shr rcx, 6
00404c84mov eax, ecx
00404c86mov eax, eax
00404c88shl rax, 9
00404c8clea r13, [rbx+8*rax+0x10050]
00404c94mov rcx, rsi
00404c97lea rdx, [rbp+40]
00404c9blea r8, [rbp+32]
00404c9fcall fn_404840
00404ca4jmp 0x404e38
00404ca9
00404ca9loc_404ca9:
00404ca9mov rax, [rbp+40]
00404cadmov rax, [rax-8]
00404cb1test rax, 1
00404cb8jne 0x404e2c
00404cbemov rcx, [rbp+40]
00404cc2call fn_404bc0
00404cc7test al, al
00404cc9jne 0x404e2c
00404ccfmov [rbx+0x1004f], 0
00404cd6xor edi, edi
00404cd8mov rcx, [rbp+40]
00404cdccall fn_404a90
00404ce1test rax, rax
00404ce4jne 0x404ddb
00404ceamov rax, [rbp+40]
00404ceecmp [rax+8], 256
00404cf5jge 0x404e1e
00404cfbmov ecx, [rax+12]
00404cfemovzx r8l, [rax+6]
00404d03cmp r8l, 1
00404d07je 0x404d13
00404d09cmp r8l, 2
00404d0djne 0x404e1e
00404d13
00404d13loc_404d13:
00404d13test ecx, ecx
00404d15jle 0x404e1e
00404d1bmov rax, [rsi]
00404d1emovzx eax, [rax+2]
00404d22sub eax, 24
00404d25cdq
00404d26idiv r8l
00404d29cmp eax, ecx
00404d2bjle 0x404e1e
00404d31mov r9b, 1
00404d34cmp r8l, 1
00404d38jne 0x404d8f
00404d3amov rax, [rbp+40]
00404d3elea rdx, [rax+16]
00404d42mov r8l, 1
00404d48mov eax, r8l
00404d4bcmp eax, ecx
00404d4djg 0x404d72
00404d4fsub ecx, r8l
00404d52add ecx, 1
00404d55
00404d55loc_404d55:
00404d55test r9b, r9b
00404d58je 0x404d5f
00404d5acmp [rdx], 32
00404d5djae 0x404d64
00404d5f
00404d5floc_404d5f:
00404d5fxor r9, r9
00404d62jmp 0x404d67
00404d64
00404d64loc_404d64:
00404d64mov r9b, 1
00404d67
00404d67loc_404d67:
00404d67add rdx, 1
00404d6bsub ecx, 1
00404d6etest ecx, ecx
00404d70jne 0x404d55
00404d72
00404d72loc_404d72:
00404d72nop
00404d73test r9b, r9b
00404d76je 0x404e1e
00404d7ccmp [rdx], 0
00404d7fjne 0x404e1e
00404d85mov edi, 1
00404d8ajmp 0x404e1e
00404d8f
00404d8floc_404d8f:
00404d8fmov rax, [rbp+40]
00404d93lea rdx, [rax+16]
00404d97mov r8l, 1
00404d9dmov eax, r8l
00404da0cmp eax, ecx
00404da2jg 0x404dc8
00404da4sub ecx, r8l
00404da7add ecx, 1
00404daa
00404daaloc_404daa:
00404daatest r9b, r9b
00404dadje 0x404db5
00404dafcmp [rdx], 32
00404db3jae 0x404dba
00404db5
00404db5loc_404db5:
00404db5xor r9, r9
00404db8jmp 0x404dbd
00404dba
00404dbaloc_404dba:
00404dbamov r9b, 1
00404dbd
00404dbdloc_404dbd:
00404dbdadd rdx, 2
00404dc1sub ecx, 1
00404dc4test ecx, ecx
00404dc6jne 0x404daa
00404dc8
00404dc8loc_404dc8:
00404dc8nop
00404dc9test r9b, r9b
00404dccje 0x404e1e
00404dcecmp [rdx], 0
00404dd2jne 0x404e1e
00404dd4mov edi, 2
00404dd9jmp 0x404e1e
00404ddb
00404ddbloc_404ddb:
00404ddbmov edi, 3
00404de0
00404de0loc_404de0:
00404de0movsxd rcx, edi
00404de3mov rdx, rcx
00404de6add rdx, rdx
00404de9cmp [r13+8*rdx], rax
00404deeje 0x404e06
00404df0add rcx, rcx
00404df3cmp [r13+8*rcx], 0
00404df9je 0x404e06
00404dfbadd edi, 1
00404dfecmp edi, 255
00404e04jle 0x404de0
00404e06
00404e06loc_404e06:
00404e06nop
00404e07cmp edi, 255
00404e0djg 0x404e1c
00404e0fmovsxd rcx, edi
00404e12add rcx, rcx
00404e15mov [r13+8*rcx], rax
00404e1ajmp 0x404e1e
00404e1c
00404e1cloc_404e1c:
00404e1cxor edi, edi
00404e1e
00404e1eloc_404e1e:
00404e1emovsxd rdi, edi
00404e21add rdi, rdi
00404e24lea rax, [r13+8*rdi+8]
00404e29add [rax], 1
00404e2c
00404e2cloc_404e2c:
00404e2cmov rax, [rsi]
00404e2fmovzx rax, [rax+2]
00404e34add [rbp+40], rax
00404e38
00404e38loc_404e38:
00404e38mov rax, [rbp+40]
00404e3ccmp rax, [rbp+32]
00404e40jbe 0x404ca9
00404e46lea rsp, [rbp+48]
00404e4apop rbx
00404e4bpop rsi
00404e4cpop rdi
00404e4dpop r13
00404e4fpop rbp
00404e50ret
00404c60
00404e51
00404e51 // align 0x10
00404e51 // align 0x10
00404e60
00404e60fn_404e60:
00404e60push rbp
00404e61push r14
00404e63push r13
00404e65push rdi
00404e66push rsi
00404e67push rbx
00404e68mov eax, 4008
00404e6d
00404e6dloc_404e6d:
00404e6dsub rax, 4096
00404e73mov [rsp+rax], al
00404e76cmp rax, 0xfffffffffffc1fa8
00404e7dja 0x404e6d
00404e7fsub rsp, 0x3e058
00404e86mov rbp, rsp
00404e89lea rcx, [rbp+72]
00404e8dmov edx, 32768
00404e92xor r8, r8
00404e95call fn_4069b0
00404e9alea rcx, [rbp+0x10050]
00404ea1mov edx, 0x2e000
00404ea6xor r8, r8
00404ea9call fn_4069b0
00404eaelea rcx, [rbp+32840]
00404eb5mov edx, 32768
00404ebaxor r8, r8
00404ebdcall fn_4069b0
00404ec2xor eax, eax
00404ec4mov [rbp+32], eax
00404ec7mov [rbp+0x1004f], 1
00404ecemov rdi, [rip+0x60cab]
00404ed5jmp 0x404f67
00404eda
00404edaloc_404eda:
00404edamov rcx, rdi
00404eddcall fn_404800
00404ee2mov rsi, rax
00404ee5test rsi, rsi
00404ee8je 0x404f62
00404eea
00404eealoc_404eea:
00404eeamov rax, [rsi-8]
00404eeemov rcx, rax
00404ef1test rcx, 1
00404ef8jne 0x404f52
00404efamov rcx, rax
00404efdtest rcx, 4
00404f04je 0x404f13
00404f06mov rcx, rbp
00404f09mov rdx, rsi
00404f0ccall fn_404c60
00404f11jmp 0x404f52
00404f13
00404f13loc_404f13:
00404f13mov ecx, [rbp+32]
00404f16cmp ecx, 4096
00404f1cjge 0x404f52
00404f1emov ebx, eax
00404f20and ebx, -16
00404f23sub ebx, 8
00404f26mov rcx, rsi
00404f29call fn_404bc0
00404f2etest al, al
00404f30jne 0x404f52
00404f32mov [rbp+0x1004f], 0
00404f39mov eax, [rbp+32]
00404f3cmovsxd rax, eax
00404f3fmov ebx, ebx
00404f41mov [rbp+8*rax+32840], rbx
00404f49mov eax, [rbp+32]
00404f4cadd eax, 1
00404f4fmov [rbp+32], eax
00404f52
00404f52loc_404f52:
00404f52mov rcx, rsi
00404f55call fn_4047e0
00404f5amov rsi, rax
00404f5dtest rsi, rsi
00404f60jne 0x404eea
00404f62
00404f62loc_404f62:
00404f62nop
00404f63mov rdi, [rdi+8]
00404f67
00404f67loc_404f67:
00404f67lea rax, [rip+0x60c0a]
00404f6ecmp rdi, rax
00404f71jne 0x404eda
00404f77mov rbx, [rip+0x64cc2]
00404f7ejmp 0x404fbb
00404f80
00404f80loc_404f80:
00404f80lea rcx, [rbx+32]
00404f84call fn_404bc0
00404f89test al, al
00404f8bjne 0x404fb7
00404f8dmov [rbp+0x1004f], 0
00404f94mov rax, [rbx+24]
00404f98and rax, -16
00404f9clea rax, [rax-40]
00404fa0mov ecx, [rbp+32]
00404fa3movsxd rcx, ecx
00404fa6mov [rbp+8*rcx+32840], rax
00404faemov eax, [rbp+32]
00404fb1add eax, 1
00404fb4mov [rbp+32], eax
00404fb7
00404fb7loc_404fb7:
00404fb7mov rbx, [rbx+8]
00404fbb
00404fbbloc_404fbb:
00404fbblea rax, [rip+0x64c76]
00404fc2cmp rbx, rax
00404fc5je 0x404fd2
00404fc7mov eax, [rbp+32]
00404fcacmp eax, 4096
00404fd0jl 0x404f80
00404fd2
00404fd2loc_404fd2:
00404fd2cmp [rbp+0x1004f], 0
00404fd9jne 0x40535e
00404fdfxor eax, eax
00404fe1mov [rbp+39], al
00404fe4xor eax, eax
00404fe6mov [rbp+60], eax
00404fe9mov rcx, [rip+0x54090]
00404ff0call fn_40c580
00404ff5mov rcx, [rip+0x54084]
00404ffclea rdx, [rbp+72]
00405000mov r8l, eax
00405003call fn_4048f0
00405008mov [rbp+40], rax
0040500cmov r14l, 46
00405012lea rsi, [rip+0x540c1]
00405019lea rdi, [rbp+0x11048]
00405020
00405020loc_405020:
00405020movzx ebx, [rsi]
00405023sub ebx, 8
00405026xor eax, eax
00405028mov [rbp+55], al
0040502bmov eax, 255
00405030mov [rbp+56], eax
00405033mov r13, rdi
00405036
00405036loc_405036:
00405036lea rax, [rbp+30791]
0040503dmov rcx, [rbp+40]
00405041cmp rcx, rax
00405044mov [rbp+40], rcx
00405048ja 0x405221
0040504ecmp [r13], 0
00405053jbe 0x405208
00405059movzx rax, [rbp+39]
0040505etest al, al
00405060jne 0x40508a
00405062mov rcx, [rip+0x5401f]
00405069call fn_40c580
0040506emov rcx, [rip+0x54013]
00405075mov rdx, [rbp+40]
00405079mov r8l, eax
0040507ccall fn_4048f0
00405081mov [rbp+40], rax
00405085mov al, 1
00405087mov [rbp+39], al
0040508a
0040508aloc_40508a:
0040508amovzx rax, [rbp+55]
0040508ftest al, al
00405091jne 0x405120
00405097mov rax, [rbp+40]
0040509bmov [rax], 13
0040509eadd rax, 1
004050a2mov [rbp+40], rax
004050a6mov [rax], 10
004050a9add rax, 1
004050admov [rbp+40], rax
004050b1mov ecx, [rbp+60]
004050b4add ecx, 1
004050b7mov ecx, ecx
004050b9mov rdx, [rbp+40]
004050bdcall fn_404880
004050c2mov [rbp+40], rax
004050c6mov [rax], 32
004050c9add rax, 1
004050cdmov [rbp+40], rax
004050d1mov [rax], 45
004050d4add rax, 1
004050d8mov [rbp+40], rax
004050dcmov [rax], 32
004050dfadd rax, 1
004050e3mov [rbp+40], rax
004050e7mov ecx, ebx
004050e9mov rdx, [rbp+40]
004050edcall fn_404880
004050f2mov [rbp+40], rax
004050f6mov rcx, [rip+0x53f9b]
004050fdcall fn_40c580
00405102mov rcx, [rip+0x53f8f]
00405109mov rdx, [rbp+40]
0040510dmov r8l, eax
00405110call fn_4048f0
00405115mov [rbp+40], rax
00405119mov al, 1
0040511bmov [rbp+55], al
0040511ejmp 0x40513a
00405120
00405120loc_405120:
00405120mov rax, [rbp+40]
00405124mov [rax], 44
00405127add rax, 1
0040512bmov [rbp+40], rax
0040512fmov [rax], 32
00405132add rax, 1
00405136mov [rbp+40], rax
0040513a
0040513aloc_40513a:
0040513amov eax, [rbp+56]
0040513dsub eax, 1
00405140cmp eax, -1
00405143je 0x405152
00405145test eax, eax
00405147je 0x405177
00405149sub eax, 1
0040514ctest eax, eax
0040514ejne 0x4051c1
00405150jmp 0x40519c
00405152
00405152loc_405152:
00405152mov rcx, [rip+0x53f47]
00405159call fn_40c580
0040515emov rcx, [rip+0x53f3b]
00405165mov rdx, [rbp+40]
00405169mov r8l, eax
0040516ccall fn_4048f0
00405171mov [rbp+40], rax
00405175jmp 0x4051d2
00405177
00405177loc_405177:
00405177mov rcx, [rip+0x53f2a]
0040517ecall fn_40c580
00405183mov rcx, [rip+0x53f1e]
0040518amov rdx, [rbp+40]
0040518emov r8l, eax
00405191call fn_4048f0
00405196mov [rbp+40], rax
0040519ajmp 0x4051d2
0040519c
0040519cloc_40519c:
0040519cmov rcx, [rip+0x53f0d]
004051a3call fn_40c580
004051a8mov rcx, [rip+0x53f01]
004051afmov rdx, [rbp+40]
004051b3mov r8l, eax
004051b6call fn_4048f0
004051bbmov [rbp+40], rax
004051bfjmp 0x4051d2
004051c1
004051c1loc_4051c1:
004051c1mov rcx, [r13-8]
004051c5mov rdx, [rbp+40]
004051c9call fn_404920
004051cemov [rbp+40], rax
004051d2
004051d2loc_4051d2:
004051d2mov rax, [rbp+40]
004051d6mov [rax], 32
004051d9add rax, 1
004051ddmov [rbp+40], rax
004051e1mov [rax], 120
004051e4add rax, 1
004051e8mov [rbp+40], rax
004051ecmov [rax], 32
004051efadd rax, 1
004051f3mov [rbp+40], rax
004051f7mov ecx, [r13]
004051fbmov rdx, [rbp+40]
004051ffcall fn_404880
00405204mov [rbp+40], rax
00405208
00405208loc_405208:
00405208mov eax, [rbp+56]
0040520bsub eax, 1
0040520emov [rbp+56], eax
00405211sub r13, 16
00405215mov eax, [rbp+56]
00405218cmp eax, -1
0040521bjne 0x405036
00405221
00405221loc_405221:
00405221nop
00405222movzx rax, [rbp+55]
00405227test al, al
00405229jne 0x405241
0040522bcmp [rip+0x54a26], 0
00405232je 0x405241
00405234mov eax, ebx
00405236add eax, 8
00405239test eax, 15
0040523fjne 0x405244
00405241
00405241loc_405241:
00405241mov [rbp+60], ebx
00405244
00405244loc_405244:
00405244add rdi, 4096
0040524badd rsi, 64
0040524fsub r14l, 1
00405253test r14l, r14l
00405256jne 0x405020
0040525cnop
0040525dmov eax, [rbp+32]
00405260test eax, eax
00405262jle 0x40532f
00405268movzx rax, [rbp+39]
0040526dtest al, al
0040526fje 0x4052a1
00405271mov rax, [rbp+40]
00405275mov [rax], 13
00405278add rax, 1
0040527cmov [rbp+40], rax
00405280mov [rax], 10
00405283add rax, 1
00405287mov [rbp+40], rax
0040528bmov [rax], 13
0040528eadd rax, 1
00405292mov [rbp+40], rax
00405296mov [rax], 10
00405299add rax, 1
0040529dmov [rbp+40], rax
004052a1
004052a1loc_4052a1:
004052a1mov rcx, [rip+0x53de8]
004052a8call fn_40c580
004052admov rcx, [rip+0x53ddc]
004052b4mov rdx, [rbp+40]
004052b8mov r8l, eax
004052bbcall fn_4048f0
004052c0mov [rbp+40], rax
004052c4xor eax, eax
004052c6mov esi, [rbp+32]
004052c9sub esi, 1
004052ccmov ebx, eax
004052cecmp ebx, esi
004052d0ja 0x40532e
004052d2sub esi, eax
004052d4add esi, 1
004052d7lea rdi, [rbp+32840]
004052de
004052deloc_4052de:
004052detest ebx, ebx
004052e0je 0x4052fc
004052e2mov rax, [rbp+40]
004052e6mov [rax], 44
004052e9add rax, 1
004052edmov [rbp+40], rax
004052f1mov [rax], 32
004052f4add rax, 1
004052f8mov [rbp+40], rax
004052fc
004052fcloc_4052fc:
004052fcmov rcx, [rdi]
004052ffmov rdx, [rbp+40]
00405303call fn_404880
00405308mov [rbp+40], rax
0040530clea rax, [rbp+30791]
00405313mov rcx, [rbp+40]
00405317cmp rcx, rax
0040531amov [rbp+40], rcx
0040531eja 0x40532e
00405320add ebx, 1
00405323add rdi, 8
00405327sub esi, 1
0040532atest esi, esi
0040532cjne 0x4052de
0040532e
0040532eloc_40532e:
0040532enop
0040532f
0040532floc_40532f:
0040532fmov rcx, [rip+0x53d82]
00405336call fn_40c580
0040533bmov rcx, [rip+0x53d76]
00405342mov rdx, [rbp+40]
00405346mov r8l, eax
00405349call fn_4048f0
0040534elea rcx, [rbp+72]
00405352mov rdx, [rip+0x53d67]
00405359call fn_404700
0040535e
0040535eloc_40535e:
0040535elea rsp, [rbp+0x3e058]
00405365pop rbx
00405366pop rsi
00405367pop rdi
00405368pop r13
0040536apop r14
0040536cpop rbp
0040536dret
00404e60
00404e60fn_404e60:
00404e60push rbp
00404e61push r14
00404e63push r13
00404e65push rdi
00404e66push rsi
00404e67push rbx
00404e68mov eax, 4008
00404e6d
00404e6dloc_404e6d:
00404e6dsub rax, 4096
00404e73mov [rsp+rax], al
00404e76cmp rax, 0xfffffffffffc1fa8
00404e7dja 0x404e6d
00404e7fsub rsp, 0x3e058
00404e86mov rbp, rsp
00404e89lea rcx, [rbp+72]
00404e8dmov edx, 32768
00404e92xor r8, r8
00404e95call fn_4069b0
00404e9alea rcx, [rbp+0x10050]
00404ea1mov edx, 0x2e000
00404ea6xor r8, r8
00404ea9call fn_4069b0
00404eaelea rcx, [rbp+32840]
00404eb5mov edx, 32768
00404ebaxor r8, r8
00404ebdcall fn_4069b0
00404ec2xor eax, eax
00404ec4mov [rbp+32], eax
00404ec7mov [rbp+0x1004f], 1
00404ecemov rdi, [rip+0x60cab]
00404ed5jmp 0x404f67
00404eda
00404edaloc_404eda:
00404edamov rcx, rdi
00404eddcall fn_404800
00404ee2mov rsi, rax
00404ee5test rsi, rsi
00404ee8je 0x404f62
00404eea
00404eealoc_404eea:
00404eeamov rax, [rsi-8]
00404eeemov rcx, rax
00404ef1test rcx, 1
00404ef8jne 0x404f52
00404efamov rcx, rax
00404efdtest rcx, 4
00404f04je 0x404f13
00404f06mov rcx, rbp
00404f09mov rdx, rsi
00404f0ccall fn_404c60
00404f11jmp 0x404f52
00404f13
00404f13loc_404f13:
00404f13mov ecx, [rbp+32]
00404f16cmp ecx, 4096
00404f1cjge 0x404f52
00404f1emov ebx, eax
00404f20and ebx, -16
00404f23sub ebx, 8
00404f26mov rcx, rsi
00404f29call fn_404bc0
00404f2etest al, al
00404f30jne 0x404f52
00404f32mov [rbp+0x1004f], 0
00404f39mov eax, [rbp+32]
00404f3cmovsxd rax, eax
00404f3fmov ebx, ebx
00404f41mov [rbp+8*rax+32840], rbx
00404f49mov eax, [rbp+32]
00404f4cadd eax, 1
00404f4fmov [rbp+32], eax
00404f52
00404f52loc_404f52:
00404f52mov rcx, rsi
00404f55call fn_4047e0
00404f5amov rsi, rax
00404f5dtest rsi, rsi
00404f60jne 0x404eea
00404f62
00404f62loc_404f62:
00404f62nop
00404f63mov rdi, [rdi+8]
00404f67
00404f67loc_404f67:
00404f67lea rax, [rip+0x60c0a]
00404f6ecmp rdi, rax
00404f71jne 0x404eda
00404f77mov rbx, [rip+0x64cc2]
00404f7ejmp 0x404fbb
00404f80
00404f80loc_404f80:
00404f80lea rcx, [rbx+32]
00404f84call fn_404bc0
00404f89test al, al
00404f8bjne 0x404fb7
00404f8dmov [rbp+0x1004f], 0
00404f94mov rax, [rbx+24]
00404f98and rax, -16
00404f9clea rax, [rax-40]
00404fa0mov ecx, [rbp+32]
00404fa3movsxd rcx, ecx
00404fa6mov [rbp+8*rcx+32840], rax
00404faemov eax, [rbp+32]
00404fb1add eax, 1
00404fb4mov [rbp+32], eax
00404fb7
00404fb7loc_404fb7:
00404fb7mov rbx, [rbx+8]
00404fbb
00404fbbloc_404fbb:
00404fbblea rax, [rip+0x64c76]
00404fc2cmp rbx, rax
00404fc5je 0x404fd2
00404fc7mov eax, [rbp+32]
00404fcacmp eax, 4096
00404fd0jl 0x404f80
00404fd2
00404fd2loc_404fd2:
00404fd2cmp [rbp+0x1004f], 0
00404fd9jne 0x40535e
00404fdfxor eax, eax
00404fe1mov [rbp+39], al
00404fe4xor eax, eax
00404fe6mov [rbp+60], eax
00404fe9mov rcx, [rip+0x54090]
00404ff0call fn_40c580
00404ff5mov rcx, [rip+0x54084]
00404ffclea rdx, [rbp+72]
00405000mov r8l, eax
00405003call fn_4048f0
00405008mov [rbp+40], rax
0040500cmov r14l, 46
00405012lea rsi, [rip+0x540c1]
00405019lea rdi, [rbp+0x11048]
00405020
00405020loc_405020:
00405020movzx ebx, [rsi]
00405023sub ebx, 8
00405026xor eax, eax
00405028mov [rbp+55], al
0040502bmov eax, 255
00405030mov [rbp+56], eax
00405033mov r13, rdi
00405036
00405036loc_405036:
00405036lea rax, [rbp+30791]
0040503dmov rcx, [rbp+40]
00405041cmp rcx, rax
00405044mov [rbp+40], rcx
00405048ja 0x405221
0040504ecmp [r13], 0
00405053jbe 0x405208
00405059movzx rax, [rbp+39]
0040505etest al, al
00405060jne 0x40508a
00405062mov rcx, [rip+0x5401f]
00405069call fn_40c580
0040506emov rcx, [rip+0x54013]
00405075mov rdx, [rbp+40]
00405079mov r8l, eax
0040507ccall fn_4048f0
00405081mov [rbp+40], rax
00405085mov al, 1
00405087mov [rbp+39], al
0040508a
0040508aloc_40508a:
0040508amovzx rax, [rbp+55]
0040508ftest al, al
00405091jne 0x405120
00405097mov rax, [rbp+40]
0040509bmov [rax], 13
0040509eadd rax, 1
004050a2mov [rbp+40], rax
004050a6mov [rax], 10
004050a9add rax, 1
004050admov [rbp+40], rax
004050b1mov ecx, [rbp+60]
004050b4add ecx, 1
004050b7mov ecx, ecx
004050b9mov rdx, [rbp+40]
004050bdcall fn_404880
004050c2mov [rbp+40], rax
004050c6mov [rax], 32
004050c9add rax, 1
004050cdmov [rbp+40], rax
004050d1mov [rax], 45
004050d4add rax, 1
004050d8mov [rbp+40], rax
004050dcmov [rax], 32
004050dfadd rax, 1
004050e3mov [rbp+40], rax
004050e7mov ecx, ebx
004050e9mov rdx, [rbp+40]
004050edcall fn_404880
004050f2mov [rbp+40], rax
004050f6mov rcx, [rip+0x53f9b]
004050fdcall fn_40c580
00405102mov rcx, [rip+0x53f8f]
00405109mov rdx, [rbp+40]
0040510dmov r8l, eax
00405110call fn_4048f0
00405115mov [rbp+40], rax
00405119mov al, 1
0040511bmov [rbp+55], al
0040511ejmp 0x40513a
00405120
00405120loc_405120:
00405120mov rax, [rbp+40]
00405124mov [rax], 44
00405127add rax, 1
0040512bmov [rbp+40], rax
0040512fmov [rax], 32
00405132add rax, 1
00405136mov [rbp+40], rax
0040513a
0040513aloc_40513a:
0040513amov eax, [rbp+56]
0040513dsub eax, 1
00405140cmp eax, -1
00405143je 0x405152
00405145test eax, eax
00405147je 0x405177
00405149sub eax, 1
0040514ctest eax, eax
0040514ejne 0x4051c1
00405150jmp 0x40519c
00405152
00405152loc_405152:
00405152mov rcx, [rip+0x53f47]
00405159call fn_40c580
0040515emov rcx, [rip+0x53f3b]
00405165mov rdx, [rbp+40]
00405169mov r8l, eax
0040516ccall fn_4048f0
00405171mov [rbp+40], rax
00405175jmp 0x4051d2
00405177
00405177loc_405177:
00405177mov rcx, [rip+0x53f2a]
0040517ecall fn_40c580
00405183mov rcx, [rip+0x53f1e]
0040518amov rdx, [rbp+40]
0040518emov r8l, eax
00405191call fn_4048f0
00405196mov [rbp+40], rax
0040519ajmp 0x4051d2
0040519c
0040519cloc_40519c:
0040519cmov rcx, [rip+0x53f0d]
004051a3call fn_40c580
004051a8mov rcx, [rip+0x53f01]
004051afmov rdx, [rbp+40]
004051b3mov r8l, eax
004051b6call fn_4048f0
004051bbmov [rbp+40], rax
004051bfjmp 0x4051d2
004051c1
004051c1loc_4051c1:
004051c1mov rcx, [r13-8]
004051c5mov rdx, [rbp+40]
004051c9call fn_404920
004051cemov [rbp+40], rax
004051d2
004051d2loc_4051d2:
004051d2mov rax, [rbp+40]
004051d6mov [rax], 32
004051d9add rax, 1
004051ddmov [rbp+40], rax
004051e1mov [rax], 120
004051e4add rax, 1
004051e8mov [rbp+40], rax
004051ecmov [rax], 32
004051efadd rax, 1
004051f3mov [rbp+40], rax
004051f7mov ecx, [r13]
004051fbmov rdx, [rbp+40]
004051ffcall fn_404880
00405204mov [rbp+40], rax
00405208
00405208loc_405208:
00405208mov eax, [rbp+56]
0040520bsub eax, 1
0040520emov [rbp+56], eax
00405211sub r13, 16
00405215mov eax, [rbp+56]
00405218cmp eax, -1
0040521bjne 0x405036
00405221
00405221loc_405221:
00405221nop
00405222movzx rax, [rbp+55]
00405227test al, al
00405229jne 0x405241
0040522bcmp [rip+0x54a26], 0
00405232je 0x405241
00405234mov eax, ebx
00405236add eax, 8
00405239test eax, 15
0040523fjne 0x405244
00405241
00405241loc_405241:
00405241mov [rbp+60], ebx
00405244
00405244loc_405244:
00405244add rdi, 4096
0040524badd rsi, 64
0040524fsub r14l, 1
00405253test r14l, r14l
00405256jne 0x405020
0040525cnop
0040525dmov eax, [rbp+32]
00405260test eax, eax
00405262jle 0x40532f
00405268movzx rax, [rbp+39]
0040526dtest al, al
0040526fje 0x4052a1
00405271mov rax, [rbp+40]
00405275mov [rax], 13
00405278add rax, 1
0040527cmov [rbp+40], rax
00405280mov [rax], 10
00405283add rax, 1
00405287mov [rbp+40], rax
0040528bmov [rax], 13
0040528eadd rax, 1
00405292mov [rbp+40], rax
00405296mov [rax], 10
00405299add rax, 1
0040529dmov [rbp+40], rax
004052a1
004052a1loc_4052a1:
004052a1mov rcx, [rip+0x53de8]
004052a8call fn_40c580
004052admov rcx, [rip+0x53ddc]
004052b4mov rdx, [rbp+40]
004052b8mov r8l, eax
004052bbcall fn_4048f0
004052c0mov [rbp+40], rax
004052c4xor eax, eax
004052c6mov esi, [rbp+32]
004052c9sub esi, 1
004052ccmov ebx, eax
004052cecmp ebx, esi
004052d0ja 0x40532e
004052d2sub esi, eax
004052d4add esi, 1
004052d7lea rdi, [rbp+32840]
004052de
004052deloc_4052de:
004052detest ebx, ebx
004052e0je 0x4052fc
004052e2mov rax, [rbp+40]
004052e6mov [rax], 44
004052e9add rax, 1
004052edmov [rbp+40], rax
004052f1mov [rax], 32
004052f4add rax, 1
004052f8mov [rbp+40], rax
004052fc
004052fcloc_4052fc:
004052fcmov rcx, [rdi]
004052ffmov rdx, [rbp+40]
00405303call fn_404880
00405308mov [rbp+40], rax
0040530clea rax, [rbp+30791]
00405313mov rcx, [rbp+40]
00405317cmp rcx, rax
0040531amov [rbp+40], rcx
0040531eja 0x40532e
00405320add ebx, 1
00405323add rdi, 8
00405327sub esi, 1
0040532atest esi, esi
0040532cjne 0x4052de
0040532e
0040532eloc_40532e:
0040532enop
0040532f
0040532floc_40532f:
0040532fmov rcx, [rip+0x53d82]
00405336call fn_40c580
0040533bmov rcx, [rip+0x53d76]
00405342mov rdx, [rbp+40]
00405346mov r8l, eax
00405349call fn_4048f0
0040534elea rcx, [rbp+72]
00405352mov rdx, [rip+0x53d67]
00405359call fn_404700
0040535e
0040535eloc_40535e:
0040535elea rsp, [rbp+0x3e058]
00405365pop rbx
00405366pop rsi
00405367pop rdi
00405368pop r13
0040536apop r14
0040536cpop rbp
0040536dret
00404e60
0040536e
0040536e // align 0x10
0040536e // align 0x10
00405370
00405370fn_405370:
00405370xor edx, edx
00405372xor ecx, ecx
00405374lea r9, [rip+0x53d5f]
0040537b
0040537bloc_40537b:
0040537bcmp [rip+0x548d6], 0
00405382je 0x40538f
00405384movzx rax, [r9]
00405388test ax, 15
0040538djne 0x4053ba
0040538f
0040538floc_40538f:
0040538fmovzx r8l, [r9]
00405393shr r8l, 3
00405397mov al, 4
00405399imul cl
0040539bcmp edx, r8l
0040539ejae 0x4053b6
004053a0
004053a0loc_4053a0:
004053a0lea r10, [rip+0x60685]
004053a7mov r11l, edx
004053aamov [r10+r11], al
004053aeadd edx, 1
004053b1cmp edx, r8l
004053b4jb 0x4053a0
004053b6
004053b6loc_4053b6:
004053b6nop
004053b7mov edx, r8l
004053ba
004053baloc_4053ba:
004053baadd ecx, 1
004053bdadd r9, 64
004053c1cmp ecx, 46
004053c4jne 0x40537b
004053c6nop
004053c7ret
00405370
00405370fn_405370:
00405370xor edx, edx
00405372xor ecx, ecx
00405374lea r9, [rip+0x53d5f]
0040537b
0040537bloc_40537b:
0040537bcmp [rip+0x548d6], 0
00405382je 0x40538f
00405384movzx rax, [r9]
00405388test ax, 15
0040538djne 0x4053ba
0040538f
0040538floc_40538f:
0040538fmovzx r8l, [r9]
00405393shr r8l, 3
00405397mov al, 4
00405399imul cl
0040539bcmp edx, r8l
0040539ejae 0x4053b6
004053a0
004053a0loc_4053a0:
004053a0lea r10, [rip+0x60685]
004053a7mov r11l, edx
004053aamov [r10+r11], al
004053aeadd edx, 1
004053b1cmp edx, r8l
004053b4jb 0x4053a0
004053b6
004053b6loc_4053b6:
004053b6nop
004053b7mov edx, r8l
004053ba
004053baloc_4053ba:
004053baadd ecx, 1
004053bdadd r9, 64
004053c1cmp ecx, 46
004053c4jne 0x40537b
004053c6nop
004053c7ret
00405370
004053c8
004053c8 // align 0x10
004053c8 // align 0x10
004053d0
004053d0fn_4053d0:
004053d0sub rsp, 40
004053d4mov r9l, 46
004053dalea r8, [rip+0x53d27]
004053e1
004053e1loc_4053e1:
004053e1cmp [r8], 0
004053e5jne 0x4053f1
004053e7lea rax, [rip-7246]
004053eemov [r8], rax
004053f1
004053f1loc_4053f1:
004053f1lea rax, [r8-48]
004053f5mov [r8-32], rax
004053f9lea rax, [r8-48]
004053fdmov [r8-40], rax
00405401mov [r8-16], 0
00405409mov [r8-24], 1
00405411movzx eax, [r8-46]
00405416add eax, eax
00405418add eax, eax
0040541alea rax, [rax+2*rax]
0040541eadd eax, 255
00405424and eax, -256
0040542aadd eax, 48
0040542dcmp eax, 2864
00405433jae 0x40543a
00405435mov eax, 2864
0040543a
0040543aloc_40543a:
0040543aadd eax, 1232
00405440shr eax, 13
00405443cmp eax, 7
00405446jbe 0x40544d
00405448mov eax, 7
0040544d
0040544dloc_40544d:
0040544dmov edx, 255
00405452mov ecx, eax
00405454shl edx, cl
00405456mov [r8-47], dl
0040545ashl eax, 13
0040545dadd ax, 2864
00405462mov [r8-44], ax
00405467movzx rcx, [r8-46]
0040546cmovzx eax, cx
0040546fshl eax, 4
00405472lea rax, [rax+2*rax]
00405476add eax, 255
0040547cand eax, -256
00405482add eax, 48
00405485cmp eax, 29488
0040548bjae 0x405492
0040548dmov eax, 29488
00405492
00405492loc_405492:
00405492cmp eax, 65328
00405498jbe 0x40549f
0040549amov eax, 65328
0040549f
0040549floc_40549f:
0040549fsub eax, 48
004054a2movzx r10l, cx
004054a6xor edx, edx
004054a8div r10l
004054abimul ax, cx
004054afadd ax, 255
004054b4and ax, -256
004054b9add ax, 48
004054bdmov [r8-42], ax
004054c2add r8, 64
004054c6sub r9l, 1
004054catest r9l, r9l
004054cdjne 0x4053e1
004054d3nop
004054d4call fn_405370
004054d9lea rax, [rip+0x60698]
004054e0mov [rip+0x60691], rax
004054e7lea rax, [rip+0x6068a]
004054eemov [rip+0x6068b], rax
004054f5mov edx, 1024
004054falea rcx, [rip+0x6072f]
00405501
00405501loc_405501:
00405501mov rax, rcx
00405504mov [rax], rax
00405507mov [rax+8], rax
0040550badd rcx, 16
0040550fsub edx, 1
00405512test edx, edx
00405514jne 0x405501
00405516nop
00405517lea rax, [rip+0x6471a]
0040551emov [rip+0x64713], rax
00405525lea rax, [rip+0x6470c]
0040552cmov [rip+0x6470d], rax
00405533add rsp, 40
00405537ret
004053d0
004053d0fn_4053d0:
004053d0sub rsp, 40
004053d4mov r9l, 46
004053dalea r8, [rip+0x53d27]
004053e1
004053e1loc_4053e1:
004053e1cmp [r8], 0
004053e5jne 0x4053f1
004053e7lea rax, [rip-7246]
004053eemov [r8], rax
004053f1
004053f1loc_4053f1:
004053f1lea rax, [r8-48]
004053f5mov [r8-32], rax
004053f9lea rax, [r8-48]
004053fdmov [r8-40], rax
00405401mov [r8-16], 0
00405409mov [r8-24], 1
00405411movzx eax, [r8-46]
00405416add eax, eax
00405418add eax, eax
0040541alea rax, [rax+2*rax]
0040541eadd eax, 255
00405424and eax, -256
0040542aadd eax, 48
0040542dcmp eax, 2864
00405433jae 0x40543a
00405435mov eax, 2864
0040543a
0040543aloc_40543a:
0040543aadd eax, 1232
00405440shr eax, 13
00405443cmp eax, 7
00405446jbe 0x40544d
00405448mov eax, 7
0040544d
0040544dloc_40544d:
0040544dmov edx, 255
00405452mov ecx, eax
00405454shl edx, cl
00405456mov [r8-47], dl
0040545ashl eax, 13
0040545dadd ax, 2864
00405462mov [r8-44], ax
00405467movzx rcx, [r8-46]
0040546cmovzx eax, cx
0040546fshl eax, 4
00405472lea rax, [rax+2*rax]
00405476add eax, 255
0040547cand eax, -256
00405482add eax, 48
00405485cmp eax, 29488
0040548bjae 0x405492
0040548dmov eax, 29488
00405492
00405492loc_405492:
00405492cmp eax, 65328
00405498jbe 0x40549f
0040549amov eax, 65328
0040549f
0040549floc_40549f:
0040549fsub eax, 48
004054a2movzx r10l, cx
004054a6xor edx, edx
004054a8div r10l
004054abimul ax, cx
004054afadd ax, 255
004054b4and ax, -256
004054b9add ax, 48
004054bdmov [r8-42], ax
004054c2add r8, 64
004054c6sub r9l, 1
004054catest r9l, r9l
004054cdjne 0x4053e1
004054d3nop
004054d4call fn_405370
004054d9lea rax, [rip+0x60698]
004054e0mov [rip+0x60691], rax
004054e7lea rax, [rip+0x6068a]
004054eemov [rip+0x6068b], rax
004054f5mov edx, 1024
004054falea rcx, [rip+0x6072f]
00405501
00405501loc_405501:
00405501mov rax, rcx
00405504mov [rax], rax
00405507mov [rax+8], rax
0040550badd rcx, 16
0040550fsub edx, 1
00405512test edx, edx
00405514jne 0x405501
00405516nop
00405517lea rax, [rip+0x6471a]
0040551emov [rip+0x64713], rax
00405525lea rax, [rip+0x6470c]
0040552cmov [rip+0x6470d], rax
00405533add rsp, 40
00405537ret
004053d0
00405538
00405538 // align 0x10
00405538 // align 0x10
00405540
00405540fn_405540:
00405540push rbx
00405541sub rsp, 32
00405545mov rax, [rip+0x60634]
0040554cjmp 0x405565
0040554e
0040554eloc_40554e:
0040554emov rbx, [rax+8]
00405552mov rcx, rax
00405555xor edx, edx
00405557mov r8l, 32768
0040555dcall VirtualFree
00405562mov rax, rbx
00405565
00405565loc_405565:
00405565lea rcx, [rip+0x6060c]
0040556ccmp rax, rcx
0040556fjne 0x40554e
00405571mov ecx, 46
00405576lea rax, [rip+0x53b5b]
0040557d
0040557dloc_40557d:
0040557dmov [rax+16], rax
00405581mov [rax+8], rax
00405585mov [rax+24], 1
0040558dmov [rax+32], 0
00405595add rax, 64
00405599sub ecx, 1
0040559ctest ecx, ecx
0040559ejne 0x40557d
004055a0nop
004055a1lea rax, [rip+0x605d0]
004055a8mov [rip+0x605c9], rax
004055aflea rax, [rip+0x605c2]
004055b6mov [rip+0x605c3], rax
004055bdmov edx, 1024
004055c2lea rcx, [rip+0x60667]
004055c9
004055c9loc_4055c9:
004055c9mov rax, rcx
004055ccmov [rax], rax
004055cfmov [rax+8], rax
004055d3add rcx, 16
004055d7sub edx, 1
004055datest edx, edx
004055dcjne 0x4055c9
004055denop
004055dfmov [rip+0x605c3], 0
004055e9lea rcx, [rip+0x605c0]
004055f0mov edx, 128
004055f5xor r8, r8
004055f8call fn_4069b0
004055fdmov [rip+0x605a1], 0
00405607mov rax, [rip+0x64632]
0040560ejmp 0x405627
00405610
00405610loc_405610:
00405610mov rbx, [rax+8]
00405614mov rcx, rax
00405617xor edx, edx
00405619mov r8l, 32768
0040561fcall VirtualFree
00405624mov rax, rbx
00405627
00405627loc_405627:
00405627lea rcx, [rip+0x6460a]
0040562ecmp rax, rcx
00405631jne 0x405610
00405633lea rax, [rip+0x645fe]
0040563amov [rip+0x645f7], rax
00405641lea rax, [rip+0x645f0]
00405648mov [rip+0x645f1], rax
0040564fadd rsp, 32
00405653pop rbx
00405654ret
00405540
00405540fn_405540:
00405540push rbx
00405541sub rsp, 32
00405545mov rax, [rip+0x60634]
0040554cjmp 0x405565
0040554e
0040554eloc_40554e:
0040554emov rbx, [rax+8]
00405552mov rcx, rax
00405555xor edx, edx
00405557mov r8l, 32768
0040555dcall VirtualFree
00405562mov rax, rbx
00405565
00405565loc_405565:
00405565lea rcx, [rip+0x6060c]
0040556ccmp rax, rcx
0040556fjne 0x40554e
00405571mov ecx, 46
00405576lea rax, [rip+0x53b5b]
0040557d
0040557dloc_40557d:
0040557dmov [rax+16], rax
00405581mov [rax+8], rax
00405585mov [rax+24], 1
0040558dmov [rax+32], 0
00405595add rax, 64
00405599sub ecx, 1
0040559ctest ecx, ecx
0040559ejne 0x40557d
004055a0nop
004055a1lea rax, [rip+0x605d0]
004055a8mov [rip+0x605c9], rax
004055aflea rax, [rip+0x605c2]
004055b6mov [rip+0x605c3], rax
004055bdmov edx, 1024
004055c2lea rcx, [rip+0x60667]
004055c9
004055c9loc_4055c9:
004055c9mov rax, rcx
004055ccmov [rax], rax
004055cfmov [rax+8], rax
004055d3add rcx, 16
004055d7sub edx, 1
004055datest edx, edx
004055dcjne 0x4055c9
004055denop
004055dfmov [rip+0x605c3], 0
004055e9lea rcx, [rip+0x605c0]
004055f0mov edx, 128
004055f5xor r8, r8
004055f8call fn_4069b0
004055fdmov [rip+0x605a1], 0
00405607mov rax, [rip+0x64632]
0040560ejmp 0x405627
00405610
00405610loc_405610:
00405610mov rbx, [rax+8]
00405614mov rcx, rax
00405617xor edx, edx
00405619mov r8l, 32768
0040561fcall VirtualFree
00405624mov rax, rbx
00405627
00405627loc_405627:
00405627lea rcx, [rip+0x6460a]
0040562ecmp rax, rcx
00405631jne 0x405610
00405633lea rax, [rip+0x645fe]
0040563amov [rip+0x645f7], rax
00405641lea rax, [rip+0x645f0]
00405648mov [rip+0x645f1], rax
0040564fadd rsp, 32
00405653pop rbx
00405654ret
00405540
00405655
00405655 // align 0x10
00405655 // align 0x10
00405660
00405660fn_405660:
00405660sub rsp, 40
00405664cmp [rip+0x645fc], 0
0040566cje 0x405685
0040566emov rcx, [rip+0x645f3]
00405675call CloseHandle
0040567amov [rip+0x645e3], 0
00405685
00405685loc_405685:
00405685cmp [rip+0x60398], 0
0040568cje 0x405693
0040568ecall fn_404e60
00405693
00405693loc_405693:
00405693cmp [rip+0x645bd], 0
0040569bje 0x4056bc
0040569dmov rcx, [rip+0x645b4]
004056a4xor edx, edx
004056a6mov r8l, 32768
004056accall VirtualFree
004056b1mov [rip+0x6459c], 0
004056bc
004056bcloc_4056bc:
004056bccall fn_405540
004056c1add rsp, 40
004056c5ret
00405660
00405660fn_405660:
00405660sub rsp, 40
00405664cmp [rip+0x645fc], 0
0040566cje 0x405685
0040566emov rcx, [rip+0x645f3]
00405675call CloseHandle
0040567amov [rip+0x645e3], 0
00405685
00405685loc_405685:
00405685cmp [rip+0x60398], 0
0040568cje 0x405693
0040568ecall fn_404e60
00405693
00405693loc_405693:
00405693cmp [rip+0x645bd], 0
0040569bje 0x4056bc
0040569dmov rcx, [rip+0x645b4]
004056a4xor edx, edx
004056a6mov r8l, 32768
004056accall VirtualFree
004056b1mov [rip+0x6459c], 0
004056bc
004056bcloc_4056bc:
004056bccall fn_405540
004056c1add rsp, 40
004056c5ret
00405660
004056c6
004056c6 // align 0x10
004056c6 // align 0x10
004056d0
004056d0fn_4056d0:
004056d0push rbx
004056d1sub rsp, 32
004056d5test rcx, rcx
004056d8jle 0x4056f1
004056dacall [rip+0x54598]
004056e0mov rbx, rax
004056e3test rbx, rbx
004056e6jne 0x4056f3
004056e8mov cl, 1
004056eacall fn_405a20
004056efjmp 0x4056f3
004056f1
004056f1loc_4056f1:
004056f1xor ebx, ebx
004056f3
004056f3loc_4056f3:
004056f3mov rax, rbx
004056f6add rsp, 32
004056fapop rbx
004056fbret
004056d0
004056d0fn_4056d0:
004056d0push rbx
004056d1sub rsp, 32
004056d5test rcx, rcx
004056d8jle 0x4056f1
004056dacall [rip+0x54598]
004056e0mov rbx, rax
004056e3test rbx, rbx
004056e6jne 0x4056f3
004056e8mov cl, 1
004056eacall fn_405a20
004056efjmp 0x4056f3
004056f1
004056f1loc_4056f1:
004056f1xor ebx, ebx
004056f3
004056f3loc_4056f3:
004056f3mov rax, rbx
004056f6add rsp, 32
004056fapop rbx
004056fbret
004056d0
004056fc
004056fc // align 0x10
004056fc // align 0x10
00405700
00405700fn_405700:
00405700push rbx
00405701sub rsp, 32
00405705test rcx, rcx
00405708jg 0x40570e
0040570axor ebx, ebx
0040570cjmp 0x405723
0040570e
0040570eloc_40570e:
0040570ecall [rip+0x5454c]
00405714mov rbx, rax
00405717test rbx, rbx
0040571ajne 0x405723
0040571cmov cl, 1
0040571ecall fn_405a20
00405723
00405723loc_405723:
00405723mov rax, rbx
00405726add rsp, 32
0040572apop rbx
0040572bret
00405700
00405700fn_405700:
00405700push rbx
00405701sub rsp, 32
00405705test rcx, rcx
00405708jg 0x40570e
0040570axor ebx, ebx
0040570cjmp 0x405723
0040570e
0040570eloc_40570e:
0040570ecall [rip+0x5454c]
00405714mov rbx, rax
00405717test rbx, rbx
0040571ajne 0x405723
0040571cmov cl, 1
0040571ecall fn_405a20
00405723
00405723loc_405723:
00405723mov rax, rbx
00405726add rsp, 32
0040572apop rbx
0040572bret
00405700
0040572c
0040572c // align 0x10
0040572c // align 0x10
00405730
00405730fn_405730:
00405730push rbx
00405731sub rsp, 32
00405735test rcx, rcx
00405738jne 0x40573e
0040573axor ebx, ebx
0040573cjmp 0x405751
0040573e
0040573eloc_40573e:
0040573ecall [rip+0x54524]
00405744mov ebx, eax
00405746test ebx, ebx
00405748je 0x405751
0040574amov cl, 2
0040574ccall fn_405a20
00405751
00405751loc_405751:
00405751mov eax, ebx
00405753add rsp, 32
00405757pop rbx
00405758ret
00405730
00405730fn_405730:
00405730push rbx
00405731sub rsp, 32
00405735test rcx, rcx
00405738jne 0x40573e
0040573axor ebx, ebx
0040573cjmp 0x405751
0040573e
0040573eloc_40573e:
0040573ecall [rip+0x54524]
00405744mov ebx, eax
00405746test ebx, ebx
00405748je 0x405751
0040574amov cl, 2
0040574ccall fn_405a20
00405751
00405751loc_405751:
00405751mov eax, ebx
00405753add rsp, 32
00405757pop rbx
00405758ret
00405730
00405759
00405759 // align 0x10
00405759 // align 0x10
00405760
00405760fn_405760:
00405760push rsi
00405761push rbx
00405762sub rsp, 40
00405766mov rbx, rcx
00405769cmp [rbx], 0
0040576dje 0x4057a9
0040576ftest rdx, rdx
00405772jle 0x40578e
00405774mov rcx, [rbx]
00405777call [rip+0x544f3]
0040577dmov rsi, rax
00405780test rsi, rsi
00405783jne 0x4057a4
00405785mov cl, 1
00405787call fn_405a20
0040578cjmp 0x4057a4
0040578e
0040578eloc_40578e:
0040578emov rcx, [rbx]
00405791call [rip+0x544d1]
00405797test eax, eax
00405799je 0x4057a2
0040579bmov cl, 2
0040579dcall fn_405a20
004057a2
004057a2loc_4057a2:
004057a2xor esi, esi
004057a4
004057a4loc_4057a4:
004057a4mov [rbx], rsi
004057a7jmp 0x4057cd
004057a9
004057a9loc_4057a9:
004057a9test rdx, rdx
004057acjg 0x4057b2
004057aexor esi, esi
004057b0jmp 0x4057cd
004057b2
004057b2loc_4057b2:
004057b2mov rcx, rdx
004057b5call [rip+0x544a5]
004057bbmov rsi, rax
004057betest rsi, rsi
004057c1jne 0x4057ca
004057c3mov cl, 1
004057c5call fn_405a20
004057ca
004057caloc_4057ca:
004057camov [rbx], rsi
004057cd
004057cdloc_4057cd:
004057cdmov rax, rsi
004057d0add rsp, 40
004057d4pop rbx
004057d5pop rsi
004057d6ret
00405760
00405760fn_405760:
00405760push rsi
00405761push rbx
00405762sub rsp, 40
00405766mov rbx, rcx
00405769cmp [rbx], 0
0040576dje 0x4057a9
0040576ftest rdx, rdx
00405772jle 0x40578e
00405774mov rcx, [rbx]
00405777call [rip+0x544f3]
0040577dmov rsi, rax
00405780test rsi, rsi
00405783jne 0x4057a4
00405785mov cl, 1
00405787call fn_405a20
0040578cjmp 0x4057a4
0040578e
0040578eloc_40578e:
0040578emov rcx, [rbx]
00405791call [rip+0x544d1]
00405797test eax, eax
00405799je 0x4057a2
0040579bmov cl, 2
0040579dcall fn_405a20
004057a2
004057a2loc_4057a2:
004057a2xor esi, esi
004057a4
004057a4loc_4057a4:
004057a4mov [rbx], rsi
004057a7jmp 0x4057cd
004057a9
004057a9loc_4057a9:
004057a9test rdx, rdx
004057acjg 0x4057b2
004057aexor esi, esi
004057b0jmp 0x4057cd
004057b2
004057b2loc_4057b2:
004057b2mov rcx, rdx
004057b5call [rip+0x544a5]
004057bbmov rsi, rax
004057betest rsi, rsi
004057c1jne 0x4057ca
004057c3mov cl, 1
004057c5call fn_405a20
004057ca
004057caloc_4057ca:
004057camov [rbx], rsi
004057cd
004057cdloc_4057cd:
004057cdmov rax, rsi
004057d0add rsp, 40
004057d4pop rbx
004057d5pop rsi
004057d6ret
00405760
004057d7
004057d7 // align 0x10
004057d7 // align 0x10
004057e0
004057e0fn_4057e0:
004057e0push rbp
004057e1push rdi
004057e2push rsi
004057e3push rbx
004057e4sub rsp, 40
004057e8mov rbp, rsp
004057ebxor esi, esi
004057edxor ebx, ebx
004057ef
004057efloc_4057ef:
004057efcall fn_414a40
004057f4movsxd rdi, ebx
004057f7lea rcx, [0x0]
004057fflea rax, [rax+rcx+24]
00405804mov rcx, rdi
00405807add rcx, rcx
0040580aadd rcx, rcx
0040580dcmp [rax+8*rcx], 0
00405811jne 0x405830
00405813call fn_414a40
00405818lea rcx, [0x0]
00405820lea rax, [rax+rcx]
00405824add rdi, rdi
00405827add rdi, rdi
0040582alea rsi, [rax+8*rdi]
0040582ejmp 0x405838
00405830
00405830loc_405830:
00405830add ebx, 1
00405833cmp ebx, 16
00405836jne 0x4057ef
00405838
00405838loc_405838:
00405838nop
00405839test rsi, rsi
0040583cjne 0x40584c
0040583emov ecx, 231
00405843mov rdx, [rbp+72]
00405847call fn_4059a0
0040584c
0040584cloc_40584c:
0040584cmov [rsi+24], 1
00405850call fn_414a40
00405855lea rcx, [0x200]
0040585dlea rax, [rax+rcx]
00405861add [rax], 1
00405864mov [rsi], 0
0040586bmov [rsi+16], 0
00405873mov [rsi+8], 0
0040587bmov rax, rsi
0040587elea rsp, [rbp+40]
00405882pop rbx
00405883pop rsi
00405884pop rdi
00405885pop rbp
00405886ret
004057e0
004057e0fn_4057e0:
004057e0push rbp
004057e1push rdi
004057e2push rsi
004057e3push rbx
004057e4sub rsp, 40
004057e8mov rbp, rsp
004057ebxor esi, esi
004057edxor ebx, ebx
004057ef
004057efloc_4057ef:
004057efcall fn_414a40
004057f4movsxd rdi, ebx
004057f7lea rcx, [0x0]
004057fflea rax, [rax+rcx+24]
00405804mov rcx, rdi
00405807add rcx, rcx
0040580aadd rcx, rcx
0040580dcmp [rax+8*rcx], 0
00405811jne 0x405830
00405813call fn_414a40
00405818lea rcx, [0x0]
00405820lea rax, [rax+rcx]
00405824add rdi, rdi
00405827add rdi, rdi
0040582alea rsi, [rax+8*rdi]
0040582ejmp 0x405838
00405830
00405830loc_405830:
00405830add ebx, 1
00405833cmp ebx, 16
00405836jne 0x4057ef
00405838
00405838loc_405838:
00405838nop
00405839test rsi, rsi
0040583cjne 0x40584c
0040583emov ecx, 231
00405843mov rdx, [rbp+72]
00405847call fn_4059a0
0040584c
0040584cloc_40584c:
0040584cmov [rsi+24], 1
00405850call fn_414a40
00405855lea rcx, [0x200]
0040585dlea rax, [rax+rcx]
00405861add [rax], 1
00405864mov [rsi], 0
0040586bmov [rsi+16], 0
00405873mov [rsi+8], 0
0040587bmov rax, rsi
0040587elea rsp, [rbp+40]
00405882pop rbx
00405883pop rsi
00405884pop rdi
00405885pop rbp
00405886ret
004057e0
00405887
00405887 // align 0x10
00405887 // align 0x10
00405890
00405890fn_405890:
00405890push rsi
00405891push rbx
00405892sub rsp, 40
00405896mov rbx, rcx
00405899mov rsi, rbx
0040589ccall fn_414a40
004058a1lea rcx, [0x0]
004058a9lea rax, [rax+rcx]
004058adcmp rsi, rax
004058b0jb 0x4058e4
004058b2call fn_414a40
004058b7lea rcx, [0x0]
004058bflea rax, [rax+rcx+480]
004058c7cmp rsi, rax
004058caja 0x4058e4
004058ccmov [rbx+24], 0
004058d0call fn_414a40
004058d5lea rcx, [0x200]
004058ddlea rax, [rax+rcx]
004058e1sub [rax], 1
004058e4
004058e4loc_4058e4:
004058e4add rsp, 40
004058e8pop rbx
004058e9pop rsi
004058earet
00405890
00405890fn_405890:
00405890push rsi
00405891push rbx
00405892sub rsp, 40
00405896mov rbx, rcx
00405899mov rsi, rbx
0040589ccall fn_414a40
004058a1lea rcx, [0x0]
004058a9lea rax, [rax+rcx]
004058adcmp rsi, rax
004058b0jb 0x4058e4
004058b2call fn_414a40
004058b7lea rcx, [0x0]
004058bflea rax, [rax+rcx+480]
004058c7cmp rsi, rax
004058caja 0x4058e4
004058ccmov [rbx+24], 0
004058d0call fn_414a40
004058d5lea rcx, [0x200]
004058ddlea rax, [rax+rcx]
004058e1sub [rax], 1
004058e4
004058e4loc_4058e4:
004058e4add rsp, 40
004058e8pop rbx
004058e9pop rsi
004058earet
00405890
004058eb
004058eb // align 0x10
004058eb // align 0x10
004058f0
004058f0fn_4058f0:
004058f0sub rsp, 40
004058f4call fn_414a40
004058f9mov rax, [rax+520]
00405900test rax, rax
00405903je 0x40590b
00405905mov rax, [rax+16]
00405909jmp 0x40590d
0040590b
0040590bloc_40590b:
0040590bxor eax, eax
0040590d
0040590dloc_40590d:
0040590dadd rsp, 40
00405911ret
004058f0
004058f0fn_4058f0:
004058f0sub rsp, 40
004058f4call fn_414a40
004058f9mov rax, [rax+520]
00405900test rax, rax
00405903je 0x40590b
00405905mov rax, [rax+16]
00405909jmp 0x40590d
0040590b
0040590bloc_40590b:
0040590bxor eax, eax
0040590d
0040590dloc_40590d:
0040590dadd rsp, 40
00405911ret
004058f0
00405912
00405912 // align 0x10
00405912 // align 0x10
00405920
00405920fn_405920:
00405920sub rsp, 40
00405924call fn_414a40
00405929mov rax, [rax+520]
00405930test rax, rax
00405933je 0x40593b
00405935mov rax, [rax+8]
00405939jmp 0x40593d
0040593b
0040593bloc_40593b:
0040593bxor eax, eax
0040593d
0040593dloc_40593d:
0040593dadd rsp, 40
00405941ret
00405920
00405920fn_405920:
00405920sub rsp, 40
00405924call fn_414a40
00405929mov rax, [rax+520]
00405930test rax, rax
00405933je 0x40593b
00405935mov rax, [rax+8]
00405939jmp 0x40593d
0040593b
0040593bloc_40593b:
0040593bxor eax, eax
0040593d
0040593dloc_40593d:
0040593dadd rsp, 40
00405941ret
00405920
00405942
00405942 // align 0x10
00405942 // align 0x10
00405950
00405950fn_405950:
00405950push rbx
00405951sub rsp, 32
00405955call fn_414a40
0040595amov rax, [rax+520]
00405961test rax, rax
00405964je 0x405987
00405966mov rbx, [rax+16]
0040596amov [rax+16], 0
00405972cmp [rip+0x5f6ce], 0
0040597aje 0x405989
0040597cmov rcx, rbx
0040597fcall [rip+0x5f6c3]
00405985jmp 0x405989
00405987
00405987loc_405987:
00405987xor ebx, ebx
00405989
00405989loc_405989:
00405989mov rax, rbx
0040598cadd rsp, 32
00405990pop rbx
00405991ret
00405950
00405950fn_405950:
00405950push rbx
00405951sub rsp, 32
00405955call fn_414a40
0040595amov rax, [rax+520]
00405961test rax, rax
00405964je 0x405987
00405966mov rbx, [rax+16]
0040596amov [rax+16], 0
00405972cmp [rip+0x5f6ce], 0
0040597aje 0x405989
0040597cmov rcx, rbx
0040597fcall [rip+0x5f6c3]
00405985jmp 0x405989
00405987
00405987loc_405987:
00405987xor ebx, ebx
00405989
00405989loc_405989:
00405989mov rax, rbx
0040598cadd rsp, 32
00405990pop rbx
00405991ret
00405950
00405992
00405992 // align 0x10
00405992 // align 0x10
004059a0
004059a0fn_4059a0:
004059a0sub rsp, 40
004059a4mov [rip+0x5365d], rdx
004059abcall fn_40ba10
004059b0add rsp, 40
004059b4ret
004059a0
004059a0fn_4059a0:
004059a0sub rsp, 40
004059a4mov [rip+0x5365d], rdx
004059abcall fn_40ba10
004059b0add rsp, 40
004059b4ret
004059a0
004059b5
004059b5 // align 0x10
004059b5 // align 0x10
004059c0
004059c0fn_4059c0:
004059c0push rsi
004059c1push rbx
004059c2sub rsp, 40
004059c6mov ebx, ecx
004059c8mov rsi, rdx
004059cband bl, 127
004059cecmp [rip+0x5f642], 0
004059d6je 0x4059e3
004059d8mov ecx, ebx
004059damov rdx, rsi
004059ddcall [rip+0x5f635]
004059e3
004059e3loc_4059e3:
004059e3test bl, bl
004059e5jne 0x4059f6
004059e7call fn_414a40
004059ecmovzx rbx, [rax+528]
004059f4jmp 0x405a0b
004059f6
004059f6loc_4059f6:
004059f6cmp bl, 28
004059f9ja 0x405a0b
004059fblea rax, [rip+0x5443a]
00405a02movzx rbx, bl
00405a06movzx rbx, [rax+rbx]
00405a0b
00405a0bloc_405a0b:
00405a0bmovzx rcx, bl
00405a0fmov rdx, rsi
00405a12call fn_4059a0
00405a17add rsp, 40
00405a1bpop rbx
00405a1cpop rsi
00405a1dret
004059c0
004059c0fn_4059c0:
004059c0push rsi
004059c1push rbx
004059c2sub rsp, 40
004059c6mov ebx, ecx
004059c8mov rsi, rdx
004059cband bl, 127
004059cecmp [rip+0x5f642], 0
004059d6je 0x4059e3
004059d8mov ecx, ebx
004059damov rdx, rsi
004059ddcall [rip+0x5f635]
004059e3
004059e3loc_4059e3:
004059e3test bl, bl
004059e5jne 0x4059f6
004059e7call fn_414a40
004059ecmovzx rbx, [rax+528]
004059f4jmp 0x405a0b
004059f6
004059f6loc_4059f6:
004059f6cmp bl, 28
004059f9ja 0x405a0b
004059fblea rax, [rip+0x5443a]
00405a02movzx rbx, bl
00405a06movzx rbx, [rax+rbx]
00405a0b
00405a0bloc_405a0b:
00405a0bmovzx rcx, bl
00405a0fmov rdx, rsi
00405a12call fn_4059a0
00405a17add rsp, 40
00405a1bpop rbx
00405a1cpop rsi
00405a1dret
004059c0
00405a1e
00405a1e // align 0x10
00405a1e // align 0x10
00405a20
00405a20fn_405a20:
00405a20push rbp
00405a21sub rsp, 32
00405a25mov rbp, rsp
00405a28mov rdx, [rbp+40]
00405a2ccall fn_4059c0
00405a31lea rsp, [rbp+32]
00405a35pop rbp
00405a36ret
00405a20
00405a20fn_405a20:
00405a20push rbp
00405a21sub rsp, 32
00405a25mov rbp, rsp
00405a28mov rdx, [rbp+40]
00405a2ccall fn_4059c0
00405a31lea rsp, [rbp+32]
00405a35pop rbp
00405a36ret
00405a20
00405a37
00405a37 // align 0x10
00405a37 // align 0x10
00405a40
00405a40fn_405a40:
00405a40push rbp
00405a41sub rsp, 32
00405a45mov rbp, rsp
00405a48call fn_414a40
00405a4dcmp [rax+528], 0
00405a54je 0x405a61
00405a56xor ecx, ecx
00405a58mov rdx, [rbp+40]
00405a5ccall fn_4059c0
00405a61
00405a61loc_405a61:
00405a61lea rsp, [rbp+32]
00405a65pop rbp
00405a66ret
00405a40
00405a40fn_405a40:
00405a40push rbp
00405a41sub rsp, 32
00405a45mov rbp, rsp
00405a48call fn_414a40
00405a4dcmp [rax+528], 0
00405a54je 0x405a61
00405a56xor ecx, ecx
00405a58mov rdx, [rbp+40]
00405a5ccall fn_4059c0
00405a61
00405a61loc_405a61:
00405a61lea rsp, [rbp+32]
00405a65pop rbp
00405a66ret
00405a40
00405a67
00405a67 // align 0x10
00405a67 // align 0x10
00405a70
00405a70fn_405a70:
00405a70push rbx
00405a71sub rsp, 32
00405a75mov ebx, ecx
00405a77call fn_414a40
00405a7cmov [rax+528], ebx
00405a82add rsp, 32
00405a86pop rbx
00405a87ret
00405a70
00405a70fn_405a70:
00405a70push rbx
00405a71sub rsp, 32
00405a75mov ebx, ecx
00405a77call fn_414a40
00405a7cmov [rax+528], ebx
00405a82add rsp, 32
00405a86pop rbx
00405a87ret
00405a70
00405a88
00405a88 // align 0x10
00405a88 // align 0x10
00405a90
00405a90fn_405a90:
00405a90push rbx
00405a91sub rsp, 32
00405a95call fn_414a40
00405a9amov ebx, [rax+528]
00405aa0call fn_414a40
00405aa5mov [rax+528], 0
00405aafmov eax, ebx
00405ab1add rsp, 32
00405ab5pop rbx
00405ab6ret
00405a90
00405a90fn_405a90:
00405a90push rbx
00405a91sub rsp, 32
00405a95call fn_414a40
00405a9amov ebx, [rax+528]
00405aa0call fn_414a40
00405aa5mov [rax+528], 0
00405aafmov eax, ebx
00405ab1add rsp, 32
00405ab5pop rbx
00405ab6ret
00405a90
00405ab7
00405ab7 // align 0x10
00405ab7 // align 0x10
00405ac0
00405ac0fn_405ac0:
00405ac0cmp rcx, rdx
00405ac3je 0x405c7d
00405ac9cmp r8, 8
00405acdjg 0x405c1d
00405ad3cmp r8l, 5
00405ad7jg 0x405b0d
00405ad9cmp r8l, 5
00405addje 0x405b86
00405ae3sub r8l, 1
00405ae7test r8l, r8l
00405aeaje 0x405b39
00405aecsub r8l, 1
00405af0test r8l, r8l
00405af3je 0x405b44
00405af5sub r8l, 1
00405af9test r8l, r8l
00405afcje 0x405b50
00405afesub r8l, 1
00405b02test r8l, r8l
00405b05jne 0x405c7d
00405b0bjmp 0x405b7d
00405b0d
00405b0dloc_405b0d:
00405b0dsub r8l, 6
00405b11test r8l, r8l
00405b14je 0x405bad
00405b1asub r8l, 1
00405b1etest r8l, r8l
00405b21je 0x405bd6
00405b27sub r8l, 1
00405b2btest r8l, r8l
00405b2ejne 0x405c7d
00405b34jmp 0x405c15
00405b39
00405b39loc_405b39:
00405b39movzx rax, [rcx]
00405b3dmov [rdx], al
00405b3fjmp 0x405c7d
00405b44
00405b44loc_405b44:
00405b44movzx rax, [rcx]
00405b48mov [rdx], ax
00405b4bjmp 0x405c7d
00405b50
00405b50loc_405b50:
00405b50cmp rdx, rcx
00405b53jbe 0x405b69
00405b55movzx rax, [rcx+2]
00405b5amov [rdx+2], al
00405b5dmovzx rax, [rcx]
00405b61mov [rdx], ax
00405b64jmp 0x405c7d
00405b69
00405b69loc_405b69:
00405b69movzx rax, [rcx]
00405b6dmov [rdx], ax
00405b70movzx rax, [rcx+2]
00405b75mov [rdx+2], al
00405b78jmp 0x405c7d
00405b7d
00405b7dloc_405b7d:
00405b7dmov eax, [rcx]
00405b7fmov [rdx], eax
00405b81jmp 0x405c7d
00405b86
00405b86loc_405b86:
00405b86cmp rdx, rcx
00405b89jbe 0x405b9c
00405b8bmovzx rax, [rcx+4]
00405b90mov [rdx+4], al
00405b93mov eax, [rcx]
00405b95mov [rdx], eax
00405b97jmp 0x405c7d
00405b9c
00405b9cloc_405b9c:
00405b9cmov eax, [rcx]
00405b9emov [rdx], eax
00405ba0movzx rax, [rcx+4]
00405ba5mov [rdx+4], al
00405ba8jmp 0x405c7d
00405bad
00405badloc_405bad:
00405badcmp rdx, rcx
00405bb0jbe 0x405bc4
00405bb2movzx rax, [rcx+4]
00405bb7mov [rdx+4], ax
00405bbbmov eax, [rcx]
00405bbdmov [rdx], eax
00405bbfjmp 0x405c7d
00405bc4
00405bc4loc_405bc4:
00405bc4mov eax, [rcx]
00405bc6mov [rdx], eax
00405bc8movzx rax, [rcx+4]
00405bcdmov [rdx+4], ax
00405bd1jmp 0x405c7d
00405bd6
00405bd6loc_405bd6:
00405bd6cmp rdx, rcx
00405bd9jbe 0x405bf5
00405bdbmovzx rax, [rcx+6]
00405be0mov [rdx+6], al
00405be3movzx rax, [rcx+4]
00405be8mov [rdx+4], ax
00405becmov eax, [rcx]
00405beemov [rdx], eax
00405bf0jmp 0x405c7d
00405bf5
00405bf5loc_405bf5:
00405bf5mov rax, rcx
00405bf8mov r8, rdx
00405bfbmov r9l, [rax]
00405bfemov [r8], r9l
00405c01movzx rax, [rax+4]
00405c06mov [r8+4], ax
00405c0bmovzx rax, [rcx+6]
00405c10mov [rdx+6], al
00405c13jmp 0x405c7d
00405c15
00405c15loc_405c15:
00405c15mov rax, [rcx]
00405c18mov [rdx], rax
00405c1bjmp 0x405c7d
00405c1d
00405c1dloc_405c1d:
00405c1dcmp rdx, rcx
00405c20jbe 0x405c53
00405c22mov r9, [rcx]
00405c25mov rax, rdx
00405c28lea r10, [r8-8]
00405c2clea rdx, [rdx+r10]
00405c30add rcx, r10
00405c33
00405c33loc_405c33:
00405c33mov r10, [rcx]
00405c36mov [rdx], r10
00405c39cmp r8, 16
00405c3djle 0x405c4d
00405c3fsub r8, 8
00405c43sub rcx, 8
00405c47sub rdx, 8
00405c4bjmp 0x405c33
00405c4d
00405c4dloc_405c4d:
00405c4dnop
00405c4emov [rax], r9
00405c51jmp 0x405c7d
00405c53
00405c53loc_405c53:
00405c53lea r10, [r8-8]
00405c57mov r9, [rcx+r10]
00405c5blea rax, [rdx+r10]
00405c5f
00405c5floc_405c5f:
00405c5fmov r10, [rcx]
00405c62mov [rdx], r10
00405c65cmp r8, 16
00405c69jle 0x405c79
00405c6bsub r8, 8
00405c6fadd rcx, 8
00405c73add rdx, 8
00405c77jmp 0x405c5f
00405c79
00405c79loc_405c79:
00405c79nop
00405c7amov [rax], r9
00405c7d
00405c7dloc_405c7d:
00405c7dret
00405ac0
00405ac0fn_405ac0:
00405ac0cmp rcx, rdx
00405ac3je 0x405c7d
00405ac9cmp r8, 8
00405acdjg 0x405c1d
00405ad3cmp r8l, 5
00405ad7jg 0x405b0d
00405ad9cmp r8l, 5
00405addje 0x405b86
00405ae3sub r8l, 1
00405ae7test r8l, r8l
00405aeaje 0x405b39
00405aecsub r8l, 1
00405af0test r8l, r8l
00405af3je 0x405b44
00405af5sub r8l, 1
00405af9test r8l, r8l
00405afcje 0x405b50
00405afesub r8l, 1
00405b02test r8l, r8l
00405b05jne 0x405c7d
00405b0bjmp 0x405b7d
00405b0d
00405b0dloc_405b0d:
00405b0dsub r8l, 6
00405b11test r8l, r8l
00405b14je 0x405bad
00405b1asub r8l, 1
00405b1etest r8l, r8l
00405b21je 0x405bd6
00405b27sub r8l, 1
00405b2btest r8l, r8l
00405b2ejne 0x405c7d
00405b34jmp 0x405c15
00405b39
00405b39loc_405b39:
00405b39movzx rax, [rcx]
00405b3dmov [rdx], al
00405b3fjmp 0x405c7d
00405b44
00405b44loc_405b44:
00405b44movzx rax, [rcx]
00405b48mov [rdx], ax
00405b4bjmp 0x405c7d
00405b50
00405b50loc_405b50:
00405b50cmp rdx, rcx
00405b53jbe 0x405b69
00405b55movzx rax, [rcx+2]
00405b5amov [rdx+2], al
00405b5dmovzx rax, [rcx]
00405b61mov [rdx], ax
00405b64jmp 0x405c7d
00405b69
00405b69loc_405b69:
00405b69movzx rax, [rcx]
00405b6dmov [rdx], ax
00405b70movzx rax, [rcx+2]
00405b75mov [rdx+2], al
00405b78jmp 0x405c7d
00405b7d
00405b7dloc_405b7d:
00405b7dmov eax, [rcx]
00405b7fmov [rdx], eax
00405b81jmp 0x405c7d
00405b86
00405b86loc_405b86:
00405b86cmp rdx, rcx
00405b89jbe 0x405b9c
00405b8bmovzx rax, [rcx+4]
00405b90mov [rdx+4], al
00405b93mov eax, [rcx]
00405b95mov [rdx], eax
00405b97jmp 0x405c7d
00405b9c
00405b9cloc_405b9c:
00405b9cmov eax, [rcx]
00405b9emov [rdx], eax
00405ba0movzx rax, [rcx+4]
00405ba5mov [rdx+4], al
00405ba8jmp 0x405c7d
00405bad
00405badloc_405bad:
00405badcmp rdx, rcx
00405bb0jbe 0x405bc4
00405bb2movzx rax, [rcx+4]
00405bb7mov [rdx+4], ax
00405bbbmov eax, [rcx]
00405bbdmov [rdx], eax
00405bbfjmp 0x405c7d
00405bc4
00405bc4loc_405bc4:
00405bc4mov eax, [rcx]
00405bc6mov [rdx], eax
00405bc8movzx rax, [rcx+4]
00405bcdmov [rdx+4], ax
00405bd1jmp 0x405c7d
00405bd6
00405bd6loc_405bd6:
00405bd6cmp rdx, rcx
00405bd9jbe 0x405bf5
00405bdbmovzx rax, [rcx+6]
00405be0mov [rdx+6], al
00405be3movzx rax, [rcx+4]
00405be8mov [rdx+4], ax
00405becmov eax, [rcx]
00405beemov [rdx], eax
00405bf0jmp 0x405c7d
00405bf5
00405bf5loc_405bf5:
00405bf5mov rax, rcx
00405bf8mov r8, rdx
00405bfbmov r9l, [rax]
00405bfemov [r8], r9l
00405c01movzx rax, [rax+4]
00405c06mov [r8+4], ax
00405c0bmovzx rax, [rcx+6]
00405c10mov [rdx+6], al
00405c13jmp 0x405c7d
00405c15
00405c15loc_405c15:
00405c15mov rax, [rcx]
00405c18mov [rdx], rax
00405c1bjmp 0x405c7d
00405c1d
00405c1dloc_405c1d:
00405c1dcmp rdx, rcx
00405c20jbe 0x405c53
00405c22mov r9, [rcx]
00405c25mov rax, rdx
00405c28lea r10, [r8-8]
00405c2clea rdx, [rdx+r10]
00405c30add rcx, r10
00405c33
00405c33loc_405c33:
00405c33mov r10, [rcx]
00405c36mov [rdx], r10
00405c39cmp r8, 16
00405c3djle 0x405c4d
00405c3fsub r8, 8
00405c43sub rcx, 8
00405c47sub rdx, 8
00405c4bjmp 0x405c33
00405c4d
00405c4dloc_405c4d:
00405c4dnop
00405c4emov [rax], r9
00405c51jmp 0x405c7d
00405c53
00405c53loc_405c53:
00405c53lea r10, [r8-8]
00405c57mov r9, [rcx+r10]
00405c5blea rax, [rdx+r10]
00405c5f
00405c5floc_405c5f:
00405c5fmov r10, [rcx]
00405c62mov [rdx], r10
00405c65cmp r8, 16
00405c69jle 0x405c79
00405c6bsub r8, 8
00405c6fadd rcx, 8
00405c73add rdx, 8
00405c77jmp 0x405c5f
00405c79
00405c79loc_405c79:
00405c79nop
00405c7amov [rax], r9
00405c7d
00405c7dloc_405c7d:
00405c7dret
00405ac0
00405c7e
00405c7e // align 0x10
00405c7e // align 0x10
00405c80
00405c80fn_405c80:
00405c80push rsi
00405c81push rbx
00405c82sub rsp, 40
00405c86mov rax, rcx
00405c89mov rbx, rdx
00405c8cjmp 0x405c92
00405c8e
00405c8eloc_405c8e:
00405c8eadd rax, 2
00405c92
00405c92loc_405c92:
00405c92movzx rcx, [rax]
00405c96test cx, cx
00405c99je 0x405ca1
00405c9bcmp cx, 32
00405c9fjbe 0x405c8e
00405ca1
00405ca1loc_405ca1:
00405ca1cmp [rax], 34
00405ca5jne 0x405cb4
00405ca7cmp [rax+2], 34
00405cacjne 0x405cb4
00405caeadd rax, 4
00405cb2jmp 0x405c92
00405cb4
00405cb4loc_405cb4:
00405cb4nop
00405cb5xor ecx, ecx
00405cb7mov rsi, rax
00405cbajmp 0x405cf1
00405cbc
00405cbcloc_405cbc:
00405cbccmp dx, 34
00405cc0jne 0x405cea
00405cc2add rax, 2
00405cc6jmp 0x405ccf
00405cc8
00405cc8loc_405cc8:
00405cc8add ecx, 1
00405ccbadd rax, 2
00405ccf
00405ccfloc_405ccf:
00405ccfmovzx rdx, [rax]
00405cd3test dx, dx
00405cd6je 0x405cde
00405cd8cmp dx, 34
00405cdcjne 0x405cc8
00405cde
00405cdeloc_405cde:
00405cdecmp [rax], 0
00405ce2je 0x405cf1
00405ce4add rax, 2
00405ce8jmp 0x405cf1
00405cea
00405cealoc_405cea:
00405ceaadd ecx, 1
00405cedadd rax, 2
00405cf1
00405cf1loc_405cf1:
00405cf1movzx rdx, [rax]
00405cf5cmp dx, 32
00405cf9ja 0x405cbc
00405cfbmov rax, rbx
00405cfemov edx, ecx
00405d00mov rcx, rax
00405d03call fn_40d8d0
00405d08mov rax, rsi
00405d0bmov rdx, [rbx]
00405d0exor ecx, ecx
00405d10jmp 0x405d5a
00405d12
00405d12loc_405d12:
00405d12cmp r8w, 34
00405d17jne 0x405d4b
00405d19add rax, 2
00405d1djmp 0x405d2e
00405d1f
00405d1floc_405d1f:
00405d1fmovsxd r9, ecx
00405d22mov [rdx+2*r9], r8w
00405d27add rax, 2
00405d2badd ecx, 1
00405d2e
00405d2eloc_405d2e:
00405d2emovzx r8, [rax]
00405d32test r8w, r8w
00405d36je 0x405d3f
00405d38cmp r8w, 34
00405d3djne 0x405d1f
00405d3f
00405d3floc_405d3f:
00405d3fcmp [rax], 0
00405d43je 0x405d5a
00405d45add rax, 2
00405d49jmp 0x405d5a
00405d4b
00405d4bloc_405d4b:
00405d4bmovsxd r9, ecx
00405d4emov [rdx+2*r9], r8w
00405d53add rax, 2
00405d57add ecx, 1
00405d5a
00405d5aloc_405d5a:
00405d5amovzx r8, [rax]
00405d5ecmp r8w, 32
00405d63ja 0x405d12
00405d65add rsp, 40
00405d69pop rbx
00405d6apop rsi
00405d6bret
00405c80
00405c80fn_405c80:
00405c80push rsi
00405c81push rbx
00405c82sub rsp, 40
00405c86mov rax, rcx
00405c89mov rbx, rdx
00405c8cjmp 0x405c92
00405c8e
00405c8eloc_405c8e:
00405c8eadd rax, 2
00405c92
00405c92loc_405c92:
00405c92movzx rcx, [rax]
00405c96test cx, cx
00405c99je 0x405ca1
00405c9bcmp cx, 32
00405c9fjbe 0x405c8e
00405ca1
00405ca1loc_405ca1:
00405ca1cmp [rax], 34
00405ca5jne 0x405cb4
00405ca7cmp [rax+2], 34
00405cacjne 0x405cb4
00405caeadd rax, 4
00405cb2jmp 0x405c92
00405cb4
00405cb4loc_405cb4:
00405cb4nop
00405cb5xor ecx, ecx
00405cb7mov rsi, rax
00405cbajmp 0x405cf1
00405cbc
00405cbcloc_405cbc:
00405cbccmp dx, 34
00405cc0jne 0x405cea
00405cc2add rax, 2
00405cc6jmp 0x405ccf
00405cc8
00405cc8loc_405cc8:
00405cc8add ecx, 1
00405ccbadd rax, 2
00405ccf
00405ccfloc_405ccf:
00405ccfmovzx rdx, [rax]
00405cd3test dx, dx
00405cd6je 0x405cde
00405cd8cmp dx, 34
00405cdcjne 0x405cc8
00405cde
00405cdeloc_405cde:
00405cdecmp [rax], 0
00405ce2je 0x405cf1
00405ce4add rax, 2
00405ce8jmp 0x405cf1
00405cea
00405cealoc_405cea:
00405ceaadd ecx, 1
00405cedadd rax, 2
00405cf1
00405cf1loc_405cf1:
00405cf1movzx rdx, [rax]
00405cf5cmp dx, 32
00405cf9ja 0x405cbc
00405cfbmov rax, rbx
00405cfemov edx, ecx
00405d00mov rcx, rax
00405d03call fn_40d8d0
00405d08mov rax, rsi
00405d0bmov rdx, [rbx]
00405d0exor ecx, ecx
00405d10jmp 0x405d5a
00405d12
00405d12loc_405d12:
00405d12cmp r8w, 34
00405d17jne 0x405d4b
00405d19add rax, 2
00405d1djmp 0x405d2e
00405d1f
00405d1floc_405d1f:
00405d1fmovsxd r9, ecx
00405d22mov [rdx+2*r9], r8w
00405d27add rax, 2
00405d2badd ecx, 1
00405d2e
00405d2eloc_405d2e:
00405d2emovzx r8, [rax]
00405d32test r8w, r8w
00405d36je 0x405d3f
00405d38cmp r8w, 34
00405d3djne 0x405d1f
00405d3f
00405d3floc_405d3f:
00405d3fcmp [rax], 0
00405d43je 0x405d5a
00405d45add rax, 2
00405d49jmp 0x405d5a
00405d4b
00405d4bloc_405d4b:
00405d4bmovsxd r9, ecx
00405d4emov [rdx+2*r9], r8w
00405d53add rax, 2
00405d57add ecx, 1
00405d5a
00405d5aloc_405d5a:
00405d5amovzx r8, [rax]
00405d5ecmp r8w, 32
00405d63ja 0x405d12
00405d65add rsp, 40
00405d69pop rbx
00405d6apop rsi
00405d6bret
00405c80
00405d6c
00405d6c // align 0x10
00405d6c // align 0x10
00405d70
00405d70fn_405d70:
00405d70push rbp
00405d71sub rsp, 64
00405d75mov rbp, rsp
00405d78mov [rbp+56], 0
00405d80nop
00405d81xor eax, eax
00405d83mov [rbp+44], eax
00405d86call GetCommandLineW
00405d8bmov rcx, rax
00405d8elea rdx, [rbp+56]
00405d92call fn_405c80
00405d97
00405d97loc_405d97:
00405d97mov rcx, rax
00405d9alea rdx, [rbp+56]
00405d9ecall fn_405c80
00405da3cmp [rbp+56], 0
00405da8je 0x405db5
00405daamov ecx, [rbp+44]
00405dadadd ecx, 1
00405db0mov [rbp+44], ecx
00405db3jmp 0x405d97
00405db5
00405db5loc_405db5:
00405db5nop
00405db6nop
00405db7lea rcx, [rbp+56]
00405dbbcall fn_40bcf0
00405dc0mov eax, [rbp+44]
00405dc3lea rsp, [rbp+64]
00405dc7pop rbp
00405dc8ret
00405d70
00405d70fn_405d70:
00405d70push rbp
00405d71sub rsp, 64
00405d75mov rbp, rsp
00405d78mov [rbp+56], 0
00405d80nop
00405d81xor eax, eax
00405d83mov [rbp+44], eax
00405d86call GetCommandLineW
00405d8bmov rcx, rax
00405d8elea rdx, [rbp+56]
00405d92call fn_405c80
00405d97
00405d97loc_405d97:
00405d97mov rcx, rax
00405d9alea rdx, [rbp+56]
00405d9ecall fn_405c80
00405da3cmp [rbp+56], 0
00405da8je 0x405db5
00405daamov ecx, [rbp+44]
00405dadadd ecx, 1
00405db0mov [rbp+44], ecx
00405db3jmp 0x405d97
00405db5
00405db5loc_405db5:
00405db5nop
00405db6nop
00405db7lea rcx, [rbp+56]
00405dbbcall fn_40bcf0
00405dc0mov eax, [rbp+44]
00405dc3lea rsp, [rbp+64]
00405dc7pop rbp
00405dc8ret
00405d70
00405dc9
00405dc9 48 8d 80 00 00 00 00 H......
00405dc9 48 8d 80 00 00 00 00 H......
00405dd0
00405dd0fn_405dd0:
00405dd0push rbp
00405dd1sub rsp, 32
00405dd5mov rbp, rsp
00405dd8lea rcx, [rdx+56]
00405ddccall fn_40bcf0
00405de1lea rsp, [rbp+32]
00405de5pop rbp
00405de6ret
00405dd0
00405dd0fn_405dd0:
00405dd0push rbp
00405dd1sub rsp, 32
00405dd5mov rbp, rsp
00405dd8lea rcx, [rdx+56]
00405ddccall fn_40bcf0
00405de1lea rsp, [rbp+32]
00405de5pop rbp
00405de6ret
00405dd0
00405de7
00405de7 // align 0x10
00405de7 // align 0x10
00405df0
00405df0fn_405df0:
00405df0push rbp
00405df1push rsi
00405df2push rbx
00405df3sub rsp, 560
00405dfamov rbp, rsp
00405dfdmov rbx, rcx
00405e00mov esi, edx
00405e02mov rcx, rbx
00405e05call fn_40bcf0
00405e0atest esi, esi
00405e0cjne 0x405e30
00405e0exor ecx, ecx
00405e10lea rdx, [rbp+38]
00405e14mov r8l, 261
00405e1acall GetModuleFileNameW
00405e1fmov rcx, rbx
00405e22lea rdx, [rbp+38]
00405e26mov r8l, eax
00405e29call fn_40bfd0
00405e2ejmp 0x405e50
00405e30
00405e30loc_405e30:
00405e30call GetCommandLineW
00405e35
00405e35loc_405e35:
00405e35mov rcx, rax
00405e38mov rdx, rbx
00405e3bcall fn_405c80
00405e40test esi, esi
00405e42je 0x405e4f
00405e44cmp [rbx], 0
00405e48je 0x405e4f
00405e4asub esi, 1
00405e4djmp 0x405e35
00405e4f
00405e4floc_405e4f:
00405e4fnop
00405e50
00405e50loc_405e50:
00405e50mov rax, rbx
00405e53lea rsp, [rbp+560]
00405e5apop rbx
00405e5bpop rsi
00405e5cpop rbp
00405e5dret
00405df0
00405df0fn_405df0:
00405df0push rbp
00405df1push rsi
00405df2push rbx
00405df3sub rsp, 560
00405dfamov rbp, rsp
00405dfdmov rbx, rcx
00405e00mov esi, edx
00405e02mov rcx, rbx
00405e05call fn_40bcf0
00405e0atest esi, esi
00405e0cjne 0x405e30
00405e0exor ecx, ecx
00405e10lea rdx, [rbp+38]
00405e14mov r8l, 261
00405e1acall GetModuleFileNameW
00405e1fmov rcx, rbx
00405e22lea rdx, [rbp+38]
00405e26mov r8l, eax
00405e29call fn_40bfd0
00405e2ejmp 0x405e50
00405e30
00405e30loc_405e30:
00405e30call GetCommandLineW
00405e35
00405e35loc_405e35:
00405e35mov rcx, rax
00405e38mov rdx, rbx
00405e3bcall fn_405c80
00405e40test esi, esi
00405e42je 0x405e4f
00405e44cmp [rbx], 0
00405e48je 0x405e4f
00405e4asub esi, 1
00405e4djmp 0x405e35
00405e4f
00405e4floc_405e4f:
00405e4fnop
00405e50
00405e50loc_405e50:
00405e50mov rax, rbx
00405e53lea rsp, [rbp+560]
00405e5apop rbx
00405e5bpop rsi
00405e5cpop rbp
00405e5dret
00405df0
00405e5e
00405e5e // align 0x10
00405e5e // align 0x10
00405e60
00405e60fn_405e60:
00405e60imul eax, [rip+0x531a6], 0x8088405
00405e6aadd eax, 1
00405e6dmov [rip+0x5319d], eax
00405e73ret
00405e60
00405e60fn_405e60:
00405e60imul eax, [rip+0x531a6], 0x8088405
00405e6aadd eax, 1
00405e6dmov [rip+0x5319d], eax
00405e73ret
00405e60
00405e74
00405e74 // align 0x10
00405e74 // align 0x10
00405e80
00405e80fn_405e80:
00405e80push rbx
00405e81mov ebx, ecx
00405e83call [rip+0x531bf]
00405e89mov eax, eax
00405e8bimul rax, rbx
00405e8fshr rax, 32
00405e93pop rbx
00405e94ret
00405e95
00405e95 c3 .
00405e80
00405e80fn_405e80:
00405e80push rbx
00405e81mov ebx, ecx
00405e83call [rip+0x531bf]
00405e89mov eax, eax
00405e8bimul rax, rbx
00405e8fshr rax, 32
00405e93pop rbx
00405e94ret
00405e95
00405e95 c3 .
00405e80
00405e96
00405e96 // align 0x10
00405e96 // align 0x10
00405ea0
00405ea0fn_405ea0:
00405ea0push rdi
00405ea1push rsi
00405ea2push rbx
00405ea3sub rsp, 32
00405ea7mov ebx, ecx
00405ea9mov esi, edx
00405eaband esi, 63
00405eaecall fn_406080
00405eb3and eax, 63
00405eb6mov edi, eax
00405eb8and edi, esi
00405ebamov ecx, esi
00405ebcnot ecx
00405ebeand eax, ecx
00405ec0and ebx, esi
00405ec2or eax, ebx
00405ec4mov ecx, eax
00405ec6call fn_406050
00405ecbmov eax, edi
00405ecdadd rsp, 32
00405ed1pop rbx
00405ed2pop rsi
00405ed3pop rdi
00405ed4ret
00405ea0
00405ea0fn_405ea0:
00405ea0push rdi
00405ea1push rsi
00405ea2push rbx
00405ea3sub rsp, 32
00405ea7mov ebx, ecx
00405ea9mov esi, edx
00405eaband esi, 63
00405eaecall fn_406080
00405eb3and eax, 63
00405eb6mov edi, eax
00405eb8and edi, esi
00405ebamov ecx, esi
00405ebcnot ecx
00405ebeand eax, ecx
00405ec0and ebx, esi
00405ec2or eax, ebx
00405ec4mov ecx, eax
00405ec6call fn_406050
00405ecbmov eax, edi
00405ecdadd rsp, 32
00405ed1pop rbx
00405ed2pop rsi
00405ed3pop rdi
00405ed4ret
00405ea0
00405ed5
00405ed5 // align 0x10
00405ed5 // align 0x10
00405ee0
00405ee0fn_405ee0:
00405ee0push rbx
00405ee1sub rsp, 32
00405ee5mov ebx, ecx
00405ee7test ebx, ebx
00405ee9je 0x405fb3
00405eeftest dl, dl
00405ef1je 0x405f1c
00405ef3mov ecx, ebx
00405ef5shl ecx, 7
00405ef8and ecx, 8064
00405efecall fn_406000
00405f03test eax, eax
00405f05je 0x405f1c
00405f07shr eax, 7
00405f0aand eax, 63
00405f0dmov ecx, eax
00405f0fnot ecx
00405f11and ebx, ecx
00405f13xor ecx, ecx
00405f15mov edx, eax
00405f17call fn_405ea0
00405f1c
00405f1cloc_405f1c:
00405f1ctest ebx, ebx
00405f1eje 0x405fb3
00405f24mov eax, ebx
00405f26test eax, 32
00405f2cje 0x405f41
00405f2exor ecx, ecx
00405f30mov edx, 32
00405f35call fn_405ea0
00405f3amov cl, 6
00405f3ccall fn_405a20
00405f41
00405f41loc_405f41:
00405f41mov eax, ebx
00405f43test eax, 16
00405f49je 0x405f5e
00405f4bxor ecx, ecx
00405f4dmov edx, 16
00405f52call fn_405ea0
00405f57mov cl, 9
00405f59call fn_405a20
00405f5e
00405f5eloc_405f5e:
00405f5emov eax, ebx
00405f60test eax, 8
00405f66je 0x405f7b
00405f68xor ecx, ecx
00405f6amov edx, 8
00405f6fcall fn_405ea0
00405f74mov cl, 8
00405f76call fn_405a20
00405f7b
00405f7bloc_405f7b:
00405f7bmov eax, ebx
00405f7dtest eax, 4
00405f83je 0x405f98
00405f85xor ecx, ecx
00405f87mov edx, 4
00405f8ccall fn_405ea0
00405f91mov cl, 7
00405f93call fn_405a20
00405f98
00405f98loc_405f98:
00405f98test ebx, 1
00405f9eje 0x405fb3
00405fa0xor ecx, ecx
00405fa2mov edx, 1
00405fa7call fn_405ea0
00405facmov cl, 6
00405faecall fn_405a20
00405fb3
00405fb3loc_405fb3:
00405fb3add rsp, 32
00405fb7pop rbx
00405fb8ret
00405ee0
00405ee0fn_405ee0:
00405ee0push rbx
00405ee1sub rsp, 32
00405ee5mov ebx, ecx
00405ee7test ebx, ebx
00405ee9je 0x405fb3
00405eeftest dl, dl
00405ef1je 0x405f1c
00405ef3mov ecx, ebx
00405ef5shl ecx, 7
00405ef8and ecx, 8064
00405efecall fn_406000
00405f03test eax, eax
00405f05je 0x405f1c
00405f07shr eax, 7
00405f0aand eax, 63
00405f0dmov ecx, eax
00405f0fnot ecx
00405f11and ebx, ecx
00405f13xor ecx, ecx
00405f15mov edx, eax
00405f17call fn_405ea0
00405f1c
00405f1cloc_405f1c:
00405f1ctest ebx, ebx
00405f1eje 0x405fb3
00405f24mov eax, ebx
00405f26test eax, 32
00405f2cje 0x405f41
00405f2exor ecx, ecx
00405f30mov edx, 32
00405f35call fn_405ea0
00405f3amov cl, 6
00405f3ccall fn_405a20
00405f41
00405f41loc_405f41:
00405f41mov eax, ebx
00405f43test eax, 16
00405f49je 0x405f5e
00405f4bxor ecx, ecx
00405f4dmov edx, 16
00405f52call fn_405ea0
00405f57mov cl, 9
00405f59call fn_405a20
00405f5e
00405f5eloc_405f5e:
00405f5emov eax, ebx
00405f60test eax, 8
00405f66je 0x405f7b
00405f68xor ecx, ecx
00405f6amov edx, 8
00405f6fcall fn_405ea0
00405f74mov cl, 8
00405f76call fn_405a20
00405f7b
00405f7bloc_405f7b:
00405f7bmov eax, ebx
00405f7dtest eax, 4
00405f83je 0x405f98
00405f85xor ecx, ecx
00405f87mov edx, 4
00405f8ccall fn_405ea0
00405f91mov cl, 7
00405f93call fn_405a20
00405f98
00405f98loc_405f98:
00405f98test ebx, 1
00405f9eje 0x405fb3
00405fa0xor ecx, ecx
00405fa2mov edx, 1
00405fa7call fn_405ea0
00405facmov cl, 6
00405faecall fn_405a20
00405fb3
00405fb3loc_405fb3:
00405fb3add rsp, 32
00405fb7pop rbx
00405fb8ret
00405ee0
00405fb9
00405fb9 // align 0x10
00405fb9 // align 0x10
00405fc0
00405fc0fn_405fc0:
00405fc0push rdi
00405fc1push rsi
00405fc2push rbx
00405fc3sub rsp, 32
00405fc7mov ebx, ecx
00405fc9mov esi, edx
00405fcband esi, 8064
00405fd1call fn_406080
00405fd6mov edi, eax
00405fd8mov eax, esi
00405fdanot eax
00405fdcmov ecx, edi
00405fdeand ecx, eax
00405fe0and ebx, esi
00405fe2or ecx, ebx
00405fe4call fn_406030
00405fe9mov eax, edi
00405feband eax, esi
00405fedadd rsp, 32
00405ff1pop rbx
00405ff2pop rsi
00405ff3pop rdi
00405ff4ret
00405fc0
00405fc0fn_405fc0:
00405fc0push rdi
00405fc1push rsi
00405fc2push rbx
00405fc3sub rsp, 32
00405fc7mov ebx, ecx
00405fc9mov esi, edx
00405fcband esi, 8064
00405fd1call fn_406080
00405fd6mov edi, eax
00405fd8mov eax, esi
00405fdanot eax
00405fdcmov ecx, edi
00405fdeand ecx, eax
00405fe0and ebx, esi
00405fe2or ecx, ebx
00405fe4call fn_406030
00405fe9mov eax, edi
00405feband eax, esi
00405fedadd rsp, 32
00405ff1pop rbx
00405ff2pop rsi
00405ff3pop rdi
00405ff4ret
00405fc0
00405ff5
00405ff5 // align 0x10
00405ff5 // align 0x10
00406000
00406000fn_406000:
00406000push rbx
00406001sub rsp, 32
00406005mov ebx, ecx
00406007call fn_406080
0040600cand eax, ebx
0040600eadd rsp, 32
00406012pop rbx
00406013ret
00406000
00406000fn_406000:
00406000push rbx
00406001sub rsp, 32
00406005mov ebx, ecx
00406007call fn_406080
0040600cand eax, ebx
0040600eadd rsp, 32
00406012pop rbx
00406013ret
00406000
00406014
00406014 // align 0x10
00406014 // align 0x10
00406027
00406027 // align 0x10
00406027 // align 0x10
00406030
00406030fn_406030:
00406030and ecx, 65472
00406036mov [rip+0x52ff8], ecx
0040603cldmxcsr [rip+0x52ff1]
00406043ret
00406030
00406030fn_406030:
00406030and ecx, 65472
00406036mov [rip+0x52ff8], ecx
0040603cldmxcsr [rip+0x52ff1]
00406043ret
00406030
00406044
00406044 // align 0x10
00406044 // align 0x10
00406050
00406050fn_406050:
00406050push rbp
00406051sub rsp, 16
00406055mov rbp, rsp
00406058stmxcsr [rbp+12]
0040605cand ecx, 63
0040605fmov edx, [rbp+12]
00406062and edx, 65472
00406068or edx, ecx
0040606amov [rbp+12], edx
0040606dldmxcsr [rbp+12]
00406071lea rsp, [rbp+16]
00406075pop rbp
00406076ret
00406050
00406050fn_406050:
00406050push rbp
00406051sub rsp, 16
00406055mov rbp, rsp
00406058stmxcsr [rbp+12]
0040605cand ecx, 63
0040605fmov edx, [rbp+12]
00406062and edx, 65472
00406068or edx, ecx
0040606amov [rbp+12], edx
0040606dldmxcsr [rbp+12]
00406071lea rsp, [rbp+16]
00406075pop rbp
00406076ret
00406050
00406077
00406077 // align 0x10
00406077 // align 0x10
00406088
00406088 // align 0x10
00406088 // align 0x10
00406090
00406090fn_406090:
00406090mov [rsp+8], rcx
00406095mov [rsp+16], rdx
0040609amov rax, [rsp+8]
0040609fmov rcx, [rsp+16]
004060a4mov rdx, [rax]
004060a7cmp rdx, [rcx]
004060aajne 0x4060b6
004060acmov rax, [rax+8]
004060b0cmp rax, [rcx+8]
004060b4je 0x4060ba
004060b6
004060b6loc_4060b6:
004060b6xor eax, eax
004060b8jmp 0x4060bc
004060ba
004060baloc_4060ba:
004060bamov al, 1
004060bc
004060bcloc_4060bc:
004060bcret
00406090
00406090fn_406090:
00406090mov [rsp+8], rcx
00406095mov [rsp+16], rdx
0040609amov rax, [rsp+8]
0040609fmov rcx, [rsp+16]
004060a4mov rdx, [rax]
004060a7cmp rdx, [rcx]
004060aajne 0x4060b6
004060acmov rax, [rax+8]
004060b0cmp rax, [rcx+8]
004060b4je 0x4060ba
004060b6
004060b6loc_4060b6:
004060b6xor eax, eax
004060b8jmp 0x4060bc
004060ba
004060baloc_4060ba:
004060bamov al, 1
004060bc
004060bcloc_4060bc:
004060bcret
00406090
004060bd
004060bd // align 0x10
004060bd // align 0x10
004060c0
004060c0fn_4060c0:
004060c0push rbp
004060c1sub rsp, 16
004060c5mov rbp, rsp
004060c8mov [rbp+8], rcx
004060ccmov [rbp], rdx
004060d0mov rax, [rbp+8]
004060d4mov rcx, [rbp]
004060d8mov rdx, [rax]
004060dbcmp rdx, [rcx]
004060dejne 0x4060ee
004060e0mov rax, [rax+8]
004060e4cmp rax, [rcx+8]
004060e8jne 0x4060ee
004060eaxor eax, eax
004060ecjmp 0x4060f0
004060ee
004060eeloc_4060ee:
004060eemov al, 1
004060f0
004060f0loc_4060f0:
004060f0lea rsp, [rbp+16]
004060f4pop rbp
004060f5ret
004060c0
004060c0fn_4060c0:
004060c0push rbp
004060c1sub rsp, 16
004060c5mov rbp, rsp
004060c8mov [rbp+8], rcx
004060ccmov [rbp], rdx
004060d0mov rax, [rbp+8]
004060d4mov rcx, [rbp]
004060d8mov rdx, [rax]
004060dbcmp rdx, [rcx]
004060dejne 0x4060ee
004060e0mov rax, [rax+8]
004060e4cmp rax, [rcx+8]
004060e8jne 0x4060ee
004060eaxor eax, eax
004060ecjmp 0x4060f0
004060ee
004060eeloc_4060ee:
004060eemov al, 1
004060f0
004060f0loc_4060f0:
004060f0lea rsp, [rbp+16]
004060f4pop rbp
004060f5ret
004060c0
004060f6
004060f6 // align 0x10
004060f6 // align 0x10
00406100
00406100fn_406100:
00406100push rdi
00406101push rsi
00406102mov rsi, rdx
00406105mov rdi, rcx
00406108movsq [rdi], [rsi]
0040610amovsq [rdi], [rsi]
0040610ctest r8b, r8b
0040610fje 0x40619d
00406115movzx rax, [rcx]
00406119mov edx, [rcx]
0040611bshr edx, 16
0040611emov r8l, eax
00406121and r8w, 255
00406127shl r8l, 8
0040612band ax, -256
00406130shr ax, 8
00406134or r8w, ax
00406138movzx r8l, r8w
0040613cshl r8l, 16
00406140mov eax, edx
00406142and ax, 255
00406147shl eax, 8
0040614aand dx, -256
0040614fshr dx, 8
00406153or ax, dx
00406156movzx eax, ax
00406159or r8l, eax
0040615cmov [rcx], r8l
0040615fmovzx rax, [rcx+4]
00406164mov edx, eax
00406166and dx, 255
0040616bshl edx, 8
0040616eand ax, -256
00406173shr ax, 8
00406177or dx, ax
0040617amov [rcx+4], dx
0040617emovzx rax, [rcx+6]
00406183mov edx, eax
00406185and dx, 255
0040618ashl edx, 8
0040618dand ax, -256
00406192shr ax, 8
00406196or dx, ax
00406199mov [rcx+6], dx
0040619d
0040619dloc_40619d:
0040619dmov rax, rcx
004061a0pop rsi
004061a1pop rdi
004061a2ret
00406100
00406100fn_406100:
00406100push rdi
00406101push rsi
00406102mov rsi, rdx
00406105mov rdi, rcx
00406108movsq [rdi], [rsi]
0040610amovsq [rdi], [rsi]
0040610ctest r8b, r8b
0040610fje 0x40619d
00406115movzx rax, [rcx]
00406119mov edx, [rcx]
0040611bshr edx, 16
0040611emov r8l, eax
00406121and r8w, 255
00406127shl r8l, 8
0040612band ax, -256
00406130shr ax, 8
00406134or r8w, ax
00406138movzx r8l, r8w
0040613cshl r8l, 16
00406140mov eax, edx
00406142and ax, 255
00406147shl eax, 8
0040614aand dx, -256
0040614fshr dx, 8
00406153or ax, dx
00406156movzx eax, ax
00406159or r8l, eax
0040615cmov [rcx], r8l
0040615fmovzx rax, [rcx+4]
00406164mov edx, eax
00406166and dx, 255
0040616bshl edx, 8
0040616eand ax, -256
00406173shr ax, 8
00406177or dx, ax
0040617amov [rcx+4], dx
0040617emovzx rax, [rcx+6]
00406183mov edx, eax
00406185and dx, 255
0040618ashl edx, 8
0040618dand ax, -256
00406192shr ax, 8
00406196or dx, ax
00406199mov [rcx+6], dx
0040619d
0040619dloc_40619d:
0040619dmov rax, rcx
004061a0pop rsi
004061a1pop rdi
004061a2ret
00406100
004061a3
004061a3 // align 0x10
004061a3 // align 0x10
004061b0
004061b0fn_4061b0:
004061b0push rbx
004061b1sub rsp, 32
004061b5mov rbx, rcx
004061b8add r8l, 1
004061bcmov eax, r9l
004061bfadd eax, 16
004061c2cmp r8l, eax
004061c5jge 0x4061d1
004061c7mov rcx, rbx
004061cacall fn_4061f0
004061cfjmp 0x4061e6
004061d1
004061d1loc_4061d1:
004061d1mov rcx, rbx
004061d4mov r9l, r9l
004061d7lea rdx, [rdx+r9]
004061dbmovzx r8, [rsp+80]
004061e1call fn_406100
004061e6
004061e6loc_4061e6:
004061e6mov rax, rbx
004061e9add rsp, 32
004061edpop rbx
004061eeret
004061b0
004061b0fn_4061b0:
004061b0push rbx
004061b1sub rsp, 32
004061b5mov rbx, rcx
004061b8add r8l, 1
004061bcmov eax, r9l
004061bfadd eax, 16
004061c2cmp r8l, eax
004061c5jge 0x4061d1
004061c7mov rcx, rbx
004061cacall fn_4061f0
004061cfjmp 0x4061e6
004061d1
004061d1loc_4061d1:
004061d1mov rcx, rbx
004061d4mov r9l, r9l
004061d7lea rdx, [rdx+r9]
004061dbmovzx r8, [rsp+80]
004061e1call fn_406100
004061e6
004061e6loc_4061e6:
004061e6mov rax, rbx
004061e9add rsp, 32
004061edpop rbx
004061eeret
004061b0
004061ef
004061ef // align 0x10
004061ef // align 0x10
004061f0
004061f0fn_4061f0:
004061f0push rbx
004061f1sub rsp, 32
004061f5mov rbx, rcx
004061f8mov rcx, rbx
004061fbmov edx, 16
00406200xor r8, r8
00406203call fn_4069b0
00406208mov rax, rbx
0040620badd rsp, 32
0040620fpop rbx
00406210ret
004061f0
004061f0fn_4061f0:
004061f0push rbx
004061f1sub rsp, 32
004061f5mov rbx, rcx
004061f8mov rcx, rbx
004061fbmov edx, 16
00406200xor r8, r8
00406203call fn_4069b0
00406208mov rax, rbx
0040620badd rsp, 32
0040620fpop rbx
00406210ret
004061f0
00406211
00406211 // align 0x10
00406211 // align 0x10
00406220
00406220fn_406220:
00406220cmp [rcx], 0
00406224jne 0x40622d
00406226cmp [rcx+8], 0
0040622bje 0x406231
0040622d
0040622dloc_40622d:
0040622dxor eax, eax
0040622fjmp 0x406233
00406231
00406231loc_406231:
00406231mov al, 1
00406233
00406233loc_406233:
00406233ret
00406220
00406220fn_406220:
00406220cmp [rcx], 0
00406224jne 0x40622d
00406226cmp [rcx+8], 0
0040622bje 0x406231
0040622d
0040622dloc_40622d:
0040622dxor eax, eax
0040622fjmp 0x406233
00406231
00406231loc_406231:
00406231mov al, 1
00406233
00406233loc_406233:
00406233ret
00406220
00406234
00406234 // align 0x10
00406234 // align 0x10
00406240
00406240fn_406240:
00406240movsd_xmm [rsp+8], x0
00406246mov eax, [rsp+12]
0040624aand eax, 0x7ff00000
0040624fcmp eax, 0x43300000
00406254jge 0x40626d
00406256cmp eax, 0x3fe00000
0040625bjbe 0x406271
0040625dcvttsd2si rax, x0
00406262cvtsi2sd x4, rax
00406267subsd x0, x4
0040626bjmp 0x406271
0040626d
0040626dloc_40626d:
0040626dxorpd x0, x0
00406271
00406271loc_406271:
00406271ret
00406240
00406240fn_406240:
00406240movsd_xmm [rsp+8], x0
00406246mov eax, [rsp+12]
0040624aand eax, 0x7ff00000
0040624fcmp eax, 0x43300000
00406254jge 0x40626d
00406256cmp eax, 0x3fe00000
0040625bjbe 0x406271
0040625dcvttsd2si rax, x0
00406262cvtsi2sd x4, rax
00406267subsd x0, x4
0040626bjmp 0x406271
0040626d
0040626dloc_40626d:
0040626dxorpd x0, x0
00406271
00406271loc_406271:
00406271ret
00406240
00406272
00406272 // align 0x10
00406272 // align 0x10
00406286
00406286 // align 0x10
00406286 // align 0x10
00406296
00406296 // align 0x10
00406296 // align 0x10
004062ad
004062ad // align 0x10
004062ad // align 0x10
004062bf
004062bf // align 0x10
004062bf // align 0x10
004062c0
004062c0fn_4062c0:
004062c0push rsi
004062c1push rbx
004062c2sub rsp, 40
004062c6mov rbx, rcx
004062c9mov esi, edx
004062cbmovzx rax, [rbx+8]
004062d0cmp ax, -10320
004062d5jb 0x4062de
004062d7cmp ax, -10317
004062dcjbe 0x4062e5
004062de
004062deloc_4062de:
004062demov ebx, 102
004062e3jmp 0x406322
004062e5
004062e5loc_4062e5:
004062e5mov rcx, rbx
004062e8call fn_4062b0
004062edcmp [rbx+8], -10320
004062f3je 0x4062fd
004062f5mov rcx, rbx
004062f8call fn_406940
004062fd
004062fdloc_4062fd:
004062fdmov [rbx+8], si
00406301cmp [rbx+96], 0
00406306jne 0x40631a
00406308cmp [rbx+32], 0
0040630djne 0x40631a
0040630flea rax, [rip+442]
00406316mov [rbx+32], rax
0040631a
0040631aloc_40631a:
0040631amov rcx, rbx
0040631dcall [rbx+32]
00406320mov ebx, eax
00406322
00406322loc_406322:
00406322test ebx, ebx
00406324je 0x40632d
00406326mov ecx, ebx
00406328call fn_405a70
0040632d
0040632dloc_40632d:
0040632dmov eax, ebx
0040632fadd rsp, 40
00406333pop rbx
00406334pop rsi
00406335ret
004062c0
004062c0fn_4062c0:
004062c0push rsi
004062c1push rbx
004062c2sub rsp, 40
004062c6mov rbx, rcx
004062c9mov esi, edx
004062cbmovzx rax, [rbx+8]
004062d0cmp ax, -10320
004062d5jb 0x4062de
004062d7cmp ax, -10317
004062dcjbe 0x4062e5
004062de
004062deloc_4062de:
004062demov ebx, 102
004062e3jmp 0x406322
004062e5
004062e5loc_4062e5:
004062e5mov rcx, rbx
004062e8call fn_4062b0
004062edcmp [rbx+8], -10320
004062f3je 0x4062fd
004062f5mov rcx, rbx
004062f8call fn_406940
004062fd
004062fdloc_4062fd:
004062fdmov [rbx+8], si
00406301cmp [rbx+96], 0
00406306jne 0x40631a
00406308cmp [rbx+32], 0
0040630djne 0x40631a
0040630flea rax, [rip+442]
00406316mov [rbx+32], rax
0040631a
0040631aloc_40631a:
0040631amov rcx, rbx
0040631dcall [rbx+32]
00406320mov ebx, eax
00406322
00406322loc_406322:
00406322test ebx, ebx
00406324je 0x40632d
00406326mov ecx, ebx
00406328call fn_405a70
0040632d
0040632dloc_40632d:
0040632dmov eax, ebx
0040632fadd rsp, 40
00406333pop rbx
00406334pop rsi
00406335ret
004062c0
00406336
00406336 // align 0x10
00406336 // align 0x10
00406340
00406340fn_406340:
00406340sub rsp, 40
00406344mov dx, -10319
00406348call fn_4062c0
0040634dadd rsp, 40
00406351ret
00406340
00406340fn_406340:
00406340sub rsp, 40
00406344mov dx, -10319
00406348call fn_4062c0
0040634dadd rsp, 40
00406351ret
00406340
00406352
00406352 // align 0x10
00406352 // align 0x10
00406360
00406360fn_406360:
00406360sub rsp, 40
00406364mov dx, -10318
00406368call fn_4062c0
0040636dadd rsp, 40
00406371ret
00406360
00406360fn_406360:
00406360sub rsp, 40
00406364mov dx, -10318
00406368call fn_4062c0
0040636dadd rsp, 40
00406371ret
00406360
00406372
00406372 // align 0x10
00406372 // align 0x10
00406380
00406380fn_406380:
00406380sub rsp, 40
00406384mov dx, -10317
00406388call fn_4062c0
0040638dadd rsp, 40
00406391ret
00406380
00406380fn_406380:
00406380sub rsp, 40
00406384mov dx, -10317
00406388call fn_4062c0
0040638dadd rsp, 40
00406391ret
00406380
00406392
00406392 // align 0x10
00406392 // align 0x10
004063a0
004063a0fn_4063a0:
004063a0sub rsp, 40
004063a4mov [rcx+20], 0
004063abmov [rcx+16], 0
004063b2mov rax, [rcx]
004063b5mov rdx, [rcx+24]
004063b9mov r8l, [rcx+12]
004063bdlea r9, [rcx+20]
004063c1mov [rsp+32], 0
004063camov rcx, rax
004063cdcall ReadFile
004063d2test eax, eax
004063d4jne 0x4063e4
004063d6call GetLastError
004063dbcmp eax, 109
004063dejne 0x4063e6
004063e0xor eax, eax
004063e2jmp 0x4063e6
004063e4
004063e4loc_4063e4:
004063e4xor eax, eax
004063e6
004063e6loc_4063e6:
004063e6add rsp, 40
004063earet
004063a0
004063a0fn_4063a0:
004063a0sub rsp, 40
004063a4mov [rcx+20], 0
004063abmov [rcx+16], 0
004063b2mov rax, [rcx]
004063b5mov rdx, [rcx+24]
004063b9mov r8l, [rcx+12]
004063bdlea r9, [rcx+20]
004063c1mov [rsp+32], 0
004063camov rcx, rax
004063cdcall ReadFile
004063d2test eax, eax
004063d4jne 0x4063e4
004063d6call GetLastError
004063dbcmp eax, 109
004063dejne 0x4063e6
004063e0xor eax, eax
004063e2jmp 0x4063e6
004063e4
004063e4loc_4063e4:
004063e4xor eax, eax
004063e6
004063e6loc_4063e6:
004063e6add rsp, 40
004063earet
004063a0
004063eb
004063eb // align 0x10
004063eb // align 0x10
004063f3
004063f3 // align 0x10
004063f3 // align 0x10
00406400
00406400fn_406400:
00406400push rbp
00406401push rbx
00406402sub rsp, 72
00406406mov rbp, rsp
00406409mov rbx, rcx
0040640cmov eax, [rbx+16]
0040640ftest eax, eax
00406411jne 0x406417
00406413xor eax, eax
00406415jmp 0x406447
00406417
00406417loc_406417:
00406417mov rcx, [rbx]
0040641amov rdx, [rbx+24]
0040641emov r8l, eax
00406421lea r9, [rbp+60]
00406425mov [rsp+32], 0
0040642ecall WriteFile
00406433test eax, eax
00406435jne 0x40643e
00406437call GetLastError
0040643cjmp 0x406440
0040643e
0040643eloc_40643e:
0040643exor eax, eax
00406440
00406440loc_406440:
00406440mov [rbx+16], 0
00406447
00406447loc_406447:
00406447lea rsp, [rbp+72]
0040644bpop rbx
0040644cpop rbp
0040644dret
00406400
00406400fn_406400:
00406400push rbp
00406401push rbx
00406402sub rsp, 72
00406406mov rbp, rsp
00406409mov rbx, rcx
0040640cmov eax, [rbx+16]
0040640ftest eax, eax
00406411jne 0x406417
00406413xor eax, eax
00406415jmp 0x406447
00406417
00406417loc_406417:
00406417mov rcx, [rbx]
0040641amov rdx, [rbx+24]
0040641emov r8l, eax
00406421lea r9, [rbp+60]
00406425mov [rsp+32], 0
0040642ecall WriteFile
00406433test eax, eax
00406435jne 0x40643e
00406437call GetLastError
0040643cjmp 0x406440
0040643e
0040643eloc_40643e:
0040643exor eax, eax
00406440
00406440loc_406440:
00406440mov [rbx+16], 0
00406447
00406447loc_406447:
00406447lea rsp, [rbp+72]
0040644bpop rbx
0040644cpop rbp
0040644dret
00406400
0040644e
0040644e // align 0x10
0040644e // align 0x10
00406450
00406450fn_406450:
00406450sub rsp, 40
00406454call CloseHandle
00406459test eax, eax
0040645bsetne al
0040645eadd rsp, 40
00406462ret
00406450
00406450fn_406450:
00406450sub rsp, 40
00406454call CloseHandle
00406459test eax, eax
0040645bsetne al
0040645eadd rsp, 40
00406462ret
00406450
00406463
00406463 // align 0x10
00406463 // align 0x10
00406470
00406470fn_406470:
00406470sub rsp, 40
00406474mov [rcx+8], -10320
0040647amov rcx, [rcx]
0040647dcall fn_406450
00406482test al, al
00406484jne 0x40648d
00406486call GetLastError
0040648bjmp 0x40648f
0040648d
0040648dloc_40648d:
0040648dxor eax, eax
0040648f
0040648floc_40648f:
0040648fadd rsp, 40
00406493ret
00406470
00406470fn_406470:
00406470sub rsp, 40
00406474mov [rcx+8], -10320
0040647amov rcx, [rcx]
0040647dcall fn_406450
00406482test al, al
00406484jne 0x40648d
00406486call GetLastError
0040648bjmp 0x40648f
0040648d
0040648dloc_40648d:
0040648dxor eax, eax
0040648f
0040648floc_40648f:
0040648fadd rsp, 40
00406493ret
00406470
00406494
00406494 // align 0x10
00406494 // align 0x10
004064a0
004064a0fn_4064a0:
004064a0push rbx
004064a1sub rsp, 32
004064a5mov rbx, rcx
004064a8mov rcx, [rbx]
004064abcall fn_406450
004064b0mov [rbx+8], -10320
004064b6call GetLastError
004064bbadd rsp, 32
004064bfpop rbx
004064c0ret
004064a0
004064a0fn_4064a0:
004064a0push rbx
004064a1sub rsp, 32
004064a5mov rbx, rcx
004064a8mov rcx, [rbx]
004064abcall fn_406450
004064b0mov [rbx+8], -10320
004064b6call GetLastError
004064bbadd rsp, 32
004064bfpop rbx
004064c0ret
004064a0
004064c1
004064c1 // align 0x10
004064c1 // align 0x10
004064d0
004064d0fn_4064d0:
004064d0push rbp
004064d1push rsi
004064d2push rbx
004064d3sub rsp, 80
004064d7mov rbp, rsp
004064damov rbx, rcx
004064ddxor esi, esi
004064dfmov [rbx+16], 0
004064e6mov [rbx+20], 0
004064edmovzx rax, [rbx+8]
004064f2sub ax, -10319
004064f7test ax, ax
004064faje 0x406514
004064fcsub ax, 1
00406500test ax, ax
00406503je 0x40652b
00406505sub ax, 1
00406509test ax, ax
0040650cjne 0x4067c2
00406512jmp 0x406542
00406514
00406514loc_406514:
00406514mov eax, 0xffffffff80000000
00406519mov ecx, 3
0040651elea rdx, [rip-389]
00406525mov [rbx+40], rdx
00406529jmp 0x406557
0040652b
0040652bloc_40652b:
0040652bmov eax, 0x40000000
00406530mov ecx, 2
00406535lea rdx, [rip-316]
0040653cmov [rbx+40], rdx
00406540jmp 0x406557
00406542
00406542loc_406542:
00406542mov eax, 0xffffffffc0000000
00406547mov ecx, 3
0040654clea rdx, [rip-339]
00406553mov [rbx+40], rdx
00406557
00406557loc_406557:
00406557lea rdx, [rip-366]
0040655emov [rbx+48], rdx
00406562cmp [rbx+96], 0
00406567jne 0x406623
0040656dcmp [rbx+24], 0
00406572jne 0x406586
00406574lea rax, [rbx+616]
0040657bmov [rbx+24], rax
0040657fmov [rbx+12], 128
00406586
00406586loc_406586:
00406586lea rax, [rip-413]
0040658dmov [rbx+56], rax
00406591cmp [rbx+8], -10318
00406597jne 0x4065bd
00406599lea rax, [rip+0x5f0f8]
004065a0cmp rbx, rax
004065a3jne 0x4065ac
004065a5mov eax, -12
004065aajmp 0x4065b1
004065ac
004065acloc_4065ac:
004065acmov eax, -11
004065b1
004065b1loc_4065b1:
004065b1mov ecx, eax
004065b3call GetStdHandle
004065b8mov [rbx], rax
004065bbjmp 0x4065ca
004065bd
004065bdloc_4065bd:
004065bdmov ecx, -10
004065c2call GetStdHandle
004065c7mov [rbx], rax
004065ca
004065caloc_4065ca:
004065cacmp [rbx+744], 0
004065d2jne 0x406787
004065d8mov rcx, [rbx]
004065dbcall GetFileType
004065e0cmp eax, 2
004065e3jne 0x40660f
004065e5cmp [rbx+8], -10318
004065ebjne 0x4065fe
004065edcall GetConsoleOutputCP
004065f2mov [rbx+744], ax
004065f9jmp 0x406787
004065fe
004065feloc_4065fe:
004065fecall GetConsoleCP
00406603mov [rbx+744], ax
0040660ajmp 0x406787
0040660f
0040660floc_40660f:
0040660fmovzx rax, [rip+0x5f401]
00406617mov [rbx+744], ax
0040661ejmp 0x406787
00406623
00406623loc_406623:
00406623lea rdx, [rip-442]
0040662amov [rbx+56], rdx
0040662elea rdx, [rbx+96]
00406632mov r8l, 1
00406638xor r9, r9
0040663bmov [rsp+32], ecx
0040663fmov [rsp+40], 128
00406647mov [rsp+48], 0
00406650mov rcx, rdx
00406653mov edx, eax
00406655call CreateFileW
0040665acmp rax, -1
0040665ejne 0x406672
00406660mov [rbx+8], -10320
00406666call GetLastError
0040666bmov esi, eax
0040666djmp 0x4067c2
00406672
00406672loc_406672:
00406672mov [rbx], rax
00406675cmp [rbx+8], -10317
0040667bjne 0x40676e
00406681mov [rbx+8], -10318
00406687mov rcx, [rbx]
0040668axor edx, edx
0040668ccall GetFileSize
00406691cmp eax, -1
00406694jne 0x4066a5
00406696mov rcx, rbx
00406699call fn_4064a0
0040669emov esi, eax
004066a0jmp 0x4067c2
004066a5
004066a5loc_4066a5:
004066a5sub eax, 128
004066abtest eax, eax
004066adjge 0x4066b1
004066afxor eax, eax
004066b1
004066b1loc_4066b1:
004066b1mov rcx, [rbx]
004066b4mov edx, eax
004066b6xor r8, r8
004066b9xor r9, r9
004066bccall SetFilePointer
004066c1cmp eax, -1
004066c4je 0x4066ec
004066c6mov rcx, [rbx]
004066c9lea rdx, [rbx+616]
004066d0mov r8l, 128
004066d6lea r9, [rbp+76]
004066damov [rsp+32], 0
004066e3call ReadFile
004066e8test eax, eax
004066eajne 0x4066fb
004066ec
004066ecloc_4066ec:
004066ecmov rcx, rbx
004066efcall fn_4064a0
004066f4mov esi, eax
004066f6jmp 0x4067c2
004066fb
004066fbloc_4066fb:
004066fbmovzx rax, [rbx+10]
00406700test ax, 1
00406705je 0x40676e
00406707cmp [rbp+76], 0
0040670bjbe 0x40676e
0040670dxor ecx, ecx
0040670fmov edx, [rbp+76]
00406712sub edx, 1
00406715mov eax, ecx
00406717cmp eax, edx
00406719ja 0x40676d
0040671bsub edx, ecx
0040671dadd edx, 1
00406720lea rcx, [rbx+616]
00406727
00406727loc_406727:
00406727cmp [rcx], 26
0040672ajne 0x40675f
0040672cmov rcx, [rbx]
0040672fmov edx, eax
00406731sub edx, [rbp+76]
00406734xor r8, r8
00406737mov r9l, 2
0040673dcall SetFilePointer
00406742cmp eax, -1
00406745je 0x406753
00406747mov rcx, [rbx]
0040674acall SetEndOfFile
0040674ftest eax, eax
00406751jne 0x40676d
00406753
00406753loc_406753:
00406753mov rcx, rbx
00406756call fn_4064a0
0040675bmov esi, eax
0040675djmp 0x4067c2
0040675f
0040675floc_40675f:
0040675fadd eax, 1
00406762add rcx, 1
00406766sub edx, 1
00406769test edx, edx
0040676bjne 0x406727
0040676d
0040676dloc_40676d:
0040676dnop
0040676e
0040676eloc_40676e:
0040676ecmp [rbx+744], 0
00406776jne 0x406787
00406778movzx rax, [rip+0x5f298]
00406780mov [rbx+744], ax
00406787
00406787loc_406787:
00406787cmp [rbx+8], -10319
0040678dje 0x4067c2
0040678fmov rcx, [rbx]
00406792call GetFileType
00406797sub eax, 1
0040679acmp eax, -1
0040679dje 0x4067a8
0040679fsub eax, 1
004067a2test eax, eax
004067a4jne 0x4067c2
004067a6jmp 0x4067b7
004067a8
004067a8loc_4067a8:
004067a8mov rcx, rbx
004067abcall fn_4064a0
004067b0mov esi, 105
004067b5jmp 0x4067c2
004067b7
004067b7loc_4067b7:
004067b7lea rax, [rip-958]
004067bemov [rbx+48], rax
004067c2
004067c2loc_4067c2:
004067c2mov eax, esi
004067c4lea rsp, [rbp+80]
004067c8pop rbx
004067c9pop rsi
004067capop rbp
004067cbret
004064d0
004064d0fn_4064d0:
004064d0push rbp
004064d1push rsi
004064d2push rbx
004064d3sub rsp, 80
004064d7mov rbp, rsp
004064damov rbx, rcx
004064ddxor esi, esi
004064dfmov [rbx+16], 0
004064e6mov [rbx+20], 0
004064edmovzx rax, [rbx+8]
004064f2sub ax, -10319
004064f7test ax, ax
004064faje 0x406514
004064fcsub ax, 1
00406500test ax, ax
00406503je 0x40652b
00406505sub ax, 1
00406509test ax, ax
0040650cjne 0x4067c2
00406512jmp 0x406542
00406514
00406514loc_406514:
00406514mov eax, 0xffffffff80000000
00406519mov ecx, 3
0040651elea rdx, [rip-389]
00406525mov [rbx+40], rdx
00406529jmp 0x406557
0040652b
0040652bloc_40652b:
0040652bmov eax, 0x40000000
00406530mov ecx, 2
00406535lea rdx, [rip-316]
0040653cmov [rbx+40], rdx
00406540jmp 0x406557
00406542
00406542loc_406542:
00406542mov eax, 0xffffffffc0000000
00406547mov ecx, 3
0040654clea rdx, [rip-339]
00406553mov [rbx+40], rdx
00406557
00406557loc_406557:
00406557lea rdx, [rip-366]
0040655emov [rbx+48], rdx
00406562cmp [rbx+96], 0
00406567jne 0x406623
0040656dcmp [rbx+24], 0
00406572jne 0x406586
00406574lea rax, [rbx+616]
0040657bmov [rbx+24], rax
0040657fmov [rbx+12], 128
00406586
00406586loc_406586:
00406586lea rax, [rip-413]
0040658dmov [rbx+56], rax
00406591cmp [rbx+8], -10318
00406597jne 0x4065bd
00406599lea rax, [rip+0x5f0f8]
004065a0cmp rbx, rax
004065a3jne 0x4065ac
004065a5mov eax, -12
004065aajmp 0x4065b1
004065ac
004065acloc_4065ac:
004065acmov eax, -11
004065b1
004065b1loc_4065b1:
004065b1mov ecx, eax
004065b3call GetStdHandle
004065b8mov [rbx], rax
004065bbjmp 0x4065ca
004065bd
004065bdloc_4065bd:
004065bdmov ecx, -10
004065c2call GetStdHandle
004065c7mov [rbx], rax
004065ca
004065caloc_4065ca:
004065cacmp [rbx+744], 0
004065d2jne 0x406787
004065d8mov rcx, [rbx]
004065dbcall GetFileType
004065e0cmp eax, 2
004065e3jne 0x40660f
004065e5cmp [rbx+8], -10318
004065ebjne 0x4065fe
004065edcall GetConsoleOutputCP
004065f2mov [rbx+744], ax
004065f9jmp 0x406787
004065fe
004065feloc_4065fe:
004065fecall GetConsoleCP
00406603mov [rbx+744], ax
0040660ajmp 0x406787
0040660f
0040660floc_40660f:
0040660fmovzx rax, [rip+0x5f401]
00406617mov [rbx+744], ax
0040661ejmp 0x406787
00406623
00406623loc_406623:
00406623lea rdx, [rip-442]
0040662amov [rbx+56], rdx
0040662elea rdx, [rbx+96]
00406632mov r8l, 1
00406638xor r9, r9
0040663bmov [rsp+32], ecx
0040663fmov [rsp+40], 128
00406647mov [rsp+48], 0
00406650mov rcx, rdx
00406653mov edx, eax
00406655call CreateFileW
0040665acmp rax, -1
0040665ejne 0x406672
00406660mov [rbx+8], -10320
00406666call GetLastError
0040666bmov esi, eax
0040666djmp 0x4067c2
00406672
00406672loc_406672:
00406672mov [rbx], rax
00406675cmp [rbx+8], -10317
0040667bjne 0x40676e
00406681mov [rbx+8], -10318
00406687mov rcx, [rbx]
0040668axor edx, edx
0040668ccall GetFileSize
00406691cmp eax, -1
00406694jne 0x4066a5
00406696mov rcx, rbx
00406699call fn_4064a0
0040669emov esi, eax
004066a0jmp 0x4067c2
004066a5
004066a5loc_4066a5:
004066a5sub eax, 128
004066abtest eax, eax
004066adjge 0x4066b1
004066afxor eax, eax
004066b1
004066b1loc_4066b1:
004066b1mov rcx, [rbx]
004066b4mov edx, eax
004066b6xor r8, r8
004066b9xor r9, r9
004066bccall SetFilePointer
004066c1cmp eax, -1
004066c4je 0x4066ec
004066c6mov rcx, [rbx]
004066c9lea rdx, [rbx+616]
004066d0mov r8l, 128
004066d6lea r9, [rbp+76]
004066damov [rsp+32], 0
004066e3call ReadFile
004066e8test eax, eax
004066eajne 0x4066fb
004066ec
004066ecloc_4066ec:
004066ecmov rcx, rbx
004066efcall fn_4064a0
004066f4mov esi, eax
004066f6jmp 0x4067c2
004066fb
004066fbloc_4066fb:
004066fbmovzx rax, [rbx+10]
00406700test ax, 1
00406705je 0x40676e
00406707cmp [rbp+76], 0
0040670bjbe 0x40676e
0040670dxor ecx, ecx
0040670fmov edx, [rbp+76]
00406712sub edx, 1
00406715mov eax, ecx
00406717cmp eax, edx
00406719ja 0x40676d
0040671bsub edx, ecx
0040671dadd edx, 1
00406720lea rcx, [rbx+616]
00406727
00406727loc_406727:
00406727cmp [rcx], 26
0040672ajne 0x40675f
0040672cmov rcx, [rbx]
0040672fmov edx, eax
00406731sub edx, [rbp+76]
00406734xor r8, r8
00406737mov r9l, 2
0040673dcall SetFilePointer
00406742cmp eax, -1
00406745je 0x406753
00406747mov rcx, [rbx]
0040674acall SetEndOfFile
0040674ftest eax, eax
00406751jne 0x40676d
00406753
00406753loc_406753:
00406753mov rcx, rbx
00406756call fn_4064a0
0040675bmov esi, eax
0040675djmp 0x4067c2
0040675f
0040675floc_40675f:
0040675fadd eax, 1
00406762add rcx, 1
00406766sub edx, 1
00406769test edx, edx
0040676bjne 0x406727
0040676d
0040676dloc_40676d:
0040676dnop
0040676e
0040676eloc_40676e:
0040676ecmp [rbx+744], 0
00406776jne 0x406787
00406778movzx rax, [rip+0x5f298]
00406780mov [rbx+744], ax
00406787
00406787loc_406787:
00406787cmp [rbx+8], -10319
0040678dje 0x4067c2
0040678fmov rcx, [rbx]
00406792call GetFileType
00406797sub eax, 1
0040679acmp eax, -1
0040679dje 0x4067a8
0040679fsub eax, 1
004067a2test eax, eax
004067a4jne 0x4067c2
004067a6jmp 0x4067b7
004067a8
004067a8loc_4067a8:
004067a8mov rcx, rbx
004067abcall fn_4064a0
004067b0mov esi, 105
004067b5jmp 0x4067c2
004067b7
004067b7loc_4067b7:
004067b7lea rax, [rip-958]
004067bemov [rbx+48], rax
004067c2
004067c2loc_4067c2:
004067c2mov eax, esi
004067c4lea rsp, [rbp+80]
004067c8pop rbx
004067c9pop rsi
004067capop rbp
004067cbret
004064d0
004067cc
004067cc // align 0x10
004067cc // align 0x10
004067d0
004067d0fn_4067d0:
004067d0push rbp
004067d1push rdi
004067d2push rsi
004067d3push rbx
004067d4sub rsp, 56
004067d8mov rbp, rsp
004067dbmov rbx, rcx
004067demov rsi, rdx
004067e1mov edi, r8l
004067e4mov rcx, rbx
004067e7mov edx, 754
004067ecxor r8, r8
004067efcall fn_4069b0
004067f4lea rax, [rbx+616]
004067fbmov [rbx+24], rax
004067ffmov [rbx+8], -10320
00406805movzx ax, [rip+0x5282e]
0040680dmov [rbx+10], ax
00406811test di, di
00406814jne 0x406827
00406816movzx rax, [rip+0x5f1fa]
0040681emov [rbx+744], ax
00406825jmp 0x40682e
00406827
00406827loc_406827:
00406827mov [rbx+744], di
0040682e
0040682eloc_40682e:
0040682emov [rbx+12], 128
00406835lea rax, [rip-876]
0040683cmov [rbx+32], rax
00406840mov rcx, rsi
00406843call fn_40c5a0
00406848mov edi, eax
0040684acmp edi, 259
00406850jle 0x406861
00406852mov ecx, 3
00406857call fn_405a70
0040685cmov edi, 259
00406861
00406861loc_406861:
00406861lea rax, [rbx+96]
00406865mov [rbp+40], rax
00406869mov rcx, rsi
0040686cmov rdx, [rbp+40]
00406870mov r8l, edi
00406873add r8l, r8l
00406876movsxd r8, r8l
00406879call fn_405ac0
0040687emovsxd rdi, edi
00406881mov [rbx+2*rdi+96], 0
00406888mov [rbx+746], 0
0040688fxor eax, eax
00406891lea rsp, [rbp+56]
00406895pop rbx
00406896pop rsi
00406897pop rdi
00406898pop rbp
00406899ret
004067d0
004067d0fn_4067d0:
004067d0push rbp
004067d1push rdi
004067d2push rsi
004067d3push rbx
004067d4sub rsp, 56
004067d8mov rbp, rsp
004067dbmov rbx, rcx
004067demov rsi, rdx
004067e1mov edi, r8l
004067e4mov rcx, rbx
004067e7mov edx, 754
004067ecxor r8, r8
004067efcall fn_4069b0
004067f4lea rax, [rbx+616]
004067fbmov [rbx+24], rax
004067ffmov [rbx+8], -10320
00406805movzx ax, [rip+0x5282e]
0040680dmov [rbx+10], ax
00406811test di, di
00406814jne 0x406827
00406816movzx rax, [rip+0x5f1fa]
0040681emov [rbx+744], ax
00406825jmp 0x40682e
00406827
00406827loc_406827:
00406827mov [rbx+744], di
0040682e
0040682eloc_40682e:
0040682emov [rbx+12], 128
00406835lea rax, [rip-876]
0040683cmov [rbx+32], rax
00406840mov rcx, rsi
00406843call fn_40c5a0
00406848mov edi, eax
0040684acmp edi, 259
00406850jle 0x406861
00406852mov ecx, 3
00406857call fn_405a70
0040685cmov edi, 259
00406861
00406861loc_406861:
00406861lea rax, [rbx+96]
00406865mov [rbp+40], rax
00406869mov rcx, rsi
0040686cmov rdx, [rbp+40]
00406870mov r8l, edi
00406873add r8l, r8l
00406876movsxd r8, r8l
00406879call fn_405ac0
0040687emovsxd rdi, edi
00406881mov [rbx+2*rdi+96], 0
00406888mov [rbx+746], 0
0040688fxor eax, eax
00406891lea rsp, [rbp+56]
00406895pop rbx
00406896pop rsi
00406897pop rdi
00406898pop rbp
00406899ret
004067d0
0040689a
0040689a // align 0x10
0040689a // align 0x10
004068a0
004068a0fn_4068a0:
004068a0push rbx
004068a1sub rsp, 32
004068a5mov rax, rdx
004068a8movzx rdx, [rcx+8]
004068adsub dx, -10319
004068b2test dx, dx
004068b5je 0x4068c7
004068b7sub dx, 1
004068bbcmp dx, 2
004068bfjae 0x4068cb
004068c1call rax
004068c3mov ebx, eax
004068c5jmp 0x4068ec
004068c7
004068c7loc_4068c7:
004068c7xor ebx, ebx
004068c9jmp 0x4068ec
004068cb
004068cbloc_4068cb:
004068cblea rax, [rip+0x5eace]
004068d2cmp rcx, rax
004068d5je 0x4068e3
004068d7lea rax, [rip+0x5edba]
004068decmp rcx, rax
004068e1jne 0x4068e7
004068e3
004068e3loc_4068e3:
004068e3xor ebx, ebx
004068e5jmp 0x4068ec
004068e7
004068e7loc_4068e7:
004068e7mov ebx, 103
004068ec
004068ecloc_4068ec:
004068ectest ebx, ebx
004068eeje 0x4068f7
004068f0mov ecx, ebx
004068f2call fn_405a70
004068f7
004068f7loc_4068f7:
004068f7mov eax, ebx
004068f9add rsp, 32
004068fdpop rbx
004068feret
004068a0
004068a0fn_4068a0:
004068a0push rbx
004068a1sub rsp, 32
004068a5mov rax, rdx
004068a8movzx rdx, [rcx+8]
004068adsub dx, -10319
004068b2test dx, dx
004068b5je 0x4068c7
004068b7sub dx, 1
004068bbcmp dx, 2
004068bfjae 0x4068cb
004068c1call rax
004068c3mov ebx, eax
004068c5jmp 0x4068ec
004068c7
004068c7loc_4068c7:
004068c7xor ebx, ebx
004068c9jmp 0x4068ec
004068cb
004068cbloc_4068cb:
004068cblea rax, [rip+0x5eace]
004068d2cmp rcx, rax
004068d5je 0x4068e3
004068d7lea rax, [rip+0x5edba]
004068decmp rcx, rax
004068e1jne 0x4068e7
004068e3
004068e3loc_4068e3:
004068e3xor ebx, ebx
004068e5jmp 0x4068ec
004068e7
004068e7loc_4068e7:
004068e7mov ebx, 103
004068ec
004068ecloc_4068ec:
004068ectest ebx, ebx
004068eeje 0x4068f7
004068f0mov ecx, ebx
004068f2call fn_405a70
004068f7
004068f7loc_4068f7:
004068f7mov eax, ebx
004068f9add rsp, 32
004068fdpop rbx
004068feret
004068a0
004068ff
004068ff // align 0x10
004068ff // align 0x10
00406900
00406900fn_406900:
00406900sub rsp, 40
00406904mov rax, rcx
00406907mov rdx, [rcx+40]
0040690bmov rcx, rax
0040690ecall fn_4068a0
00406913add rsp, 40
00406917ret
00406900
00406900fn_406900:
00406900sub rsp, 40
00406904mov rax, rcx
00406907mov rdx, [rcx+40]
0040690bmov rcx, rax
0040690ecall fn_4068a0
00406913add rsp, 40
00406917ret
00406900
00406918
00406918 // align 0x10
00406918 // align 0x10
00406920
00406920fn_406920:
00406920sub rsp, 40
00406924mov rax, rcx
00406927mov rdx, [rcx+48]
0040692bmov rcx, rax
0040692ecall fn_4068a0
00406933add rsp, 40
00406937ret
00406920
00406920fn_406920:
00406920sub rsp, 40
00406924mov rax, rcx
00406927mov rdx, [rcx+48]
0040692bmov rcx, rax
0040692ecall fn_4068a0
00406933add rsp, 40
00406937ret
00406920
00406938
00406938 // align 0x10
00406938 // align 0x10
00406940
00406940fn_406940:
00406940push rsi
00406941push rbx
00406942sub rsp, 40
00406946mov rbx, rcx
00406949xor esi, esi
0040694bmovzx rax, [rbx+8]
00406950cmp ax, -10319
00406955jb 0x40698b
00406957cmp ax, -10317
0040695cja 0x40698b
0040695eand ax, -10318
00406963cmp ax, -10318
00406968jne 0x406972
0040696amov rcx, rbx
0040696dcall [rbx+40]
00406970mov esi, eax
00406972
00406972loc_406972:
00406972test esi, esi
00406974jne 0x40697e
00406976mov rcx, rbx
00406979call [rbx+56]
0040697cmov esi, eax
0040697e
0040697eloc_40697e:
0040697etest esi, esi
00406980je 0x4069a1
00406982mov ecx, esi
00406984call fn_405a70
00406989jmp 0x4069a1
0040698b
0040698bloc_40698b:
0040698blea rax, [rip+0x5e716]
00406992cmp rbx, rax
00406995je 0x4069a1
00406997mov ecx, 103
0040699ccall fn_405a70
004069a1
004069a1loc_4069a1:
004069a1mov eax, esi
004069a3add rsp, 40
004069a7pop rbx
004069a8pop rsi
004069a9ret
00406940
00406940fn_406940:
00406940push rsi
00406941push rbx
00406942sub rsp, 40
00406946mov rbx, rcx
00406949xor esi, esi
0040694bmovzx rax, [rbx+8]
00406950cmp ax, -10319
00406955jb 0x40698b
00406957cmp ax, -10317
0040695cja 0x40698b
0040695eand ax, -10318
00406963cmp ax, -10318
00406968jne 0x406972
0040696amov rcx, rbx
0040696dcall [rbx+40]
00406970mov esi, eax
00406972
00406972loc_406972:
00406972test esi, esi
00406974jne 0x40697e
00406976mov rcx, rbx
00406979call [rbx+56]
0040697cmov esi, eax
0040697e
0040697eloc_40697e:
0040697etest esi, esi
00406980je 0x4069a1
00406982mov ecx, esi
00406984call fn_405a70
00406989jmp 0x4069a1
0040698b
0040698bloc_40698b:
0040698blea rax, [rip+0x5e716]
00406992cmp rbx, rax
00406995je 0x4069a1
00406997mov ecx, 103
0040699ccall fn_405a70
004069a1
004069a1loc_4069a1:
004069a1mov eax, esi
004069a3add rsp, 40
004069a7pop rbx
004069a8pop rsi
004069a9ret
00406940
Loading..