File trigona_be6dfedd91e1ebc81d58a61b05b0ef93322425b247636a0f7f5c3eeebbc52edd.exe
Function:
Loading..
00403406
00403406 // align 0x10
00403406 // align 0x10
00403416
00403416 // align 0x10
00403416 // align 0x10
00403420
00403420fn_403420:
00403420push rcx
00403421lea rcx, [rip+0x6fbf8]
00403428push r8
0040342apush r9
0040342csub rsp, 104
00403430movapd [rsp+32], x0
00403436movapd [rsp+48], x1
0040343cmovapd [rsp+64], x2
00403442movapd [rsp+80], x3
00403448call fn_4149b0
0040344dmovapd x3, [rsp+80]
00403453movapd x2, [rsp+64]
00403459movapd x1, [rsp+48]
0040345fmovapd x0, [rsp+32]
00403465add rsp, 104
00403469pop r9
0040346bpop r8
0040346dpop rcx
0040346epop rdx
0040346fjmp rax
00403420
00403420fn_403420:
00403420push rcx
00403421lea rcx, [rip+0x6fbf8]
00403428push r8
0040342apush r9
0040342csub rsp, 104
00403430movapd [rsp+32], x0
00403436movapd [rsp+48], x1
0040343cmovapd [rsp+64], x2
00403442movapd [rsp+80], x3
00403448call fn_4149b0
0040344dmovapd x3, [rsp+80]
00403453movapd x2, [rsp+64]
00403459movapd x1, [rsp+48]
0040345fmovapd x0, [rsp+32]
00403465add rsp, 104
00403469pop r9
0040346bpop r8
0040346dpop rcx
0040346epop rdx
0040346fjmp rax
00403420
00403471
00403471 // align 0x10
00403480
00403480 52 48 8d 15 20 fc 06 00 e9 93 ff ff ff cc cc cc RH.. ...........
00403471 // align 0x10
00403480
00403480 52 48 8d 15 20 fc 06 00 e9 93 ff ff ff cc cc cc RH.. ...........
00403496
00403496 // align 0x10
00403496 // align 0x10
004034a6
004034a6 // align 0x10
004034a6 // align 0x10
004034b6
004034b6 // align 0x10
004034b6 // align 0x10
004034c6
004034c6 // align 0x10
004034c6 // align 0x10
004034d6
004034d6 // align 0x10
004034d6 // align 0x10
004034e6
004034e6 // align 0x10
004034e6 // align 0x10
004034f6
004034f6 // align 0x10
004034f6 // align 0x10
00403506
00403506 // align 0x10
00403506 // align 0x10
00403516
00403516 // align 0x10
00403516 // align 0x10
00403526
00403526 // align 0x10
00403526 // align 0x10
00403536
00403536 // align 0x10
00403536 // align 0x10
00403546
00403546 // align 0x10
00403546 // align 0x10
00403550
00403550fn_403550:
00403550push rcx
00403551lea rcx, [rip+0x6faa8]
00403558push r8
0040355apush r9
0040355csub rsp, 104
00403560movapd [rsp+32], x0
00403566movapd [rsp+48], x1
0040356cmovapd [rsp+64], x2
00403572movapd [rsp+80], x3
00403578call fn_4149b0
0040357dmovapd x3, [rsp+80]
00403583movapd x2, [rsp+64]
00403589movapd x1, [rsp+48]
0040358fmovapd x0, [rsp+32]
00403595add rsp, 104
00403599pop r9
0040359bpop r8
0040359dpop rcx
0040359epop rdx
0040359fjmp rax
00403550
00403550fn_403550:
00403550push rcx
00403551lea rcx, [rip+0x6faa8]
00403558push r8
0040355apush r9
0040355csub rsp, 104
00403560movapd [rsp+32], x0
00403566movapd [rsp+48], x1
0040356cmovapd [rsp+64], x2
00403572movapd [rsp+80], x3
00403578call fn_4149b0
0040357dmovapd x3, [rsp+80]
00403583movapd x2, [rsp+64]
00403589movapd x1, [rsp+48]
0040358fmovapd x0, [rsp+32]
00403595add rsp, 104
00403599pop r9
0040359bpop r8
0040359dpop rcx
0040359epop rdx
0040359fjmp rax
00403550
004035a1
004035a1 // align 0x10
004035b0
004035b0 52 48 8d 15 e8 fa 06 00 e9 93 ff ff ff cc cc cc RH..............
004035a1 // align 0x10
004035b0
004035b0 52 48 8d 15 e8 fa 06 00 e9 93 ff ff ff cc cc cc RH..............
004035c6
004035c6 // align 0x10
004035c6 // align 0x10
004035d0
004035d0fn_4035d0:
004035d0push rbx
004035d1sub rsp, 144
004035d8mov ebx, 10
004035ddmov [rsp+40], 104
004035e5lea rcx, [rsp+40]
004035eacall GetStartupInfoW
004035efmov eax, [rsp+100]
004035f3test eax, 1
004035f9je 0x403600
004035fbmovzx ebx, [rsp+104]
00403600
00403600loc_403600:
00403600mov eax, ebx
00403602add rsp, 144
00403609pop rbx
0040360aret
004035d0
004035d0fn_4035d0:
004035d0push rbx
004035d1sub rsp, 144
004035d8mov ebx, 10
004035ddmov [rsp+40], 104
004035e5lea rcx, [rsp+40]
004035eacall GetStartupInfoW
004035efmov eax, [rsp+100]
004035f3test eax, 1
004035f9je 0x403600
004035fbmovzx ebx, [rsp+104]
00403600
00403600loc_403600:
00403600mov eax, ebx
00403602add rsp, 144
00403609pop rbx
0040360aret
004035d0
0040360b
0040360b // align 0x10
0040360b // align 0x10
00403616
00403616 // align 0x10
00403616 // align 0x10
00403626
00403626 // align 0x10
00403626 // align 0x10
00403636
00403636 // align 0x10
00403636 // align 0x10
00403646
00403646 41 6e 20 75 6e 65 78 70 65 63 An unexpec
00403650 74 65 64 20 6d 65 6d 6f 72 79 20 6c 65 61 6b 20 ted memory leak
00403660 68 61 73 20 6f 63 63 75 72 72 65 64 2e 20 00 has occurred. .
00403646 41 6e 20 75 6e 65 78 70 65 63 An unexpec
00403650 74 65 64 20 6d 65 6d 6f 72 79 20 6c 65 61 6b 20 ted memory leak
00403660 68 61 73 20 6f 63 63 75 72 72 65 64 2e 20 00 has occurred. .
0040366f
0040366ffn_40366f:
0040366fpush rsp
00403670push 0x6e752065
00403675js 0x4036e8
00403678movsxd rsi, [rbp+100]
0040367dand [rbx+109], dh
00403680db 0x61
00403681db 0x6c
00403682db 0x6c
00403683db 0x20
00403684db 0x62
00403685db 0x6c
00403686db 0x6f
00403687db 0x63
00403688db 0x6b
00403689db 0x20
0040368adb 0x6c
0040368bdb 0x65
0040368cdb 0x61
0040368ddb 0x6b
0040368edb 0x73
0040368fdb 0x20
00403690db 0x61
00403691db 0x72
00403692db 0x65
00403693db 0x3a
00403694db 0x0d
00403695db 0x0a
00403696db 0x00
00403697db 0x54
00403698db 0x68
00403699db 0x65
0040369adb 0x20
0040369bdb 0x73
0040369cdb 0x69
0040369ddb 0x7a
0040369edb 0x65
0040369fdb 0x73
004036a0db 0x20
004036a1db 0x6f
004036a2db 0x66
004036a3db 0x20
004036a4db 0x75
004036a5db 0x6e
004036a6db 0x65
004036a7db 0x78
004036a8db 0x70
004036a9db 0x65
004036aadb 0x63
004036abdb 0x74
004036acdb 0x65
004036addb 0x64
004036aedb 0x20
004036afdb 0x6c
004036b0db 0x65
004036b1db 0x61
004036b2db 0x6b
004036b3db 0x65
004036b4db 0x64
004036b5db 0x20
004036b6db 0x6d
004036b7db 0x65
004036b8db 0x64
004036b9db 0x69
004036badb 0x75
004036bbdb 0x6d
004036bcdb 0x20
004036bddb 0x61
004036bedb 0x6e
004036bfdb 0x64
004036c0db 0x20
004036c1db 0x6c
004036c2db 0x61
004036c3db 0x72
004036c4db 0x67
004036c5db 0x65
004036c6db 0x20
004036c7db 0x62
004036c8db 0x6c
004036c9db 0x6f
004036cadb 0x63
004036cbdb 0x6b
004036ccdb 0x73
004036cddb 0x20
004036cedb 0x61
004036cfdb 0x72
004036d0db 0x65
004036d1db 0x3a
004036d2db 0x20
004036d3db 0x00
004036d4db 0x20
004036d5db 0x62
004036d6db 0x79
004036d7db 0x74
004036d8db 0x65
004036d9db 0x73
004036dadb 0x3a
004036dbdb 0x20
004036dcdb 0x00
004036ddpush rbp
004036deoutsb dl, [rsi]
004036dfimul ebp, [rsi+111], 119
004036e3outsb dl, [rsi]
004036e4add [rcx+110], al
004036e7jae 0x403752
004036e9push rbx
004036eaje 0x40375e
004036ecimul ebp, [rsi+103], 0x696e5500
004036f3movsxd rbp, [rdi+100]
004036f6push rbx
004036f8je 0x40376c
004036fadb 0x69
004036fboutsb dl, [rsi]
0040366f
0040366ffn_40366f:
0040366fpush rsp
00403670push 0x6e752065
00403675js 0x4036e8
00403678movsxd rsi, [rbp+100]
0040367dand [rbx+109], dh
00403680db 0x61
00403681db 0x6c
00403682db 0x6c
00403683db 0x20
00403684db 0x62
00403685db 0x6c
00403686db 0x6f
00403687db 0x63
00403688db 0x6b
00403689db 0x20
0040368adb 0x6c
0040368bdb 0x65
0040368cdb 0x61
0040368ddb 0x6b
0040368edb 0x73
0040368fdb 0x20
00403690db 0x61
00403691db 0x72
00403692db 0x65
00403693db 0x3a
00403694db 0x0d
00403695db 0x0a
00403696db 0x00
00403697db 0x54
00403698db 0x68
00403699db 0x65
0040369adb 0x20
0040369bdb 0x73
0040369cdb 0x69
0040369ddb 0x7a
0040369edb 0x65
0040369fdb 0x73
004036a0db 0x20
004036a1db 0x6f
004036a2db 0x66
004036a3db 0x20
004036a4db 0x75
004036a5db 0x6e
004036a6db 0x65
004036a7db 0x78
004036a8db 0x70
004036a9db 0x65
004036aadb 0x63
004036abdb 0x74
004036acdb 0x65
004036addb 0x64
004036aedb 0x20
004036afdb 0x6c
004036b0db 0x65
004036b1db 0x61
004036b2db 0x6b
004036b3db 0x65
004036b4db 0x64
004036b5db 0x20
004036b6db 0x6d
004036b7db 0x65
004036b8db 0x64
004036b9db 0x69
004036badb 0x75
004036bbdb 0x6d
004036bcdb 0x20
004036bddb 0x61
004036bedb 0x6e
004036bfdb 0x64
004036c0db 0x20
004036c1db 0x6c
004036c2db 0x61
004036c3db 0x72
004036c4db 0x67
004036c5db 0x65
004036c6db 0x20
004036c7db 0x62
004036c8db 0x6c
004036c9db 0x6f
004036cadb 0x63
004036cbdb 0x6b
004036ccdb 0x73
004036cddb 0x20
004036cedb 0x61
004036cfdb 0x72
004036d0db 0x65
004036d1db 0x3a
004036d2db 0x20
004036d3db 0x00
004036d4db 0x20
004036d5db 0x62
004036d6db 0x79
004036d7db 0x74
004036d8db 0x65
004036d9db 0x73
004036dadb 0x3a
004036dbdb 0x20
004036dcdb 0x00
004036ddpush rbp
004036deoutsb dl, [rsi]
004036dfimul ebp, [rsi+111], 119
004036e3outsb dl, [rsi]
004036e4add [rcx+110], al
004036e7jae 0x403752
004036e9push rbx
004036eaje 0x40375e
004036ecimul ebp, [rsi+103], 0x696e5500
004036f3movsxd rbp, [rdi+100]
004036f6push rbx
004036f8je 0x40376c
004036fadb 0x69
004036fboutsb dl, [rsi]
0040366f
004036fc
004036fc 67 00 g.
004036fc 67 00 g.
004036fe
004036fefn_4036fe:
004036feor eax, 0x5500000a
00403703outsb dl, [rsi]
00403704js 0x403777
00403707movsxd rsi, [rbp+100]
0040370cand [rbp+101], cl
0040370finsd [rdi], dx
00403710outsd dx, [rsi]
00403711jb 0x40378c
00403713and [rbp+97], cl
00403717imul eax, [rax], -52
0040371aint 3
004036fe
004036fefn_4036fe:
004036feor eax, 0x5500000a
00403703outsb dl, [rsi]
00403704js 0x403777
00403707movsxd rsi, [rbp+100]
0040370cand [rbp+101], cl
0040370finsd [rdi], dx
00403710outsd dx, [rsi]
00403711jb 0x40378c
00403713and [rbp+97], cl
00403717imul eax, [rax], -52
0040371aint 3
004036fe
0040371b
0040371b // align 0x10
0040371b // align 0x10
00403727
00403727 // align 0x10
00403727 // align 0x10
00403730
00403730fn_403730:
00403730movdqa x0, [rcx]
00403734mov r8, [rcx+16]
00403738movdqa [rdx], x0
0040373cmov [rdx+16], r8
00403740ret
00403730
00403730fn_403730:
00403730movdqa x0, [rcx]
00403734mov r8, [rcx+16]
00403738movdqa [rdx], x0
0040373cmov [rdx+16], r8
00403740ret
00403730
00403741
00403741 // align 0x10
00403741 // align 0x10
00403750
00403750fn_403750:
00403750movdqa x0, [rcx]
00403754movdqa x1, [rcx+16]
00403759mov r8, [rcx+32]
0040375dmovdqa [rdx], x0
00403761movdqa [rdx+16], x1
00403766mov [rdx+32], r8
0040376aret
00403750
00403750fn_403750:
00403750movdqa x0, [rcx]
00403754movdqa x1, [rcx+16]
00403759mov r8, [rcx+32]
0040375dmovdqa [rdx], x0
00403761movdqa [rdx+16], x1
00403766mov [rdx+32], r8
0040376aret
00403750
0040376b
0040376b // align 0x10
0040376b // align 0x10
00403770
00403770fn_403770:
00403770movdqa x0, [rcx]
00403774movdqa x1, [rcx+16]
00403779movdqa x2, [rcx+32]
0040377emov r8, [rcx+48]
00403782movdqa [rdx], x0
00403786movdqa [rdx+16], x1
0040378bmovdqa [rdx+32], x2
00403790mov [rdx+48], r8
00403794ret
00403770
00403770fn_403770:
00403770movdqa x0, [rcx]
00403774movdqa x1, [rcx+16]
00403779movdqa x2, [rcx+32]
0040377emov r8, [rcx+48]
00403782movdqa [rdx], x0
00403786movdqa [rdx+16], x1
0040378bmovdqa [rdx+32], x2
00403790mov [rdx+48], r8
00403794ret
00403770
00403795
00403795 // align 0x10
00403795 // align 0x10
004037a0
004037a0fn_4037a0:
004037a0sub r8, 8
004037a4add rcx, r8
004037a7add rdx, r8
004037aaneg r8
004037adjns 0x4037c1
004037af
004037afloc_4037af:
004037afmovdqa x0, [rcx+r8]
004037b5movdqa [rdx+r8], x0
004037bbadd r8, 16
004037bfjs 0x4037af
004037c1
004037c1loc_4037c1:
004037c1mov r9, [rcx+r8]
004037c5mov [rdx+r8], r9
004037c9ret
004037a0
004037a0fn_4037a0:
004037a0sub r8, 8
004037a4add rcx, r8
004037a7add rdx, r8
004037aaneg r8
004037adjns 0x4037c1
004037af
004037afloc_4037af:
004037afmovdqa x0, [rcx+r8]
004037b5movdqa [rdx+r8], x0
004037bbadd r8, 16
004037bfjs 0x4037af
004037c1
004037c1loc_4037c1:
004037c1mov r9, [rcx+r8]
004037c5mov [rdx+r8], r9
004037c9ret
004037a0
004037ca
004037ca // align 0x10
004037ca // align 0x10
004037d0
004037d0fn_4037d0:
004037d0sub rsp, 40
004037d4cmp [rip+0x618be], 0
004037dbje 0x40381a
004037ddjmp 0x403809
004037df
004037dfloc_4037df:
004037dfcmp [rip+0x6223f], 0
004037e6jne 0x403809
004037e8xor ecx, ecx
004037eacall Sleep
004037efxor eax, eax
004037f1mov cl, 1
004037f3lock cmpxchg [rip+0x6239d], cl
004037fbtest al, al
004037fdje 0x403819
004037ffmov ecx, 10
00403804call Sleep
00403809
00403809loc_403809:
00403809xor eax, eax
0040380bmov cl, 1
0040380dlock cmpxchg [rip+0x62383], cl
00403815test al, al
00403817jne 0x4037df
00403819
00403819loc_403819:
00403819nop
0040381a
0040381aloc_40381a:
0040381aadd rsp, 40
0040381eret
004037d0
004037d0fn_4037d0:
004037d0sub rsp, 40
004037d4cmp [rip+0x618be], 0
004037dbje 0x40381a
004037ddjmp 0x403809
004037df
004037dfloc_4037df:
004037dfcmp [rip+0x6223f], 0
004037e6jne 0x403809
004037e8xor ecx, ecx
004037eacall Sleep
004037efxor eax, eax
004037f1mov cl, 1
004037f3lock cmpxchg [rip+0x6239d], cl
004037fbtest al, al
004037fdje 0x403819
004037ffmov ecx, 10
00403804call Sleep
00403809
00403809loc_403809:
00403809xor eax, eax
0040380bmov cl, 1
0040380dlock cmpxchg [rip+0x62383], cl
00403815test al, al
00403817jne 0x4037df
00403819
00403819loc_403819:
00403819nop
0040381a
0040381aloc_40381a:
0040381aadd rsp, 40
0040381eret
004037d0
0040381f
0040381f // align 0x10
0040381f // align 0x10
00403820
00403820fn_403820:
00403820mov rax, rcx
00403823mov rcx, [rax+8]
00403827mov rdx, [rax]
0040382acmp rcx, rdx
0040382dmov [rcx], rdx
00403830mov [rdx+8], rcx
00403834jne 0x40386b
00403836lea r8, [rip+0x623f3]
0040383dsub rcx, r8
00403840mov edx, ecx
00403842shr ecx, 4
00403845shr edx, 9
00403848mov eax, -2
0040384drol eax, cl
0040384flea r8, [rip+0x6235a]
00403856and [r8+4*rdx], eax
0040385ajne 0x40386b
0040385cmov eax, -2
00403861mov ecx, edx
00403863rol eax, cl
00403865and [rip+0x62341], eax
0040386b
0040386bloc_40386b:
0040386bret
00403820
00403820fn_403820:
00403820mov rax, rcx
00403823mov rcx, [rax+8]
00403827mov rdx, [rax]
0040382acmp rcx, rdx
0040382dmov [rcx], rdx
00403830mov [rdx+8], rcx
00403834jne 0x40386b
00403836lea r8, [rip+0x623f3]
0040383dsub rcx, r8
00403840mov edx, ecx
00403842shr ecx, 4
00403845shr edx, 9
00403848mov eax, -2
0040384drol eax, cl
0040384flea r8, [rip+0x6235a]
00403856and [r8+4*rdx], eax
0040385ajne 0x40386b
0040385cmov eax, -2
00403861mov ecx, edx
00403863rol eax, cl
00403865and [rip+0x62341], eax
0040386b
0040386bloc_40386b:
0040386bret
00403820
0040386c
0040386c // align 0x10
0040386c // align 0x10
00403870
00403870fn_403870:
00403870mov rax, rcx
00403873sub edx, 2864
00403879shr edx, 8
0040387csub edx, 1023
00403882sbb ecx, ecx
00403884and edx, ecx
00403886add edx, 1023
0040388cmov r9, rdx
0040388flea rcx, [rip+0x6239a]
00403896shl edx, 4
00403899add rcx, rdx
0040389cmov rdx, [rcx+8]
004038a0cmp rdx, rcx
004038a3mov [rax], rcx
004038a6mov [rax+8], rdx
004038aamov [rdx], rax
004038admov [rcx+8], rax
004038b1jne 0x4038dd
004038b3mov rcx, r9
004038b6mov rdx, r9
004038b9shr edx, 5
004038bcmov eax, 1
004038c1shl eax, cl
004038c3lea r8, [rip+0x622e6]
004038caor [r8+4*rdx], eax
004038cemov eax, 1
004038d3mov ecx, edx
004038d5shl eax, cl
004038d7or [rip+0x622cf], eax
004038dd
004038ddloc_4038dd:
004038ddret
00403870
00403870fn_403870:
00403870mov rax, rcx
00403873sub edx, 2864
00403879shr edx, 8
0040387csub edx, 1023
00403882sbb ecx, ecx
00403884and edx, ecx
00403886add edx, 1023
0040388cmov r9, rdx
0040388flea rcx, [rip+0x6239a]
00403896shl edx, 4
00403899add rcx, rdx
0040389cmov rdx, [rcx+8]
004038a0cmp rdx, rcx
004038a3mov [rax], rcx
004038a6mov [rax+8], rdx
004038aamov [rdx], rax
004038admov [rcx+8], rax
004038b1jne 0x4038dd
004038b3mov rcx, r9
004038b6mov rdx, r9
004038b9shr edx, 5
004038bcmov eax, 1
004038c1shl eax, cl
004038c3lea r8, [rip+0x622e6]
004038caor [r8+4*rdx], eax
004038cemov eax, 1
004038d3mov ecx, edx
004038d5shl eax, cl
004038d7or [rip+0x622cf], eax
004038dd
004038ddloc_4038dd:
004038ddret
00403870
004038de
004038de // align 0x10
004038de // align 0x10
004038e0
004038e0fn_4038e0:
004038e0push rbp
004038e1sub rsp, 32
004038e5mov rbp, rsp
004038e8xor eax, eax
004038eacmp [rip+0x622b8], eax
004038f0je 0x40396c
004038f2mov rax, [rip+0x622a7]
004038f9test [rax-8], 1
004038fdjne 0x40392c
004038ffor [rax-8], 8
00403904mov edx, [rip+0x6229e]
0040390asub rax, rdx
0040390d
0040390dloc_40390d:
0040390dlea rcx, [rdx+3]
00403911mov [rax-8], rcx
00403915mov [rax+rdx-16], rdx
0040391acmp edx, 2864
00403920jb 0x40396c
00403922mov rcx, rax
00403925call fn_403870
0040392ajmp 0x40396c
0040392c
0040392cloc_40392c:
0040392cmov rdx, -16
00403936and rdx, [rax-8]
0040393acmp edx, 2864
00403940jb 0x40395f
00403942mov rcx, rax
00403945call fn_403820
0040394amov rax, [rip+0x6224f]
00403951mov rdx, -16
0040395band rdx, [rax-8]
0040395f
0040395floc_40395f:
0040395fmov ecx, [rip+0x62243]
00403965sub rax, rcx
00403968add edx, ecx
0040396ajmp 0x40390d
0040396c
0040396cloc_40396c:
0040396clea rsp, [rbp+32]
00403970pop rbp
00403971ret
004038e0
004038e0fn_4038e0:
004038e0push rbp
004038e1sub rsp, 32
004038e5mov rbp, rsp
004038e8xor eax, eax
004038eacmp [rip+0x622b8], eax
004038f0je 0x40396c
004038f2mov rax, [rip+0x622a7]
004038f9test [rax-8], 1
004038fdjne 0x40392c
004038ffor [rax-8], 8
00403904mov edx, [rip+0x6229e]
0040390asub rax, rdx
0040390d
0040390dloc_40390d:
0040390dlea rcx, [rdx+3]
00403911mov [rax-8], rcx
00403915mov [rax+rdx-16], rdx
0040391acmp edx, 2864
00403920jb 0x40396c
00403922mov rcx, rax
00403925call fn_403870
0040392ajmp 0x40396c
0040392c
0040392cloc_40392c:
0040392cmov rdx, -16
00403936and rdx, [rax-8]
0040393acmp edx, 2864
00403940jb 0x40395f
00403942mov rcx, rax
00403945call fn_403820
0040394amov rax, [rip+0x6224f]
00403951mov rdx, -16
0040395band rdx, [rax-8]
0040395f
0040395floc_40395f:
0040395fmov ecx, [rip+0x62243]
00403965sub rax, rcx
00403968add edx, ecx
0040396ajmp 0x40390d
0040396c
0040396cloc_40396c:
0040396clea rsp, [rbp+32]
00403970pop rbp
00403971ret
004038e0
00403972
00403972 // align 0x10
00403972 // align 0x10
00403980
00403980fn_403980:
00403980push rbx
00403981sub rsp, 32
00403985mov ebx, ecx
00403987call fn_4038e0
0040398cxor ecx, ecx
0040398emov edx, 0x13fff0
00403993mov r8l, 4096
00403999mov r9l, 4
0040399fcall VirtualAlloc
004039a4mov rcx, rax
004039a7test rcx, rcx
004039aaje 0x403a07
004039acmov rax, [rip+0x621cd]
004039b3mov rdx, rcx
004039b6lea r8, [rip+0x621bb]
004039bdmov [rdx], r8
004039c0mov [rip+0x621b9], rcx
004039c7mov [rdx+8], rax
004039cbmov [rax], rcx
004039cemov [rdx+0x13ffe8], 2
004039d9mov eax, 0x13ffd0
004039desub eax, ebx
004039e0mov [rip+0x621c2], eax
004039e6mov eax, ebx
004039e8sub rdx, rax
004039ebadd rdx, 0x13fff0
004039f2mov rax, rdx
004039f5mov [rip+0x621a4], rax
004039fcor ebx, 2
004039ffmov ebx, ebx
00403a01mov [rax-8], rbx
00403a05jmp 0x403a13
00403a07
00403a07loc_403a07:
00403a07mov [rip+0x62197], 0
00403a11xor eax, eax
00403a13
00403a13loc_403a13:
00403a13add rsp, 32
00403a17pop rbx
00403a18ret
00403980
00403980fn_403980:
00403980push rbx
00403981sub rsp, 32
00403985mov ebx, ecx
00403987call fn_4038e0
0040398cxor ecx, ecx
0040398emov edx, 0x13fff0
00403993mov r8l, 4096
00403999mov r9l, 4
0040399fcall VirtualAlloc
004039a4mov rcx, rax
004039a7test rcx, rcx
004039aaje 0x403a07
004039acmov rax, [rip+0x621cd]
004039b3mov rdx, rcx
004039b6lea r8, [rip+0x621bb]
004039bdmov [rdx], r8
004039c0mov [rip+0x621b9], rcx
004039c7mov [rdx+8], rax
004039cbmov [rax], rcx
004039cemov [rdx+0x13ffe8], 2
004039d9mov eax, 0x13ffd0
004039desub eax, ebx
004039e0mov [rip+0x621c2], eax
004039e6mov eax, ebx
004039e8sub rdx, rax
004039ebadd rdx, 0x13fff0
004039f2mov rax, rdx
004039f5mov [rip+0x621a4], rax
004039fcor ebx, 2
004039ffmov ebx, ebx
00403a01mov [rax-8], rbx
00403a05jmp 0x403a13
00403a07
00403a07loc_403a07:
00403a07mov [rip+0x62197], 0
00403a11xor eax, eax
00403a13
00403a13loc_403a13:
00403a13add rsp, 32
00403a17pop rbx
00403a18ret
00403980
00403a19
00403a19 // align 0x10
00403a19 // align 0x10
00403a20
00403a20fn_403a20:
00403a20sub rsp, 40
00403a24cmp [rip+0x6166e], 0
00403a2bje 0x403a6a
00403a2djmp 0x403a59
00403a2f
00403a2floc_403a2f:
00403a2fcmp [rip+0x61fef], 0
00403a36jne 0x403a59
00403a38xor ecx, ecx
00403a3acall Sleep
00403a3fxor eax, eax
00403a41mov cl, 1
00403a43lock cmpxchg [rip+0x661e5], cl
00403a4btest al, al
00403a4dje 0x403a69
00403a4fmov ecx, 10
00403a54call Sleep
00403a59
00403a59loc_403a59:
00403a59xor eax, eax
00403a5bmov cl, 1
00403a5dlock cmpxchg [rip+0x661cb], cl
00403a65test al, al
00403a67jne 0x403a2f
00403a69
00403a69loc_403a69:
00403a69nop
00403a6a
00403a6aloc_403a6a:
00403a6aadd rsp, 40
00403a6eret
00403a20
00403a20fn_403a20:
00403a20sub rsp, 40
00403a24cmp [rip+0x6166e], 0
00403a2bje 0x403a6a
00403a2djmp 0x403a59
00403a2f
00403a2floc_403a2f:
00403a2fcmp [rip+0x61fef], 0
00403a36jne 0x403a59
00403a38xor ecx, ecx
00403a3acall Sleep
00403a3fxor eax, eax
00403a41mov cl, 1
00403a43lock cmpxchg [rip+0x661e5], cl
00403a4btest al, al
00403a4dje 0x403a69
00403a4fmov ecx, 10
00403a54call Sleep
00403a59
00403a59loc_403a59:
00403a59xor eax, eax
00403a5bmov cl, 1
00403a5dlock cmpxchg [rip+0x661cb], cl
00403a65test al, al
00403a67jne 0x403a2f
00403a69
00403a69loc_403a69:
00403a69nop
00403a6a
00403a6aloc_403a6a:
00403a6aadd rsp, 40
00403a6eret
00403a20
00403a6f
00403a6f // align 0x10
00403a6f // align 0x10
00403a70
00403a70fn_403a70:
00403a70push r13
00403a72push rdi
00403a73push rsi
00403a74push rbx
00403a75sub rsp, 40
00403a79mov rbx, rcx
00403a7clea rdi, [rbx+0x10027]
00403a83and rdi, 0xffffffffffff0000
00403a8axor ecx, ecx
00403a8cmov rdx, rdi
00403a8fmov r8l, 0x101000
00403a95mov r9l, 4
00403a9bcall VirtualAlloc
00403aa0mov rsi, rax
00403aa3test rsi, rsi
00403aa6je 0x403ae7
00403aa8mov r13, rsi
00403aabmov [r13+16], rbx
00403aafor rdi, 4
00403ab3mov [r13+24], rdi
00403ab7call fn_403a20
00403abcmov rax, [rip+0x6617d]
00403ac3lea rcx, [rip+0x6616e]
00403acamov [r13], rcx
00403acemov [rip+0x6616b], rsi
00403ad5mov [r13+8], rax
00403ad9mov [rax], rsi
00403adcmov [rip+0x6614d], 0
00403ae3add rsi, 32
00403ae7
00403ae7loc_403ae7:
00403ae7mov rax, rsi
00403aeaadd rsp, 40
00403aeepop rbx
00403aefpop rsi
00403af0pop rdi
00403af1pop r13
00403af3ret
00403a70
00403a70fn_403a70:
00403a70push r13
00403a72push rdi
00403a73push rsi
00403a74push rbx
00403a75sub rsp, 40
00403a79mov rbx, rcx
00403a7clea rdi, [rbx+0x10027]
00403a83and rdi, 0xffffffffffff0000
00403a8axor ecx, ecx
00403a8cmov rdx, rdi
00403a8fmov r8l, 0x101000
00403a95mov r9l, 4
00403a9bcall VirtualAlloc
00403aa0mov rsi, rax
00403aa3test rsi, rsi
00403aa6je 0x403ae7
00403aa8mov r13, rsi
00403aabmov [r13+16], rbx
00403aafor rdi, 4
00403ab3mov [r13+24], rdi
00403ab7call fn_403a20
00403abcmov rax, [rip+0x6617d]
00403ac3lea rcx, [rip+0x6616e]
00403acamov [r13], rcx
00403acemov [rip+0x6616b], rsi
00403ad5mov [r13+8], rax
00403ad9mov [rax], rsi
00403adcmov [rip+0x6614d], 0
00403ae3add rsi, 32
00403ae7
00403ae7loc_403ae7:
00403ae7mov rax, rsi
00403aeaadd rsp, 40
00403aeepop rbx
00403aefpop rsi
00403af0pop rdi
00403af1pop r13
00403af3ret
00403a70
00403af4
00403af4 // align 0x10
00403af4 // align 0x10
00403b00
00403b00fn_403b00:
00403b00push rbp
00403b01push r14
00403b03push r13
00403b05push rdi
00403b06push rsi
00403b07push rbx
00403b08sub rsp, 88
00403b0cmov rbp, rsp
00403b0fmov rbx, rcx
00403b12sub rbx, 32
00403b16call fn_403a20
00403b1bmov rax, rbx
00403b1emov rsi, [rax]
00403b21mov rdi, [rax+8]
00403b25mov rax, [rax+24]
00403b29mov rcx, rax
00403b2ctest rcx, 8
00403b33jne 0x403b52
00403b35mov rcx, rbx
00403b38xor edx, edx
00403b3amov r8l, 32768
00403b40call VirtualFree
00403b45test eax, eax
00403b47je 0x403b4d
00403b49xor ebx, ebx
00403b4bjmp 0x403b9b
00403b4d
00403b4dloc_403b4d:
00403b4dor ebx, -1
00403b50jmp 0x403b9b
00403b52
00403b52loc_403b52:
00403b52mov r14, rbx
00403b55mov r13, rax
00403b58and r13, -16
00403b5cxor ebx, ebx
00403b5e
00403b5eloc_403b5e:
00403b5emov rcx, r14
00403b61lea rdx, [rbp+32]
00403b65mov r8l, 48
00403b6bcall VirtualQuery
00403b70mov rcx, r14
00403b73xor edx, edx
00403b75mov r8l, 32768
00403b7bcall VirtualFree
00403b80test eax, eax
00403b82jne 0x403b89
00403b84or ebx, -1
00403b87jmp 0x403b9a
00403b89
00403b89loc_403b89:
00403b89mov rax, [rbp+56]
00403b8dcmp rax, r13
00403b90jae 0x403b9a
00403b92sub r13, rax
00403b95add r14, rax
00403b98jmp 0x403b5e
00403b9a
00403b9aloc_403b9a:
00403b9anop
00403b9b
00403b9bloc_403b9b:
00403b9btest ebx, ebx
00403b9djne 0x403ba6
00403b9fmov [rdi], rsi
00403ba2mov [rsi+8], rdi
00403ba6
00403ba6loc_403ba6:
00403ba6mov [rip+0x66083], 0
00403badmov eax, ebx
00403baflea rsp, [rbp+88]
00403bb3pop rbx
00403bb4pop rsi
00403bb5pop rdi
00403bb6pop r13
00403bb8pop r14
00403bbapop rbp
00403bbbret
00403b00
00403b00fn_403b00:
00403b00push rbp
00403b01push r14
00403b03push r13
00403b05push rdi
00403b06push rsi
00403b07push rbx
00403b08sub rsp, 88
00403b0cmov rbp, rsp
00403b0fmov rbx, rcx
00403b12sub rbx, 32
00403b16call fn_403a20
00403b1bmov rax, rbx
00403b1emov rsi, [rax]
00403b21mov rdi, [rax+8]
00403b25mov rax, [rax+24]
00403b29mov rcx, rax
00403b2ctest rcx, 8
00403b33jne 0x403b52
00403b35mov rcx, rbx
00403b38xor edx, edx
00403b3amov r8l, 32768
00403b40call VirtualFree
00403b45test eax, eax
00403b47je 0x403b4d
00403b49xor ebx, ebx
00403b4bjmp 0x403b9b
00403b4d
00403b4dloc_403b4d:
00403b4dor ebx, -1
00403b50jmp 0x403b9b
00403b52
00403b52loc_403b52:
00403b52mov r14, rbx
00403b55mov r13, rax
00403b58and r13, -16
00403b5cxor ebx, ebx
00403b5e
00403b5eloc_403b5e:
00403b5emov rcx, r14
00403b61lea rdx, [rbp+32]
00403b65mov r8l, 48
00403b6bcall VirtualQuery
00403b70mov rcx, r14
00403b73xor edx, edx
00403b75mov r8l, 32768
00403b7bcall VirtualFree
00403b80test eax, eax
00403b82jne 0x403b89
00403b84or ebx, -1
00403b87jmp 0x403b9a
00403b89
00403b89loc_403b89:
00403b89mov rax, [rbp+56]
00403b8dcmp rax, r13
00403b90jae 0x403b9a
00403b92sub r13, rax
00403b95add r14, rax
00403b98jmp 0x403b5e
00403b9a
00403b9aloc_403b9a:
00403b9anop
00403b9b
00403b9bloc_403b9b:
00403b9btest ebx, ebx
00403b9djne 0x403ba6
00403b9fmov [rdi], rsi
00403ba2mov [rsi+8], rdi
00403ba6
00403ba6loc_403ba6:
00403ba6mov [rip+0x66083], 0
00403badmov eax, ebx
00403baflea rsp, [rbp+88]
00403bb3pop rbx
00403bb4pop rsi
00403bb5pop rdi
00403bb6pop r13
00403bb8pop r14
00403bbapop rbp
00403bbbret
00403b00
00403bbc
00403bbc // align 0x10
00403bbc // align 0x10
00403bc0
00403bc0fn_403bc0:
00403bc0push rbp
00403bc1push r14
00403bc3push r13
00403bc5push rdi
00403bc6push rsi
00403bc7push rbx
00403bc8sub rsp, 88
00403bccmov rbp, rsp
00403bcfmov rbx, rcx
00403bd2mov rsi, rdx
00403bd5mov r14, rbx
00403bd8mov rax, [r14-8]
00403bdcmov rcx, rax
00403bdfand rcx, -16
00403be3lea rdi, [rcx-40]
00403be7cmp rsi, rdi
00403beajbe 0x403cee
00403bf0mov rcx, rdi
00403bf3shr rcx, 2
00403bf7lea r13, [rdi+rcx]
00403bfbcmp rsi, r13
00403bfejb 0x403c03
00403c00mov r13, rsi
00403c03
00403c03loc_403c03:
00403c03and rax, -16
00403c07lea r14, [r14+rax-32]
00403c0cmov rcx, r14
00403c0flea rdx, [rbp+32]
00403c13mov r8l, 48
00403c19call VirtualQuery
00403c1ecmp [rbp+64], 0x10000
00403c25jne 0x403cb5
00403c2band [rbp+56], 0xffffffffffff0000
00403c33mov rax, [rbp+56]
00403c37mov rcx, rsi
00403c3asub rcx, rdi
00403c3dcmp rax, rcx
00403c40jbe 0x403cb5
00403c42mov rcx, r13
00403c45sub rcx, rdi
00403c48add rcx, 65535
00403c4fand rcx, 0xffffffffffff0000
00403c56mov rdi, rcx
00403c59cmp rdi, rax
00403c5cjbe 0x403c61
00403c5emov rdi, rax
00403c61
00403c61loc_403c61:
00403c61mov rcx, r14
00403c64mov rdx, rdi
00403c67mov r8l, 8192
00403c6dmov r9l, 4
00403c73call VirtualAlloc
00403c78test rax, rax
00403c7bje 0x403cb5
00403c7dmov rcx, r14
00403c80mov rdx, rdi
00403c83mov r8l, 4096
00403c89mov r9l, 4
00403c8fcall VirtualAlloc
00403c94test rax, rax
00403c97je 0x403cb5
00403c99mov rax, rbx
00403c9cmov [rax-16], rsi
00403ca0mov rcx, [rax-8]
00403ca4lea rcx, [rcx+rdi]
00403ca8or rcx, 8
00403cacmov [rax-8], rcx
00403cb0mov rdi, rbx
00403cb3jmp 0x403d33
00403cb5
00403cb5loc_403cb5:
00403cb5mov rcx, r13
00403cb8call fn_403d50
00403cbdmov rdi, rax
00403cc0test rdi, rdi
00403cc3je 0x403d33
00403cc5cmp r13, 0x40a28
00403cccjbe 0x403cd2
00403ccemov [rdi-16], rsi
00403cd2
00403cd2loc_403cd2:
00403cd2mov rax, [rbx-16]
00403cd6mov rcx, rbx
00403cd9mov rdx, rdi
00403cdcmov r8, rax
00403cdfcall fn_4037a0
00403ce4mov rcx, rbx
00403ce7call fn_404120
00403cecjmp 0x403d33
00403cee
00403ceeloc_403cee:
00403ceeshr rdi, 1
00403cf2cmp rsi, rdi
00403cf5jb 0x403d00
00403cf7mov rdi, rbx
00403cfamov [r14-16], rsi
00403cfejmp 0x403d33
00403d00
00403d00loc_403d00:
00403d00mov rcx, rsi
00403d03call fn_403d50
00403d08mov rdi, rax
00403d0btest rdi, rdi
00403d0eje 0x403d33
00403d10cmp rsi, 0x40a28
00403d17jbe 0x403d1d
00403d19mov [r14-16], rsi
00403d1d
00403d1dloc_403d1d:
00403d1dmov rcx, rbx
00403d20mov rdx, rdi
00403d23mov r8, rsi
00403d26call fn_4037a0
00403d2bmov rcx, rbx
00403d2ecall fn_404120
00403d33
00403d33loc_403d33:
00403d33mov rax, rdi
00403d36lea rsp, [rbp+88]
00403d3apop rbx
00403d3bpop rsi
00403d3cpop rdi
00403d3dpop r13
00403d3fpop r14
00403d41pop rbp
00403d42ret
00403bc0
00403bc0fn_403bc0:
00403bc0push rbp
00403bc1push r14
00403bc3push r13
00403bc5push rdi
00403bc6push rsi
00403bc7push rbx
00403bc8sub rsp, 88
00403bccmov rbp, rsp
00403bcfmov rbx, rcx
00403bd2mov rsi, rdx
00403bd5mov r14, rbx
00403bd8mov rax, [r14-8]
00403bdcmov rcx, rax
00403bdfand rcx, -16
00403be3lea rdi, [rcx-40]
00403be7cmp rsi, rdi
00403beajbe 0x403cee
00403bf0mov rcx, rdi
00403bf3shr rcx, 2
00403bf7lea r13, [rdi+rcx]
00403bfbcmp rsi, r13
00403bfejb 0x403c03
00403c00mov r13, rsi
00403c03
00403c03loc_403c03:
00403c03and rax, -16
00403c07lea r14, [r14+rax-32]
00403c0cmov rcx, r14
00403c0flea rdx, [rbp+32]
00403c13mov r8l, 48
00403c19call VirtualQuery
00403c1ecmp [rbp+64], 0x10000
00403c25jne 0x403cb5
00403c2band [rbp+56], 0xffffffffffff0000
00403c33mov rax, [rbp+56]
00403c37mov rcx, rsi
00403c3asub rcx, rdi
00403c3dcmp rax, rcx
00403c40jbe 0x403cb5
00403c42mov rcx, r13
00403c45sub rcx, rdi
00403c48add rcx, 65535
00403c4fand rcx, 0xffffffffffff0000
00403c56mov rdi, rcx
00403c59cmp rdi, rax
00403c5cjbe 0x403c61
00403c5emov rdi, rax
00403c61
00403c61loc_403c61:
00403c61mov rcx, r14
00403c64mov rdx, rdi
00403c67mov r8l, 8192
00403c6dmov r9l, 4
00403c73call VirtualAlloc
00403c78test rax, rax
00403c7bje 0x403cb5
00403c7dmov rcx, r14
00403c80mov rdx, rdi
00403c83mov r8l, 4096
00403c89mov r9l, 4
00403c8fcall VirtualAlloc
00403c94test rax, rax
00403c97je 0x403cb5
00403c99mov rax, rbx
00403c9cmov [rax-16], rsi
00403ca0mov rcx, [rax-8]
00403ca4lea rcx, [rcx+rdi]
00403ca8or rcx, 8
00403cacmov [rax-8], rcx
00403cb0mov rdi, rbx
00403cb3jmp 0x403d33
00403cb5
00403cb5loc_403cb5:
00403cb5mov rcx, r13
00403cb8call fn_403d50
00403cbdmov rdi, rax
00403cc0test rdi, rdi
00403cc3je 0x403d33
00403cc5cmp r13, 0x40a28
00403cccjbe 0x403cd2
00403ccemov [rdi-16], rsi
00403cd2
00403cd2loc_403cd2:
00403cd2mov rax, [rbx-16]
00403cd6mov rcx, rbx
00403cd9mov rdx, rdi
00403cdcmov r8, rax
00403cdfcall fn_4037a0
00403ce4mov rcx, rbx
00403ce7call fn_404120
00403cecjmp 0x403d33
00403cee
00403ceeloc_403cee:
00403ceeshr rdi, 1
00403cf2cmp rsi, rdi
00403cf5jb 0x403d00
00403cf7mov rdi, rbx
00403cfamov [r14-16], rsi
00403cfejmp 0x403d33
00403d00
00403d00loc_403d00:
00403d00mov rcx, rsi
00403d03call fn_403d50
00403d08mov rdi, rax
00403d0btest rdi, rdi
00403d0eje 0x403d33
00403d10cmp rsi, 0x40a28
00403d17jbe 0x403d1d
00403d19mov [r14-16], rsi
00403d1d
00403d1dloc_403d1d:
00403d1dmov rcx, rbx
00403d20mov rdx, rdi
00403d23mov r8, rsi
00403d26call fn_4037a0
00403d2bmov rcx, rbx
00403d2ecall fn_404120
00403d33
00403d33loc_403d33:
00403d33mov rax, rdi
00403d36lea rsp, [rbp+88]
00403d3apop rbx
00403d3bpop rsi
00403d3cpop rdi
00403d3dpop r13
00403d3fpop r14
00403d41pop rbp
00403d42ret
00403bc0
00403d43
00403d43 // align 0x10
00403d43 // align 0x10
00403d50
00403d50fn_403d50:
00403d50push rbp
00403d51push rdi
00403d52push rsi
00403d53push rbx
00403d54sub rsp, 40
00403d58mov rbp, rsp
00403d5blea edx, [ecx+7]
00403d5fshr edx, 3
00403d62lea r8, [rip+0x61cc3]
00403d69lea rbx, [rip+0x55368]
00403d70movzx esi, [rip+0x61322]
00403d77cmp rcx, 2600
00403d7eja 0x403fb9
00403d84movzx ecx, [r8+rdx]
00403d89shl ecx, 4
00403d8cadd rbx, rcx
00403d8ftest esi, esi
00403d91jne 0x403e01
00403d93
00403d93loc_403d93:
00403d93mov rdx, [rbx+8]
00403d97mov rax, [rdx+24]
00403d9bmov rcx, -8
00403da5cmp rdx, rbx
00403da8je 0x403dc4
00403daaadd [rdx+32], 1
00403daeand rcx, [rax-8]
00403db2mov [rdx+24], rcx
00403db6mov [rax-8], rdx
00403dbaje 0x403ded
00403dbcmov [rbx], 0
00403dbfjmp 0x404108
00403dc4
00403dc4loc_403dc4:
00403dc4mov rdx, [rbx+40]
00403dc8movzx ecx, [rbx+2]
00403dccadd rcx, rax
00403dcfcmp rax, [rbx+32]
00403dd3ja 0x403e6c
00403dd9add [rdx+32], 1
00403dddmov [rbx+24], rcx
00403de1mov [rbx], 0
00403de4mov [rax-8], rdx
00403de8jmp 0x404108
00403ded
00403dedloc_403ded:
00403dedmov rcx, [rdx+8]
00403df1mov [rcx+16], rbx
00403df5mov [rbx+8], rcx
00403df9mov [rbx], 0
00403dfcjmp 0x404108
00403e01
00403e01loc_403e01:
00403e01mov eax, 256
00403e06lock cmpxchg [rbx], ah
00403e0aje 0x403d93
00403e0cadd rbx, 64
00403e10mov eax, 256
00403e15lock cmpxchg [rbx], ah
00403e19je 0x403d93
00403e1fadd rbx, 64
00403e23mov eax, 256
00403e28lock cmpxchg [rbx], ah
00403e2cje 0x403d93
00403e32sub rbx, 128
00403e39nop
00403e3blea rax, [rip+0x61be3]
00403e42cmp [rax], 0
00403e45jne 0x403e01
00403e47mov ecx, 0
00403e4ccall Sleep
00403e51mov eax, 256
00403e56lock cmpxchg [rbx], ah
00403e5aje 0x403d93
00403e60mov ecx, 10
00403e65call Sleep
00403e6ajmp 0x403e01
00403e6c
00403e6cloc_403e6c:
00403e6ctest esi, esi
00403e6eje 0x403e75
00403e70call fn_4037d0
00403e75
00403e75loc_403e75:
00403e75movsx esi, [rbx+1]
00403e79and esi, [rip+0x61d2d]
00403e7fje 0x403f14
00403e85bsf eax, esi
00403e88lea r8, [rip+0x61d21]
00403e8flea r9, [4*rax]
00403e97mov ecx, [r8+r9]
00403e9bbsf ecx, ecx
00403e9elea ecx, [ecx+8*r9l]
00403ea3lea rdi, [rip+0x61d86]
00403eaalea esi, [8*ecx]
00403eb2lea rdi, [rdi+2*rsi]
00403eb6mov rsi, [rdi+8]
00403ebamov rdx, [rsi+8]
00403ebemov [rdi+8], rdx
00403ec2mov [rdx], rdi
00403ec5cmp rdi, rdx
00403ec8jne 0x403ede
00403ecamov edx, -2
00403ecfrol edx, cl
00403ed1and [r8+r9], edx
00403ed5jne 0x403ede
00403ed7btr [rip+0x61cce], eax
00403ede
00403edeloc_403ede:
00403edemov rdi, -16
00403ee8and rdi, [rsi-8]
00403eeccmp edi, 0x10a60
00403ef2jb 0x403f6c
00403ef4mov edx, edi
00403ef6movzx edi, [rbx+6]
00403efasub edx, edi
00403efclea rcx, [rsi+rdi]
00403f00lea rax, [rdx+3]
00403f04mov [rcx-8], rax
00403f08mov [rcx+rdx-16], rdx
00403f0dcall fn_403870
00403f12jmp 0x403f71
00403f14
00403f14loc_403f14:
00403f14movzx ecx, [rbx+4]
00403f18mov edi, [rip+0x61c8a]
00403f1ecmp edi, ecx
00403f20jb 0x403f4c
00403f22mov rsi, [rip+0x61c77]
00403f29movzx ecx, [rbx+6]
00403f2dlea edx, [ecx+2864]
00403f34cmp edi, edx
00403f36jb 0x403f3a
00403f38mov edi, ecx
00403f3a
00403f3aloc_403f3a:
00403f3asub rsi, rdi
00403f3dsub [rip+0x61c65], edi
00403f43mov [rip+0x61c56], rsi
00403f4ajmp 0x403f71
00403f4c
00403f4cloc_403f4c:
00403f4cmovzx ecx, [rbx+6]
00403f50mov edi, ecx
00403f52call fn_403980
00403f57mov rsi, rax
00403f5atest rax, rax
00403f5djne 0x403f71
00403f5fmov [rip+0x61c33], al
00403f65mov [rbx], al
00403f67jmp 0x404108
00403f6c
00403f6cloc_403f6c:
00403f6cand [rsi+rdi-8], 247
00403f71
00403f71loc_403f71:
00403f71lea ecx, [edi+6]
00403f75mov [rsi-8], rcx
00403f79xor eax, eax
00403f7bmov [rip+0x61c17], al
00403f81mov [rsi], rbx
00403f84mov [rsi+24], rax
00403f88mov [rsi+32], 1
00403f8fmov [rbx+40], rsi
00403f93lea rax, [rsi+48]
00403f97movzx ecx, [rbx+2]
00403f9blea rdx, [rax+rcx]
00403f9fmov [rbx+24], rdx
00403fa3add rdi, rsi
00403fa6sub rdi, rcx
00403fa9mov [rbx+32], rdi
00403fadmov [rbx], 0
00403fb0mov [rax-8], rsi
00403fb4jmp 0x404108
00403fb9
00403fb9loc_403fb9:
00403fb9cmp rcx, 0x40a28
00403fc0ja 0x4040fb
00403fc6lea ebx, [ecx+215]
00403fcdand ebx, -256
00403fd3add ebx, 48
00403fd6test esi, esi
00403fd8je 0x403fdf
00403fdacall fn_4037d0
00403fdf
00403fdfloc_403fdf:
00403fdflea edx, [ebx-2864]
00403fe6mov ecx, edx
00403fe8shr edx, 13
00403febshr ecx, 8
00403feemov eax, -1
00403ff3shl eax, cl
00403ff5lea r8, [rip+0x61bb4]
00403ffcand eax, [r8+4*rdx]
00404000je 0x40400c
00404002and ecx, -32
00404005bsf eax, eax
00404008or ecx, eax
0040400ajmp 0x40406f
0040400c
0040400cloc_40400c:
0040400cmov eax, -2
00404011mov ecx, edx
00404013shl eax, cl
00404015and eax, [rip+0x61b91]
0040401bje 0x404030
0040401dbsf edx, eax
00404020mov eax, [r8+4*rdx]
00404024bsf ecx, eax
00404027mov eax, edx
00404029shl eax, 5
0040402cor ecx, eax
0040402ejmp 0x40406f
00404030
00404030loc_404030:
00404030mov ecx, [rip+0x61b72]
00404036sub ecx, ebx
00404038jb 0x40405b
0040403amov rax, [rip+0x61b5f]
00404041sub rax, rbx
00404044mov [rip+0x61b55], rax
0040404bmov [rip+0x61b57], ecx
00404051or rbx, 2
00404055mov [rax-8], rbx
00404059jmp 0x404062
0040405b
0040405bloc_40405b:
0040405bmov ecx, ebx
0040405dcall fn_403980
00404062
00404062loc_404062:
00404062xor cl, cl
00404064mov [rip+0x61b2e], cl
0040406ajmp 0x404108
0040406f
0040406floc_40406f:
0040406flea rdi, [rip+0x61bba]
00404076lea eax, [ecx+ecx]
0040407alea rdi, [rdi+8*rax]
0040407emov rsi, [rdi+8]
00404082mov rax, [rsi+8]
00404086mov [rdi+8], rax
0040408amov [rax], rdi
0040408dcmp rdi, rax
00404090jne 0x4040ad
00404092mov eax, -2
00404097rol eax, cl
00404099lea r8, [rip+0x61b10]
004040a0and [r8+4*rdx], eax
004040a4jne 0x4040ad
004040a6btr [rip+0x61aff], edx
004040ad
004040adloc_4040ad:
004040admov rdi, -16
004040b7and rdi, [rsi-8]
004040bbmov edx, edi
004040bdsub edx, ebx
004040bfje 0x4040e1
004040c1lea rcx, [rsi+rbx]
004040c5lea rax, [rdx+3]
004040c9mov [rcx-8], rax
004040cdmov [rcx+rdx-16], rdx
004040d2cmp edx, 2864
004040d8jb 0x4040e6
004040dacall fn_403870
004040dfjmp 0x4040e6
004040e1
004040e1loc_4040e1:
004040e1and [rsi+rdi-8], 247
004040e6
004040e6loc_4040e6:
004040e6lea rcx, [rbx+2]
004040eamov [rsi-8], rcx
004040eexor cl, cl
004040f0mov [rip+0x61aa2], cl
004040f6mov rax, rsi
004040f9jmp 0x404108
004040fb
004040fbloc_4040fb:
004040fbxor rax, rax
004040fetest rcx, rcx
00404101js 0x404108
00404103call fn_403a70
00404108
00404108loc_404108:
00404108lea rsp, [rbp+40]
0040410cpop rbx
0040410dpop rsi
0040410epop rdi
0040410fpop rbp
00404110ret
00403d50
00403d50fn_403d50:
00403d50push rbp
00403d51push rdi
00403d52push rsi
00403d53push rbx
00403d54sub rsp, 40
00403d58mov rbp, rsp
00403d5blea edx, [ecx+7]
00403d5fshr edx, 3
00403d62lea r8, [rip+0x61cc3]
00403d69lea rbx, [rip+0x55368]
00403d70movzx esi, [rip+0x61322]
00403d77cmp rcx, 2600
00403d7eja 0x403fb9
00403d84movzx ecx, [r8+rdx]
00403d89shl ecx, 4
00403d8cadd rbx, rcx
00403d8ftest esi, esi
00403d91jne 0x403e01
00403d93
00403d93loc_403d93:
00403d93mov rdx, [rbx+8]
00403d97mov rax, [rdx+24]
00403d9bmov rcx, -8
00403da5cmp rdx, rbx
00403da8je 0x403dc4
00403daaadd [rdx+32], 1
00403daeand rcx, [rax-8]
00403db2mov [rdx+24], rcx
00403db6mov [rax-8], rdx
00403dbaje 0x403ded
00403dbcmov [rbx], 0
00403dbfjmp 0x404108
00403dc4
00403dc4loc_403dc4:
00403dc4mov rdx, [rbx+40]
00403dc8movzx ecx, [rbx+2]
00403dccadd rcx, rax
00403dcfcmp rax, [rbx+32]
00403dd3ja 0x403e6c
00403dd9add [rdx+32], 1
00403dddmov [rbx+24], rcx
00403de1mov [rbx], 0
00403de4mov [rax-8], rdx
00403de8jmp 0x404108
00403ded
00403dedloc_403ded:
00403dedmov rcx, [rdx+8]
00403df1mov [rcx+16], rbx
00403df5mov [rbx+8], rcx
00403df9mov [rbx], 0
00403dfcjmp 0x404108
00403e01
00403e01loc_403e01:
00403e01mov eax, 256
00403e06lock cmpxchg [rbx], ah
00403e0aje 0x403d93
00403e0cadd rbx, 64
00403e10mov eax, 256
00403e15lock cmpxchg [rbx], ah
00403e19je 0x403d93
00403e1fadd rbx, 64
00403e23mov eax, 256
00403e28lock cmpxchg [rbx], ah
00403e2cje 0x403d93
00403e32sub rbx, 128
00403e39nop
00403e3blea rax, [rip+0x61be3]
00403e42cmp [rax], 0
00403e45jne 0x403e01
00403e47mov ecx, 0
00403e4ccall Sleep
00403e51mov eax, 256
00403e56lock cmpxchg [rbx], ah
00403e5aje 0x403d93
00403e60mov ecx, 10
00403e65call Sleep
00403e6ajmp 0x403e01
00403e6c
00403e6cloc_403e6c:
00403e6ctest esi, esi
00403e6eje 0x403e75
00403e70call fn_4037d0
00403e75
00403e75loc_403e75:
00403e75movsx esi, [rbx+1]
00403e79and esi, [rip+0x61d2d]
00403e7fje 0x403f14
00403e85bsf eax, esi
00403e88lea r8, [rip+0x61d21]
00403e8flea r9, [4*rax]
00403e97mov ecx, [r8+r9]
00403e9bbsf ecx, ecx
00403e9elea ecx, [ecx+8*r9l]
00403ea3lea rdi, [rip+0x61d86]
00403eaalea esi, [8*ecx]
00403eb2lea rdi, [rdi+2*rsi]
00403eb6mov rsi, [rdi+8]
00403ebamov rdx, [rsi+8]
00403ebemov [rdi+8], rdx
00403ec2mov [rdx], rdi
00403ec5cmp rdi, rdx
00403ec8jne 0x403ede
00403ecamov edx, -2
00403ecfrol edx, cl
00403ed1and [r8+r9], edx
00403ed5jne 0x403ede
00403ed7btr [rip+0x61cce], eax
00403ede
00403edeloc_403ede:
00403edemov rdi, -16
00403ee8and rdi, [rsi-8]
00403eeccmp edi, 0x10a60
00403ef2jb 0x403f6c
00403ef4mov edx, edi
00403ef6movzx edi, [rbx+6]
00403efasub edx, edi
00403efclea rcx, [rsi+rdi]
00403f00lea rax, [rdx+3]
00403f04mov [rcx-8], rax
00403f08mov [rcx+rdx-16], rdx
00403f0dcall fn_403870
00403f12jmp 0x403f71
00403f14
00403f14loc_403f14:
00403f14movzx ecx, [rbx+4]
00403f18mov edi, [rip+0x61c8a]
00403f1ecmp edi, ecx
00403f20jb 0x403f4c
00403f22mov rsi, [rip+0x61c77]
00403f29movzx ecx, [rbx+6]
00403f2dlea edx, [ecx+2864]
00403f34cmp edi, edx
00403f36jb 0x403f3a
00403f38mov edi, ecx
00403f3a
00403f3aloc_403f3a:
00403f3asub rsi, rdi
00403f3dsub [rip+0x61c65], edi
00403f43mov [rip+0x61c56], rsi
00403f4ajmp 0x403f71
00403f4c
00403f4cloc_403f4c:
00403f4cmovzx ecx, [rbx+6]
00403f50mov edi, ecx
00403f52call fn_403980
00403f57mov rsi, rax
00403f5atest rax, rax
00403f5djne 0x403f71
00403f5fmov [rip+0x61c33], al
00403f65mov [rbx], al
00403f67jmp 0x404108
00403f6c
00403f6cloc_403f6c:
00403f6cand [rsi+rdi-8], 247
00403f71
00403f71loc_403f71:
00403f71lea ecx, [edi+6]
00403f75mov [rsi-8], rcx
00403f79xor eax, eax
00403f7bmov [rip+0x61c17], al
00403f81mov [rsi], rbx
00403f84mov [rsi+24], rax
00403f88mov [rsi+32], 1
00403f8fmov [rbx+40], rsi
00403f93lea rax, [rsi+48]
00403f97movzx ecx, [rbx+2]
00403f9blea rdx, [rax+rcx]
00403f9fmov [rbx+24], rdx
00403fa3add rdi, rsi
00403fa6sub rdi, rcx
00403fa9mov [rbx+32], rdi
00403fadmov [rbx], 0
00403fb0mov [rax-8], rsi
00403fb4jmp 0x404108
00403fb9
00403fb9loc_403fb9:
00403fb9cmp rcx, 0x40a28
00403fc0ja 0x4040fb
00403fc6lea ebx, [ecx+215]
00403fcdand ebx, -256
00403fd3add ebx, 48
00403fd6test esi, esi
00403fd8je 0x403fdf
00403fdacall fn_4037d0
00403fdf
00403fdfloc_403fdf:
00403fdflea edx, [ebx-2864]
00403fe6mov ecx, edx
00403fe8shr edx, 13
00403febshr ecx, 8
00403feemov eax, -1
00403ff3shl eax, cl
00403ff5lea r8, [rip+0x61bb4]
00403ffcand eax, [r8+4*rdx]
00404000je 0x40400c
00404002and ecx, -32
00404005bsf eax, eax
00404008or ecx, eax
0040400ajmp 0x40406f
0040400c
0040400cloc_40400c:
0040400cmov eax, -2
00404011mov ecx, edx
00404013shl eax, cl
00404015and eax, [rip+0x61b91]
0040401bje 0x404030
0040401dbsf edx, eax
00404020mov eax, [r8+4*rdx]
00404024bsf ecx, eax
00404027mov eax, edx
00404029shl eax, 5
0040402cor ecx, eax
0040402ejmp 0x40406f
00404030
00404030loc_404030:
00404030mov ecx, [rip+0x61b72]
00404036sub ecx, ebx
00404038jb 0x40405b
0040403amov rax, [rip+0x61b5f]
00404041sub rax, rbx
00404044mov [rip+0x61b55], rax
0040404bmov [rip+0x61b57], ecx
00404051or rbx, 2
00404055mov [rax-8], rbx
00404059jmp 0x404062
0040405b
0040405bloc_40405b:
0040405bmov ecx, ebx
0040405dcall fn_403980
00404062
00404062loc_404062:
00404062xor cl, cl
00404064mov [rip+0x61b2e], cl
0040406ajmp 0x404108
0040406f
0040406floc_40406f:
0040406flea rdi, [rip+0x61bba]
00404076lea eax, [ecx+ecx]
0040407alea rdi, [rdi+8*rax]
0040407emov rsi, [rdi+8]
00404082mov rax, [rsi+8]
00404086mov [rdi+8], rax
0040408amov [rax], rdi
0040408dcmp rdi, rax
00404090jne 0x4040ad
00404092mov eax, -2
00404097rol eax, cl
00404099lea r8, [rip+0x61b10]
004040a0and [r8+4*rdx], eax
004040a4jne 0x4040ad
004040a6btr [rip+0x61aff], edx
004040ad
004040adloc_4040ad:
004040admov rdi, -16
004040b7and rdi, [rsi-8]
004040bbmov edx, edi
004040bdsub edx, ebx
004040bfje 0x4040e1
004040c1lea rcx, [rsi+rbx]
004040c5lea rax, [rdx+3]
004040c9mov [rcx-8], rax
004040cdmov [rcx+rdx-16], rdx
004040d2cmp edx, 2864
004040d8jb 0x4040e6
004040dacall fn_403870
004040dfjmp 0x4040e6
004040e1
004040e1loc_4040e1:
004040e1and [rsi+rdi-8], 247
004040e6
004040e6loc_4040e6:
004040e6lea rcx, [rbx+2]
004040eamov [rsi-8], rcx
004040eexor cl, cl
004040f0mov [rip+0x61aa2], cl
004040f6mov rax, rsi
004040f9jmp 0x404108
004040fb
004040fbloc_4040fb:
004040fbxor rax, rax
004040fetest rcx, rcx
00404101js 0x404108
00404103call fn_403a70
00404108
00404108loc_404108:
00404108lea rsp, [rbp+40]
0040410cpop rbx
0040410dpop rsi
0040410epop rdi
0040410fpop rbp
00404110ret
00403d50
00404111
00404111 // align 0x10
00404111 // align 0x10
00404120
00404120fn_404120:
00404120push rbp
00404121push rsi
00404122push rbx
00404123sub rsp, 32
00404127mov rbp, rsp
0040412amov rdx, [rcx-8]
0040412etest dl, 7
00404131mov bl, [rip+0x60f62]
00404137jne 0x40420b
0040413dtest bl, bl
0040413fmov rbx, [rdx]
00404142jne 0x4041b9
00404144
00404144loc_404144:
00404144sub [rdx+32], 1
00404148mov rax, [rdx+24]
0040414cje 0x404186
0040414etest rax, rax
00404151mov [rdx+24], rcx
00404155lea rax, [rax+1]
00404159mov [rcx-8], rax
0040415dje 0x404168
0040415fxor eax, eax
00404161mov [rbx], al
00404163jmp 0x40432e
00404168
00404168loc_404168:
00404168mov rcx, [rbx+8]
0040416cmov [rdx+16], rbx
00404170mov [rdx+8], rcx
00404174mov [rcx+16], rdx
00404178mov [rbx+8], rdx
0040417cmov [rbx], 0
0040417fxor eax, eax
00404181jmp 0x40432e
00404186
00404186loc_404186:
00404186test rax, rax
00404189je 0x4041a4
0040418bmov rax, [rdx+16]
0040418fmov rcx, [rdx+8]
00404193mov [rax+8], rcx
00404197mov [rcx+16], rax
0040419bxor rax, rax
0040419ecmp [rbx+40], rdx
004041a2jne 0x4041a8
004041a4
004041a4loc_4041a4:
004041a4mov [rbx+32], rax
004041a8
004041a8loc_4041a8:
004041a8mov [rbx], al
004041aamov rcx, rdx
004041admov rdx, [rdx-8]
004041b1mov bl, [rip+0x60ee2]
004041b7jmp 0x404214
004041b9
004041b9loc_4041b9:
004041b9mov eax, 256
004041belock cmpxchg [rbx], ah
004041c2je 0x404144
004041c4nop
004041c6lea rax, [rip+0x61858]
004041cdcmp [rax], 0
004041d0jne 0x4041b9
004041d2mov rsi, rcx
004041d5mov ecx, 0
004041dacall Sleep
004041dfmov rcx, rsi
004041e2mov rdx, [rcx-8]
004041e6mov eax, 256
004041eblock cmpxchg [rbx], ah
004041efje 0x404144
004041f5mov rsi, rcx
004041f8mov ecx, 10
004041fdcall Sleep
00404202mov rcx, rsi
00404205mov rdx, [rcx-8]
00404209jmp 0x4041b9
0040420b
0040420bloc_40420b:
0040420btest dl, 5
0040420ejne 0x40431f
00404214
00404214loc_404214:
00404214and rdx, -16
00404218test bl, bl
0040421amov rbx, rdx
0040421dmov rsi, rcx
00404220je 0x404227
00404222call fn_4037d0
00404227
00404227loc_404227:
00404227test [rsi+rbx-8], 1
0040422fmov rcx, [rsi+rbx-8]
00404234jne 0x404272
00404236or rcx, 8
0040423amov [rsi+rbx-8], rcx
0040423f
0040423floc_40423f:
0040423ftest [rsi-8], 8
00404243jne 0x404290
00404245
00404245loc_404245:
00404245cmp ebx, 0x13ffd0
0040424bje 0x4042ac
0040424dlea rax, [rbx+3]
00404251mov [rsi-8], rax
00404255mov [rsi+rbx-16], rbx
0040425amov rcx, rsi
0040425dmov rdx, rbx
00404260call fn_403870
00404265xor eax, eax
00404267mov [rip+0x6192b], al
0040426djmp 0x40432e
00404272
00404272loc_404272:
00404272lea rax, [rsi+rbx]
00404276and rcx, -16
0040427aadd rbx, rcx
0040427dcmp rcx, 2864
00404284jb 0x40423f
00404286mov rcx, rax
00404289call fn_403820
0040428ejmp 0x40423f
00404290
00404290loc_404290:
00404290mov rcx, [rsi-16]
00404294sub rsi, rcx
00404297add rbx, rcx
0040429acmp ecx, 2864
004042a0jb 0x404245
004042a2mov rcx, rsi
004042a5call fn_403820
004042aajmp 0x404245
004042ac
004042acloc_4042ac:
004042aclea r8, [rip+0x618f5]
004042b3cmp [r8], 0x13ffd0
004042bajne 0x4042ed
004042bcsub rsi, 32
004042c0mov rax, [rsi]
004042c3mov rdx, [rsi+8]
004042c7mov [rax+8], rdx
004042cbmov [rdx], rax
004042cexor eax, eax
004042d0mov [rip+0x618c2], al
004042d6mov rcx, rsi
004042d9xor edx, edx
004042dbmov r8l, 32768
004042e1call VirtualFree
004042e6cmp eax, 1
004042e9sbb eax, eax
004042ebjmp 0x40432e
004042ed
004042edloc_4042ed:
004042edlea rbx, [rsi+0x13ffd0]
004042f4call fn_4038e0
004042f9mov [rbx-8], 2
00404301lea rax, [rip+0x618a0]
00404308mov [rax], 0x13ffd0
0040430emov [rip+0x6188b], rbx
00404315xor eax, eax
00404317mov [rip+0x6187b], al
0040431djmp 0x40432e
0040431f
0040431floc_40431f:
0040431fmov eax, -1
00404324test dl, 3
00404327jne 0x40432e
00404329call fn_403b00
0040432e
0040432eloc_40432e:
0040432elea rsp, [rbp+32]
00404332pop rbx
00404333pop rsi
00404334pop rbp
00404335ret
00404120
00404120fn_404120:
00404120push rbp
00404121push rsi
00404122push rbx
00404123sub rsp, 32
00404127mov rbp, rsp
0040412amov rdx, [rcx-8]
0040412etest dl, 7
00404131mov bl, [rip+0x60f62]
00404137jne 0x40420b
0040413dtest bl, bl
0040413fmov rbx, [rdx]
00404142jne 0x4041b9
00404144
00404144loc_404144:
00404144sub [rdx+32], 1
00404148mov rax, [rdx+24]
0040414cje 0x404186
0040414etest rax, rax
00404151mov [rdx+24], rcx
00404155lea rax, [rax+1]
00404159mov [rcx-8], rax
0040415dje 0x404168
0040415fxor eax, eax
00404161mov [rbx], al
00404163jmp 0x40432e
00404168
00404168loc_404168:
00404168mov rcx, [rbx+8]
0040416cmov [rdx+16], rbx
00404170mov [rdx+8], rcx
00404174mov [rcx+16], rdx
00404178mov [rbx+8], rdx
0040417cmov [rbx], 0
0040417fxor eax, eax
00404181jmp 0x40432e
00404186
00404186loc_404186:
00404186test rax, rax
00404189je 0x4041a4
0040418bmov rax, [rdx+16]
0040418fmov rcx, [rdx+8]
00404193mov [rax+8], rcx
00404197mov [rcx+16], rax
0040419bxor rax, rax
0040419ecmp [rbx+40], rdx
004041a2jne 0x4041a8
004041a4
004041a4loc_4041a4:
004041a4mov [rbx+32], rax
004041a8
004041a8loc_4041a8:
004041a8mov [rbx], al
004041aamov rcx, rdx
004041admov rdx, [rdx-8]
004041b1mov bl, [rip+0x60ee2]
004041b7jmp 0x404214
004041b9
004041b9loc_4041b9:
004041b9mov eax, 256
004041belock cmpxchg [rbx], ah
004041c2je 0x404144
004041c4nop
004041c6lea rax, [rip+0x61858]
004041cdcmp [rax], 0
004041d0jne 0x4041b9
004041d2mov rsi, rcx
004041d5mov ecx, 0
004041dacall Sleep
004041dfmov rcx, rsi
004041e2mov rdx, [rcx-8]
004041e6mov eax, 256
004041eblock cmpxchg [rbx], ah
004041efje 0x404144
004041f5mov rsi, rcx
004041f8mov ecx, 10
004041fdcall Sleep
00404202mov rcx, rsi
00404205mov rdx, [rcx-8]
00404209jmp 0x4041b9
0040420b
0040420bloc_40420b:
0040420btest dl, 5
0040420ejne 0x40431f
00404214
00404214loc_404214:
00404214and rdx, -16
00404218test bl, bl
0040421amov rbx, rdx
0040421dmov rsi, rcx
00404220je 0x404227
00404222call fn_4037d0
00404227
00404227loc_404227:
00404227test [rsi+rbx-8], 1
0040422fmov rcx, [rsi+rbx-8]
00404234jne 0x404272
00404236or rcx, 8
0040423amov [rsi+rbx-8], rcx
0040423f
0040423floc_40423f:
0040423ftest [rsi-8], 8
00404243jne 0x404290
00404245
00404245loc_404245:
00404245cmp ebx, 0x13ffd0
0040424bje 0x4042ac
0040424dlea rax, [rbx+3]
00404251mov [rsi-8], rax
00404255mov [rsi+rbx-16], rbx
0040425amov rcx, rsi
0040425dmov rdx, rbx
00404260call fn_403870
00404265xor eax, eax
00404267mov [rip+0x6192b], al
0040426djmp 0x40432e
00404272
00404272loc_404272:
00404272lea rax, [rsi+rbx]
00404276and rcx, -16
0040427aadd rbx, rcx
0040427dcmp rcx, 2864
00404284jb 0x40423f
00404286mov rcx, rax
00404289call fn_403820
0040428ejmp 0x40423f
00404290
00404290loc_404290:
00404290mov rcx, [rsi-16]
00404294sub rsi, rcx
00404297add rbx, rcx
0040429acmp ecx, 2864
004042a0jb 0x404245
004042a2mov rcx, rsi
004042a5call fn_403820
004042aajmp 0x404245
004042ac
004042acloc_4042ac:
004042aclea r8, [rip+0x618f5]
004042b3cmp [r8], 0x13ffd0
004042bajne 0x4042ed
004042bcsub rsi, 32
004042c0mov rax, [rsi]
004042c3mov rdx, [rsi+8]
004042c7mov [rax+8], rdx
004042cbmov [rdx], rax
004042cexor eax, eax
004042d0mov [rip+0x618c2], al
004042d6mov rcx, rsi
004042d9xor edx, edx
004042dbmov r8l, 32768
004042e1call VirtualFree
004042e6cmp eax, 1
004042e9sbb eax, eax
004042ebjmp 0x40432e
004042ed
004042edloc_4042ed:
004042edlea rbx, [rsi+0x13ffd0]
004042f4call fn_4038e0
004042f9mov [rbx-8], 2
00404301lea rax, [rip+0x618a0]
00404308mov [rax], 0x13ffd0
0040430emov [rip+0x6188b], rbx
00404315xor eax, eax
00404317mov [rip+0x6187b], al
0040431djmp 0x40432e
0040431f
0040431floc_40431f:
0040431fmov eax, -1
00404324test dl, 3
00404327jne 0x40432e
00404329call fn_403b00
0040432e
0040432eloc_40432e:
0040432elea rsp, [rbp+32]
00404332pop rbx
00404333pop rsi
00404334pop rbp
00404335ret
00404120
00404336
00404336 // align 0x10
00404336 // align 0x10
00404340
00404340fn_404340:
00404340push rbp
00404341push r15
00404343push r14
00404345push rdi
00404346push rsi
00404347push rbx
00404348sub rsp, 40
0040434cmov rbp, rsp
0040434fmov rsi, rcx
00404352mov rcx, [rcx-8]
00404356test cl, 7
00404359jne 0x40440f
0040435fmov rbx, [rcx]
00404362movzx ecx, [rbx+2]
00404366sub ecx, 8
00404369cmp rcx, rdx
0040436cjb 0x4043b7
0040436elea ebx, [4*edx+64]
00404376cmp ebx, ecx
00404378jb 0x404382
0040437amov rax, rsi
0040437djmp 0x404699
00404382
00404382loc_404382:
00404382mov rbx, rdx
00404385mov rcx, rdx
00404388call fn_403d50
0040438dtest rax, rax
00404390je 0x404699
00404396mov r8, rbx
00404399mov rdx, rax
0040439cmov rbx, rax
0040439fmov rcx, rsi
004043a2call fn_4037a0
004043a7mov rcx, rsi
004043aacall fn_404120
004043afmov rax, rbx
004043b2jmp 0x404699
004043b7
004043b7loc_4043b7:
004043b7lea ecx, [ecx+ecx+32]
004043bcmov rdi, rdx
004043bfxor rax, rax
004043c2sub rcx, rdx
004043c5adc rax, -1
004043c9and rcx, rax
004043ccadd rcx, rdx
004043cfcall fn_403d50
004043d4test rax, rax
004043d7je 0x404699
004043ddcmp rdi, 0x40a28
004043e4jbe 0x4043ea
004043e6mov [rax-16], rdi
004043ea
004043ealoc_4043ea:
004043eamovzx r8l, [rbx+2]
004043efsub r8l, 8
004043f3mov rdx, rax
004043f6mov rdi, rax
004043f9mov rcx, rsi
004043fccall [rbx+48]
004043ffmov rcx, rsi
00404402call fn_404120
00404407mov rax, rdi
0040440ajmp 0x404699
0040440f
0040440floc_40440f:
0040440ftest cl, 5
00404412jne 0x404688
00404418mov rbx, rcx
0040441band ecx, -16
0040441elea rdi, [rsi+rcx]
00404422sub ecx, 8
00404425and ebx, 15
00404428cmp rdx, rcx
0040442bja 0x40453a
00404431lea r15, [rdx+rdx]
00404435cmp r15, rcx
00404438jb 0x404442
0040443a
0040443aloc_40443a:
0040443amov rax, rsi
0040443djmp 0x404699
00404442
00404442loc_404442:
00404442cmp edx, 2856
00404448jae 0x40445f
0040444acmp edx, 716
00404450jb 0x404505
00404456mov edx, 2856
0040445bcmp ecx, edx
0040445djbe 0x40443a
0040445f
0040445floc_40445f:
0040445flea r15, [rdx+215]
00404466and r15, -256
0040446dadd r15, 48
00404471add ecx, 8
00404474sub ecx, r15l
00404477lea r8, [rip+0x60c1b]
0040447ecmp [r8], 0
00404482je 0x40449b
00404484mov ebx, ecx
00404486call fn_4037d0
0040448bmov ecx, ebx
0040448dmov rbx, 15
00404497and rbx, [rsi-8]
0040449b
0040449bloc_40449b:
0040449bor rbx, r15
0040449emov [rsi-8], rbx
004044a2mov ebx, ecx
004044a4mov rdx, [rdi-8]
004044a8test dl, 1
004044abjne 0x4044b7
004044ador rdx, 8
004044b1mov [rdi-8], rdx
004044b5jmp 0x4044d1
004044b7
004044b7loc_4044b7:
004044b7mov rcx, rdi
004044baand rdx, -16
004044beadd rbx, rdx
004044c1add rdi, rdx
004044c4cmp edx, 2864
004044cajb 0x4044d1
004044cccall fn_403820
004044d1
004044d1loc_4044d1:
004044d1mov [rdi-16], rbx
004044d5lea rcx, [rbx+3]
004044d9mov [rsi+r15-8], rcx
004044decmp rbx, 2864
004044e5jb 0x4044f3
004044e7lea rcx, [rsi+r15]
004044ebmov rdx, rbx
004044eecall fn_403870
004044f3
004044f3loc_4044f3:
004044f3lea rax, [rip+0x6169e]
004044famov [rax], 0
004044fdmov rax, rsi
00404500jmp 0x404699
00404505
00404505loc_404505:
00404505mov rdi, rdx
00404508mov rcx, rdx
0040450bcall fn_403d50
00404510test rax, rax
00404513je 0x404699
00404519mov r15, rax
0040451cmov rdx, rax
0040451fmov rcx, rsi
00404522mov r8, rdi
00404525call fn_4037a0
0040452amov rcx, rsi
0040452dcall fn_404120
00404532mov rax, r15
00404535jmp 0x404699
0040453a
0040453aloc_40453a:
0040453amov rax, [rdi-8]
0040453etest al, 1
00404540je 0x40462f
00404546and rax, -16
0040454alea r15, [rax+rcx]
0040454ecmp rdx, r15
00404551ja 0x40462f
00404557lea r8, [rip+0x60b3b]
0040455ecmp [r8], 0
00404562je 0x40459f
00404564mov rbx, rcx
00404567mov r15, rdx
0040456acall fn_4037d0
0040456fmov rcx, rbx
00404572mov rdx, r15
00404575mov rbx, 15
0040457fand rbx, [rsi-8]
00404583mov rax, [rdi-8]
00404587test al, 1
00404589je 0x404625
0040458fand eax, -16
00404592lea r15, [rax+rcx]
00404596cmp rdx, r15
00404599ja 0x404625
0040459f
0040459floc_40459f:
0040459fcmp eax, 2864
004045a4jb 0x4045ba
004045a6mov r14, rcx
004045a9mov rcx, rdi
004045acmov rdi, rdx
004045afcall fn_403820
004045b4mov rcx, r14
004045b7mov rdx, rdi
004045ba
004045baloc_4045ba:
004045bamov eax, ecx
004045bcshr eax, 2
004045bfadd eax, ecx
004045c1xor edi, edi
004045c3sub eax, edx
004045c5adc edi, -1
004045c8and eax, edi
004045calea eax, [eax+edx+215]
004045d2and eax, -256
004045d7add eax, 48
004045dalea rdx, [r15+8]
004045desub edx, eax
004045e0ja 0x4045ed
004045e2and [rsi+r15], -9
004045e7add r15, 8
004045ebjmp 0x40460f
004045ed
004045edloc_4045ed:
004045edmov [rsi+r15-8], rdx
004045f2lea edi, [edx+3]
004045f6mov [rsi+rax-8], rdi
004045fbmov r15, rax
004045fecmp edx, 2864
00404604jb 0x40460f
00404606lea rcx, [rsi+rax]
0040460acall fn_403870
0040460f
0040460floc_40460f:
0040460for r15, rbx
00404612mov [rsi-8], r15
00404616lea rax, [rip+0x6157b]
0040461dmov [rax], 0
00404620mov rax, rsi
00404623jmp 0x404699
00404625
00404625loc_404625:
00404625lea rax, [rip+0x6156c]
0040462cmov [rax], 0
0040462f
0040462floc_40462f:
0040462fmov eax, ecx
00404631shr eax, 2
00404634add eax, ecx
00404636xor rdi, rdi
00404639sub rax, rdx
0040463cadc rdi, -1
00404640and rax, rdi
00404643add rax, rdx
00404646mov r15, rax
00404649mov edi, ecx
0040464bmov rbx, rdx
0040464emov rcx, rax
00404651call fn_403d50
00404656mov rdx, rbx
00404659test eax, eax
0040465bje 0x404699
0040465dcmp r15, 0x40a28
00404664jbe 0x40466a
00404666mov [rax-16], rdx
0040466a
0040466aloc_40466a:
0040466amov r15, rax
0040466dmov rdx, rax
00404670mov rcx, rsi
00404673mov r8, rdi
00404676call fn_4037a0
0040467bmov rcx, rsi
0040467ecall fn_404120
00404683mov rax, r15
00404686jmp 0x404699
00404688
00404688loc_404688:
00404688test cl, 3
0040468bjne 0x404697
0040468dmov rcx, rsi
00404690call fn_403bc0
00404695jmp 0x404699
00404697
00404697loc_404697:
00404697xor eax, eax
00404699
00404699loc_404699:
00404699lea rsp, [rbp+40]
0040469dpop rbx
0040469epop rsi
0040469fpop rdi
004046a0pop r14
004046a2pop r15
004046a4pop rbp
004046a5ret
00404340
00404340fn_404340:
00404340push rbp
00404341push r15
00404343push r14
00404345push rdi
00404346push rsi
00404347push rbx
00404348sub rsp, 40
0040434cmov rbp, rsp
0040434fmov rsi, rcx
00404352mov rcx, [rcx-8]
00404356test cl, 7
00404359jne 0x40440f
0040435fmov rbx, [rcx]
00404362movzx ecx, [rbx+2]
00404366sub ecx, 8
00404369cmp rcx, rdx
0040436cjb 0x4043b7
0040436elea ebx, [4*edx+64]
00404376cmp ebx, ecx
00404378jb 0x404382
0040437amov rax, rsi
0040437djmp 0x404699
00404382
00404382loc_404382:
00404382mov rbx, rdx
00404385mov rcx, rdx
00404388call fn_403d50
0040438dtest rax, rax
00404390je 0x404699
00404396mov r8, rbx
00404399mov rdx, rax
0040439cmov rbx, rax
0040439fmov rcx, rsi
004043a2call fn_4037a0
004043a7mov rcx, rsi
004043aacall fn_404120
004043afmov rax, rbx
004043b2jmp 0x404699
004043b7
004043b7loc_4043b7:
004043b7lea ecx, [ecx+ecx+32]
004043bcmov rdi, rdx
004043bfxor rax, rax
004043c2sub rcx, rdx
004043c5adc rax, -1
004043c9and rcx, rax
004043ccadd rcx, rdx
004043cfcall fn_403d50
004043d4test rax, rax
004043d7je 0x404699
004043ddcmp rdi, 0x40a28
004043e4jbe 0x4043ea
004043e6mov [rax-16], rdi
004043ea
004043ealoc_4043ea:
004043eamovzx r8l, [rbx+2]
004043efsub r8l, 8
004043f3mov rdx, rax
004043f6mov rdi, rax
004043f9mov rcx, rsi
004043fccall [rbx+48]
004043ffmov rcx, rsi
00404402call fn_404120
00404407mov rax, rdi
0040440ajmp 0x404699
0040440f
0040440floc_40440f:
0040440ftest cl, 5
00404412jne 0x404688
00404418mov rbx, rcx
0040441band ecx, -16
0040441elea rdi, [rsi+rcx]
00404422sub ecx, 8
00404425and ebx, 15
00404428cmp rdx, rcx
0040442bja 0x40453a
00404431lea r15, [rdx+rdx]
00404435cmp r15, rcx
00404438jb 0x404442
0040443a
0040443aloc_40443a:
0040443amov rax, rsi
0040443djmp 0x404699
00404442
00404442loc_404442:
00404442cmp edx, 2856
00404448jae 0x40445f
0040444acmp edx, 716
00404450jb 0x404505
00404456mov edx, 2856
0040445bcmp ecx, edx
0040445djbe 0x40443a
0040445f
0040445floc_40445f:
0040445flea r15, [rdx+215]
00404466and r15, -256
0040446dadd r15, 48
00404471add ecx, 8
00404474sub ecx, r15l
00404477lea r8, [rip+0x60c1b]
0040447ecmp [r8], 0
00404482je 0x40449b
00404484mov ebx, ecx
00404486call fn_4037d0
0040448bmov ecx, ebx
0040448dmov rbx, 15
00404497and rbx, [rsi-8]
0040449b
0040449bloc_40449b:
0040449bor rbx, r15
0040449emov [rsi-8], rbx
004044a2mov ebx, ecx
004044a4mov rdx, [rdi-8]
004044a8test dl, 1
004044abjne 0x4044b7
004044ador rdx, 8
004044b1mov [rdi-8], rdx
004044b5jmp 0x4044d1
004044b7
004044b7loc_4044b7:
004044b7mov rcx, rdi
004044baand rdx, -16
004044beadd rbx, rdx
004044c1add rdi, rdx
004044c4cmp edx, 2864
004044cajb 0x4044d1
004044cccall fn_403820
004044d1
004044d1loc_4044d1:
004044d1mov [rdi-16], rbx
004044d5lea rcx, [rbx+3]
004044d9mov [rsi+r15-8], rcx
004044decmp rbx, 2864
004044e5jb 0x4044f3
004044e7lea rcx, [rsi+r15]
004044ebmov rdx, rbx
004044eecall fn_403870
004044f3
004044f3loc_4044f3:
004044f3lea rax, [rip+0x6169e]
004044famov [rax], 0
004044fdmov rax, rsi
00404500jmp 0x404699
00404505
00404505loc_404505:
00404505mov rdi, rdx
00404508mov rcx, rdx
0040450bcall fn_403d50
00404510test rax, rax
00404513je 0x404699
00404519mov r15, rax
0040451cmov rdx, rax
0040451fmov rcx, rsi
00404522mov r8, rdi
00404525call fn_4037a0
0040452amov rcx, rsi
0040452dcall fn_404120
00404532mov rax, r15
00404535jmp 0x404699
0040453a
0040453aloc_40453a:
0040453amov rax, [rdi-8]
0040453etest al, 1
00404540je 0x40462f
00404546and rax, -16
0040454alea r15, [rax+rcx]
0040454ecmp rdx, r15
00404551ja 0x40462f
00404557lea r8, [rip+0x60b3b]
0040455ecmp [r8], 0
00404562je 0x40459f
00404564mov rbx, rcx
00404567mov r15, rdx
0040456acall fn_4037d0
0040456fmov rcx, rbx
00404572mov rdx, r15
00404575mov rbx, 15
0040457fand rbx, [rsi-8]
00404583mov rax, [rdi-8]
00404587test al, 1
00404589je 0x404625
0040458fand eax, -16
00404592lea r15, [rax+rcx]
00404596cmp rdx, r15
00404599ja 0x404625
0040459f
0040459floc_40459f:
0040459fcmp eax, 2864
004045a4jb 0x4045ba
004045a6mov r14, rcx
004045a9mov rcx, rdi
004045acmov rdi, rdx
004045afcall fn_403820
004045b4mov rcx, r14
004045b7mov rdx, rdi
004045ba
004045baloc_4045ba:
004045bamov eax, ecx
004045bcshr eax, 2
004045bfadd eax, ecx
004045c1xor edi, edi
004045c3sub eax, edx
004045c5adc edi, -1
004045c8and eax, edi
004045calea eax, [eax+edx+215]
004045d2and eax, -256
004045d7add eax, 48
004045dalea rdx, [r15+8]
004045desub edx, eax
004045e0ja 0x4045ed
004045e2and [rsi+r15], -9
004045e7add r15, 8
004045ebjmp 0x40460f
004045ed
004045edloc_4045ed:
004045edmov [rsi+r15-8], rdx
004045f2lea edi, [edx+3]
004045f6mov [rsi+rax-8], rdi
004045fbmov r15, rax
004045fecmp edx, 2864
00404604jb 0x40460f
00404606lea rcx, [rsi+rax]
0040460acall fn_403870
0040460f
0040460floc_40460f:
0040460for r15, rbx
00404612mov [rsi-8], r15
00404616lea rax, [rip+0x6157b]
0040461dmov [rax], 0
00404620mov rax, rsi
00404623jmp 0x404699
00404625
00404625loc_404625:
00404625lea rax, [rip+0x6156c]
0040462cmov [rax], 0
0040462f
0040462floc_40462f:
0040462fmov eax, ecx
00404631shr eax, 2
00404634add eax, ecx
00404636xor rdi, rdi
00404639sub rax, rdx
0040463cadc rdi, -1
00404640and rax, rdi
00404643add rax, rdx
00404646mov r15, rax
00404649mov edi, ecx
0040464bmov rbx, rdx
0040464emov rcx, rax
00404651call fn_403d50
00404656mov rdx, rbx
00404659test eax, eax
0040465bje 0x404699
0040465dcmp r15, 0x40a28
00404664jbe 0x40466a
00404666mov [rax-16], rdx
0040466a
0040466aloc_40466a:
0040466amov r15, rax
0040466dmov rdx, rax
00404670mov rcx, rsi
00404673mov r8, rdi
00404676call fn_4037a0
0040467bmov rcx, rsi
0040467ecall fn_404120
00404683mov rax, r15
00404686jmp 0x404699
00404688
00404688loc_404688:
00404688test cl, 3
0040468bjne 0x404697
0040468dmov rcx, rsi
00404690call fn_403bc0
00404695jmp 0x404699
00404697
00404697loc_404697:
00404697xor eax, eax
00404699
00404699loc_404699:
00404699lea rsp, [rbp+40]
0040469dpop rbx
0040469epop rsi
0040469fpop rdi
004046a0pop r14
004046a2pop r15
004046a4pop rbp
004046a5ret
00404340
004046a6
004046a6 // align 0x10
004046a6 // align 0x10
004046b0
004046b0fn_4046b0:
004046b0push rbp
004046b1push rbx
004046b2sub rsp, 40
004046b6mov rbp, rsp
004046b9lea rbx, [rcx-1]
004046bdand rbx, -8
004046c1call fn_403d50
004046c6cmp rax, 1
004046casbb rcx, rcx
004046cdlea rdx, [rax+rbx]
004046d1or rbx, rcx
004046d4je 0x4046f1
004046d6cmp rbx, 0x40a28
004046ddjae 0x4046f7
004046dfneg rbx
004046e2pxor x0, x0
004046e6
004046e6loc_4046e6:
004046e6movdqa [rdx+rbx], x0
004046ebadd rbx, 16
004046efjs 0x4046e6
004046f1
004046f1loc_4046f1:
004046f1xor rcx, rcx
004046f4mov [rdx], rcx
004046f7
004046f7loc_4046f7:
004046f7lea rsp, [rbp+40]
004046fbpop rbx
004046fcpop rbp
004046fdret
004046b0
004046b0fn_4046b0:
004046b0push rbp
004046b1push rbx
004046b2sub rsp, 40
004046b6mov rbp, rsp
004046b9lea rbx, [rcx-1]
004046bdand rbx, -8
004046c1call fn_403d50
004046c6cmp rax, 1
004046casbb rcx, rcx
004046cdlea rdx, [rax+rbx]
004046d1or rbx, rcx
004046d4je 0x4046f1
004046d6cmp rbx, 0x40a28
004046ddjae 0x4046f7
004046dfneg rbx
004046e2pxor x0, x0
004046e6
004046e6loc_4046e6:
004046e6movdqa [rdx+rbx], x0
004046ebadd rbx, 16
004046efjs 0x4046e6
004046f1
004046f1loc_4046f1:
004046f1xor rcx, rcx
004046f4mov [rdx], rcx
004046f7
004046f7loc_4046f7:
004046f7lea rsp, [rbp+40]
004046fbpop rbx
004046fcpop rbp
004046fdret
004046b0
004046fe
004046fe // align 0x10
004046fe // align 0x10
00404700
00404700fn_404700:
00404700push rbp
00404701push rdi
00404702push rsi
00404703push rbx
00404704sub rsp, 72
00404708mov rbp, rsp
0040470bmov rbx, rcx
0040470emov rsi, rdx
00404711cmp [rip+0x60980], 0
00404718je 0x4047b8
0040471emov ecx, -12
00404723call GetStdHandle
00404728mov rdi, rax
0040472bmov rcx, rsi
0040472ecall fn_40c580
00404733mov rcx, rdi
00404736mov rdx, rsi
00404739mov r8l, eax
0040473clea r9, [rbp+60]
00404740mov [rsp+32], 0
00404749call WriteFile
0040474emov ecx, -12
00404753call GetStdHandle
00404758mov rsi, rax
0040475bmov rcx, [rip+0x54956]
00404762call fn_40c580
00404767mov rcx, rsi
0040476amov rdx, [rip+0x54947]
00404771mov r8l, eax
00404774lea r9, [rbp+60]
00404778mov [rsp+32], 0
00404781call WriteFile
00404786mov ecx, -12
0040478bcall GetStdHandle
00404790mov rsi, rax
00404793mov rcx, rbx
00404796call fn_40c580
0040479bmov rcx, rsi
0040479emov rdx, rbx
004047a1mov r8l, eax
004047a4lea r9, [rbp+60]
004047a8mov [rsp+32], 0
004047b1call WriteFile
004047b6jmp 0x4047cb
004047b8
004047b8loc_4047b8:
004047b8xor ecx, ecx
004047bamov rdx, rbx
004047bdmov r8, rsi
004047c0mov r9l, 8208
004047c6call MessageBoxA
004047cb
004047cbloc_4047cb:
004047cblea rsp, [rbp+72]
004047cfpop rbx
004047d0pop rsi
004047d1pop rdi
004047d2pop rbp
004047d3ret
00404700
00404700fn_404700:
00404700push rbp
00404701push rdi
00404702push rsi
00404703push rbx
00404704sub rsp, 72
00404708mov rbp, rsp
0040470bmov rbx, rcx
0040470emov rsi, rdx
00404711cmp [rip+0x60980], 0
00404718je 0x4047b8
0040471emov ecx, -12
00404723call GetStdHandle
00404728mov rdi, rax
0040472bmov rcx, rsi
0040472ecall fn_40c580
00404733mov rcx, rdi
00404736mov rdx, rsi
00404739mov r8l, eax
0040473clea r9, [rbp+60]
00404740mov [rsp+32], 0
00404749call WriteFile
0040474emov ecx, -12
00404753call GetStdHandle
00404758mov rsi, rax
0040475bmov rcx, [rip+0x54956]
00404762call fn_40c580
00404767mov rcx, rsi
0040476amov rdx, [rip+0x54947]
00404771mov r8l, eax
00404774lea r9, [rbp+60]
00404778mov [rsp+32], 0
00404781call WriteFile
00404786mov ecx, -12
0040478bcall GetStdHandle
00404790mov rsi, rax
00404793mov rcx, rbx
00404796call fn_40c580
0040479bmov rcx, rsi
0040479emov rdx, rbx
004047a1mov r8l, eax
004047a4lea r9, [rbp+60]
004047a8mov [rsp+32], 0
004047b1call WriteFile
004047b6jmp 0x4047cb
004047b8
004047b8loc_4047b8:
004047b8xor ecx, ecx
004047bamov rdx, rbx
004047bdmov r8, rsi
004047c0mov r9l, 8208
004047c6call MessageBoxA
004047cb
004047cbloc_4047cb:
004047cblea rsp, [rbp+72]
004047cfpop rbx
004047d0pop rsi
004047d1pop rdi
004047d2pop rbp
004047d3ret
00404700
004047d4
004047d4 // align 0x10
004047d4 // align 0x10
004047e0
004047e0fn_4047e0:
004047e0mov rax, rcx
004047e3mov ecx, [rax-8]
004047e6and ecx, -16
004047e9mov ecx, ecx
004047eblea rax, [rax+rcx]
004047efmov ecx, [rax-8]
004047f2and ecx, -16
004047f5test ecx, ecx
004047f7jne 0x4047fb
004047f9xor eax, eax
004047fb
004047fbloc_4047fb:
004047fbret
004047e0
004047e0fn_4047e0:
004047e0mov rax, rcx
004047e3mov ecx, [rax-8]
004047e6and ecx, -16
004047e9mov ecx, ecx
004047eblea rax, [rax+rcx]
004047efmov ecx, [rax-8]
004047f2and ecx, -16
004047f5test ecx, ecx
004047f7jne 0x4047fb
004047f9xor eax, eax
004047fb
004047fbloc_4047fb:
004047fbret
004047e0
004047fc
004047fc // align 0x10
004047fc // align 0x10
00404800
00404800fn_404800:
00404800cmp [rip+0x613a1], 0
00404807je 0x404822
00404809cmp [rip+0x61390], rcx
00404810jb 0x404822
00404812lea rax, [rcx+0x13fff0]
00404819cmp [rip+0x61380], rax
00404820jbe 0x404828
00404822
00404822loc_404822:
00404822lea rax, [rcx+32]
00404826jmp 0x40483f
00404828
00404828loc_404828:
00404828cmp [rip+0x61376], 0x13ffd0
00404832je 0x40483d
00404834mov rax, [rip+0x61365]
0040483bjmp 0x40483f
0040483d
0040483dloc_40483d:
0040483dxor eax, eax
0040483f
0040483floc_40483f:
0040483fret
00404800
00404800fn_404800:
00404800cmp [rip+0x613a1], 0
00404807je 0x404822
00404809cmp [rip+0x61390], rcx
00404810jb 0x404822
00404812lea rax, [rcx+0x13fff0]
00404819cmp [rip+0x61380], rax
00404820jbe 0x404828
00404822
00404822loc_404822:
00404822lea rax, [rcx+32]
00404826jmp 0x40483f
00404828
00404828loc_404828:
00404828cmp [rip+0x61376], 0x13ffd0
00404832je 0x40483d
00404834mov rax, [rip+0x61365]
0040483bjmp 0x40483f
0040483d
0040483dloc_40483d:
0040483dxor eax, eax
0040483f
0040483floc_40483f:
0040483fret
00404800
00404840
00404840fn_404840:
00404840lea rax, [rcx+48]
00404844mov [rdx], rax
00404847mov rdx, [rcx]
0040484acmp [rdx+40], rcx
0040484ejne 0x40485a
00404850mov rax, [rdx+24]
00404854cmp rax, [rdx+32]
00404858jbe 0x404873
0040485a
0040485aloc_40485a:
0040485amov eax, [rcx-8]
0040485dand eax, -16
00404860mov eax, eax
00404862lea rax, [rcx+rax]
00404866movzx rcx, [rdx+2]
0040486bsub rax, rcx
0040486emov [r8], rax
00404871jmp 0x40487e
00404873
00404873loc_404873:
00404873mov rax, [rdx+24]
00404877lea rax, [rax-1]
0040487bmov [r8], rax
0040487e
0040487eloc_40487e:
0040487eret
00404840
00404840fn_404840:
00404840lea rax, [rcx+48]
00404844mov [rdx], rax
00404847mov rdx, [rcx]
0040484acmp [rdx+40], rcx
0040484ejne 0x40485a
00404850mov rax, [rdx+24]
00404854cmp rax, [rdx+32]
00404858jbe 0x404873
0040485a
0040485aloc_40485a:
0040485amov eax, [rcx-8]
0040485dand eax, -16
00404860mov eax, eax
00404862lea rax, [rcx+rax]
00404866movzx rcx, [rdx+2]
0040486bsub rax, rcx
0040486emov [r8], rax
00404871jmp 0x40487e
00404873
00404873loc_404873:
00404873mov rax, [rdx+24]
00404877lea rax, [rax-1]
0040487bmov [r8], rax
0040487e
0040487eloc_40487e:
0040487eret
00404840
0040487f
0040487f // align 0x10
0040487f // align 0x10
00404880
00404880fn_404880:
00404880push rbp
00404881push rsi
00404882push rbx
00404883sub rsp, 64
00404887mov rbp, rsp
0040488amov rax, rcx
0040488dmov rbx, rdx
00404890xor ecx, ecx
00404892
00404892loc_404892:
00404892mov r8, rax
00404895mov r9l, 10
0040489bxor edx, edx
0040489ddiv r9
004048a0mov rdx, rax
004048a3add rdx, rdx
004048a6lea rdx, [rdx+4*rdx]
004048aasub r8, rdx
004048adadd ecx, 1
004048b0mov edx, 20
004048b5sub edx, ecx
004048b7mov edx, edx
004048b9lea r8, [r8+48]
004048bdmov [rbp+rdx+44], r8b
004048c2test rax, rax
004048c5jne 0x404892
004048c7mov esi, ecx
004048c9lea rcx, [rdx+rbp+44]
004048cemov rdx, rbx
004048d1mov r8, rsi
004048d4call fn_405ac0
004048d9lea rax, [rbx+rsi]
004048ddlea rsp, [rbp+64]
004048e1pop rbx
004048e2pop rsi
004048e3pop rbp
004048e4ret
00404880
00404880fn_404880:
00404880push rbp
00404881push rsi
00404882push rbx
00404883sub rsp, 64
00404887mov rbp, rsp
0040488amov rax, rcx
0040488dmov rbx, rdx
00404890xor ecx, ecx
00404892
00404892loc_404892:
00404892mov r8, rax
00404895mov r9l, 10
0040489bxor edx, edx
0040489ddiv r9
004048a0mov rdx, rax
004048a3add rdx, rdx
004048a6lea rdx, [rdx+4*rdx]
004048aasub r8, rdx
004048adadd ecx, 1
004048b0mov edx, 20
004048b5sub edx, ecx
004048b7mov edx, edx
004048b9lea r8, [r8+48]
004048bdmov [rbp+rdx+44], r8b
004048c2test rax, rax
004048c5jne 0x404892
004048c7mov esi, ecx
004048c9lea rcx, [rdx+rbp+44]
004048cemov rdx, rbx
004048d1mov r8, rsi
004048d4call fn_405ac0
004048d9lea rax, [rbx+rsi]
004048ddlea rsp, [rbp+64]
004048e1pop rbx
004048e2pop rsi
004048e3pop rbp
004048e4ret
00404880
004048e5
004048e5 // align 0x10
004048e5 // align 0x10
004048f0
004048f0fn_4048f0:
004048f0push rsi
004048f1push rbx
004048f2sub rsp, 40
004048f6mov rbx, rdx
004048f9mov esi, r8l
004048fcmov rdx, rbx
004048ffmov r8, rsi
00404902call fn_405ac0
00404907lea rax, [rbx+rsi]
0040490badd rsp, 40
0040490fpop rbx
00404910pop rsi
00404911ret
004048f0
004048f0fn_4048f0:
004048f0push rsi
004048f1push rbx
004048f2sub rsp, 40
004048f6mov rbx, rdx
004048f9mov esi, r8l
004048fcmov rdx, rbx
004048ffmov r8, rsi
00404902call fn_405ac0
00404907lea rax, [rbx+rsi]
0040490badd rsp, 40
0040490fpop rbx
00404910pop rsi
00404911ret
004048f0
00404912
00404912 // align 0x10
00404912 // align 0x10
00404920
00404920fn_404920:
00404920push rbx
00404921sub rsp, 32
00404925mov rbx, rdx
00404928test rcx, rcx
0040492bje 0x404946
0040492dmov rax, [rcx-136]
00404934lea rcx, [rax+1]
00404938mov rdx, rbx
0040493bmovzx r8, [rax]
0040493fcall fn_4048f0
00404944jmp 0x404964
00404946
00404946loc_404946:
00404946mov rcx, [rip+0x54753]
0040494dcall fn_40c580
00404952mov rcx, [rip+0x54747]
00404959mov rdx, rbx
0040495cmov r8l, eax
0040495fcall fn_4048f0
00404964
00404964loc_404964:
00404964add rsp, 32
00404968pop rbx
00404969ret
00404920
00404920fn_404920:
00404920push rbx
00404921sub rsp, 32
00404925mov rbx, rdx
00404928test rcx, rcx
0040492bje 0x404946
0040492dmov rax, [rcx-136]
00404934lea rcx, [rax+1]
00404938mov rdx, rbx
0040493bmovzx r8, [rax]
0040493fcall fn_4048f0
00404944jmp 0x404964
00404946
00404946loc_404946:
00404946mov rcx, [rip+0x54753]
0040494dcall fn_40c580
00404952mov rcx, [rip+0x54747]
00404959mov rdx, rbx
0040495cmov r8l, eax
0040495fcall fn_4048f0
00404964
00404964loc_404964:
00404964add rsp, 32
00404968pop rbx
00404969ret
00404920
0040496a
0040496a // align 0x10
0040496a // align 0x10
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
Loading..