Function at 0x40d9b0
Capabilities:
Copy file
Delete file
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x120
mov esi, esp
mov dword [esi + 0x58], 0x36e96400
jmp 0x40d9e0
mov dword [esi + 0x58], 0xe4cdfb87
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x58]
cmp eax, 0x8ce1623b
jg 0x40da00
cmp eax, 0x800a4c70
jne 0x40d9e0
jmp 0x40d9cd
cmp eax, 0x7fc69d5d
jg 0x40dac0
cmp eax, 0x78ed67d6
jg 0x40dae8
cmp eax, 0x8e94dee3
jg 0x40db02
cmp eax, 0x8ce1623c
jne 0x40d9e0
mov eax, dword [esi + 0xf0]
mov eax, dword [eax]
mov ecx, dword [esi + 0xd0]
mov edx, dword [esi + 0xc0]
sub esp, 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp], edx
mov dword [esp + 4], 0x104
call fcn.004037a0
add esp, 0x10
mov ecx, dword [esi + 0x104]
mov dword [ecx], eax
mov eax, dword [esi + 0x104]
mov eax, dword [eax]
mov ecx, dword [esi + 0xc0]
mov word [ecx + eax*2 - 8], 0
mov eax, dword [esi + 0xc0]
sub esp, 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov ecx, dword [esi + 0x64]
mov dword [ecx], eax
mov eax, dword [esi + 0x64]
cmp dword [eax], 0
setne byte [esi + 0x116]
mov dword [esi + 0x58], 0x6f739b61
jmp 0x40d9e0
cmp eax, 0x7fc69d5e
jne 0x40d9e0
mov ecx, dword [esi + 0x108]
mov eax, 0x51327271
cmp dword [ecx], 6
jb 0x40dae0
mov eax, 0xb4840ad1
mov dword [esi + 0x58], eax
jmp 0x40d9e0
cmp eax, 0x78ed67d7
jne 0x40d9e0
mov eax, dword [esi + 0x5c]
mov dword [esi + 0x58], 0xe4cdfb87
jmp 0x40d9e0
cmp eax, 0x9d180d4c
jg 0x40db2e
cmp eax, 0x8e94dee4
jne 0x40d9e0
mov ecx, dword [esi + 0x60]
mov eax, 0x335e94a4
cmp dword [ecx], 0
jne 0x40db26
mov eax, 0x48de7ed9
mov dword [esi + 0x58], eax
jmp 0x40d9e0
cmp eax, 0x9f6c39b1
jg 0x40dc58
cmp eax, 0x9d180d4d
jne 0x40d9e0
mov eax, dword [esi + 0xb8]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.004032b0
add esp, 0xc
mov eax, dword [esi + 0xbc]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.004032b0
add esp, 0xc
mov eax, dword [esi + 0xb8]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x104
call fcn.00404ce0
add esp, 8
mov eax, dword [esi + 0xfc]
mov eax, dword [eax]
mov ecx, dword [esi + 0xb4]
mov edx, dword [esi + 0xbc]
sub esp, 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp], edx
mov dword [esp + 4], 0x104
call fcn.00403620
add esp, 0x10
mov eax, dword [esi + 0xb8]
sub esp, 4
mov dword [esp], eax
call fcn.00403c90
add esp, 4
mov ecx, dword [esi + 0xb8]
mov edx, dword [esi + 0xfc]
mov edi, 0x104
sub edi, dword [edx]
mov edx, dword [esi + 0xbc]
mov ebx, dword [esi + 0xfc]
mov ebx, dword [ebx]
lea edx, [edx + ebx*2]
sub esp, 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
mov dword [esp], edx
call fcn.00403620
add esp, 0x10
mov eax, dword [0x465e74]
mov ecx, dword [esi + 0xbc]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], 0
call eax
mov ecx, dword [esi + 0x68]
mov dword [ecx], eax
mov dword [esi + 0x58], 0xc40ee5a6
jmp 0x40d9e0
cmp eax, 0xa4a0bb04
jg 0x40dd48
cmp eax, 0x9f6c39b2
jne 0x40d9e0
mov eax, dword [esi + 0xd8]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.004032b0
add esp, 0xc
mov eax, dword [esi + 0xd8]
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 0xc], 6
mov dword [esp + 8], str._q__u
mov dword [esp + 4], 0x104
call fcn.00403620
add esp, 0x10
mov eax, dword [esi + 0xbc]
sub esp, 4
mov dword [esp], eax
call fcn.00403c90
add esp, 4
mov ecx, dword [esi + 0xbc]
mov edx, dword [esi + 0xd8]
add edx, 0xc
sub esp, 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp], edx
mov dword [esp + 4], 0xfe
call fcn.00403620
add esp, 0x10
mov eax, dword [esi + 0xb0]
mov ecx, dword [esi + 0x6c]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0xd8]
mov ecx, dword [esi + 0x6c]
mov dword [ecx + 0x14], eax
mov eax, dword [esi + 0x6c]
mov dword [eax + 0x1c], 0
mov eax, dword [0x465e7c]
mov ecx, dword [esi + 0x6c]
sub esp, 4
mov dword [esp], ecx
call eax
cmp eax, 1
mov eax, 0xc32d0c0e
jne 0x40dd40
mov eax, 0x70524d1d
mov dword [esi + 0x58], eax
jmp 0x40d9e0
cmp eax, 0xad2bdc25
jg 0x40dd66
cmp eax, 0xa4a0bb05
jne 0x40d9e0
mov dword [esi + 0x58], 0x9d180d4d
jmp 0x40d9e0
cmp eax, 0xb24f66f6
jg 0x40de05
cmp eax, 0xad2bdc26
jne 0x40d9e0
mov eax, dword [esi + 0x6c]
mov eax, dword [eax + 0x38]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
sub esp, 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [0x465e78]
mov eax, dword [esi + 0xc8]
mov ecx, dword [esi + 0x6c]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x6c]
mov dword [eax + 0x14], 0
mov eax, dword [esi + 0x6c]
mov dword [eax + 0x1c], 1
mov eax, dword [0x465e7c]
mov ecx, dword [esi + 0x6c]
sub esp, 4
mov dword [esp], ecx
call eax
cmp eax, 1
mov eax, 0x6fcb6fe5
jne 0x40ddfd
mov eax, 0xc722aff1
mov dword [esi + 0x58], eax
jmp 0x40d9e0
cmp eax, 0xb4840ad0
jg 0x40de33
cmp eax, 0xb24f66f7
jne 0x40d9e0
mov al, byte [esi + 0x115]
test al, al
mov eax, 0x3db0aa2d
jne 0x40de2b
mov eax, 0xfbb121ac
mov dword [esi + 0x58], eax
jmp 0x40d9e0
cmp eax, 0xb8743633
jg 0x40dee3
cmp eax, 0xb4840ad1
jne 0x40d9e0
mov eax, dword [esi + 0xd4]
mov ecx, dword [esi + 0xd0]
sub esp, 0x10
mov dword [esp + 8], eax
mov dword [esp], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0x104
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
mov eax, dword [esi + 0xb4]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x104
call fcn.00404490
add esp, 8
mov eax, dword [esi + 0xb4]
sub esp, 4
mov dword [esp], eax
call fcn.00403c90
add esp, 4
mov ecx, dword [esi + 0xfc]
mov dword [ecx], eax
sub esp, 4
mov dword [esp], 0
call fcn.00410200
add esp, 4
mov edi, eax
call fcn.00402030
imul eax, edi
sub esp, 4
mov dword [esp], eax
call fcn.004135a2
add esp, 4
mov dword [esi + 0x58], 0x489f1ff6
jmp 0x40d9e0
cmp eax, 0xb9633e07
jg 0x40df12
cmp eax, 0xb8743634
jne 0x40d9e0
mov eax, dword [esi + 0x64]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov dword [esi + 0x58], 0x29b84b21
jmp 0x40d9e0
cmp eax, 0xbcb25ca6
jg 0x40df40
cmp eax, 0xb9633e08
jne 0x40d9e0
mov al, byte [esi + 0x117]
test al, al
mov eax, 0x2014e394
jne 0x40df38
mov eax, 0x8e94dee4
mov dword [esi + 0x58], eax
jmp 0x40d9e0
cmp eax, 0xc32d0c0d
jg 0x40df9b
cmp eax, 0xbcb25ca7
jne 0x40d9e0
mov eax, dword [esi + 0xb0]
mov ecx, dword [esi + 0x6c]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0xd8]
mov ecx, dword [esi + 0x6c]
mov dword [ecx + 0x14], eax
mov eax, dword [esi + 0x6c]
mov dword [eax + 0x1c], 0
mov eax, dword [0x465e7c]
mov ecx, dword [esi + 0x6c]
sub esp, 4
mov dword [esp], ecx
call eax
cmp eax, 1
mov eax, 0x5b849e75
jne 0x40df93
mov eax, 0xad2bdc26
mov dword [esi + 0x58], eax
jmp 0x40d9e0
cmp eax, 0xc40ee5a5
jg 0x40dfb9
cmp eax, 0xc32d0c0e
jne 0x40d9e0
mov dword [esi + 0x58], 0x6419629a
jmp 0x40d9e0
cmp eax, 0xc49c7c3c
jg 0x40dfe5
cmp eax, 0xc40ee5a6
jne 0x40d9e0
mov ecx, dword [esi + 0x68]
mov eax, 0x9d180d4d
cmp dword [ecx], 0
je 0x40dfdd
mov eax, 0xdd6e3ecf
mov dword [esi + 0x58], eax
jmp 0x40d9e0
cmp eax, 0xc722aff0
jg 0x40e088
cmp eax, 0xc49c7c3d
jne 0x40d9e0
mov eax, dword [esi + 0xf0]
mov eax, dword [eax]
mov ecx, dword [esi + 0xd0]
mov edx, dword [esi + 0xc0]
sub esp, 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp], edx
mov dword [esp + 4], 0x104
call fcn.004037a0
add esp, 0x10
mov ecx, dword [esi + 0x104]
mov dword [ecx], eax
mov eax, dword [esi + 0x104]
mov eax, dword [eax]
mov ecx, dword [esi + 0xc0]
mov word [ecx + eax*2 - 8], 0
mov eax, dword [esi + 0xc0]
sub esp, 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov ecx, dword [esi + 0x64]
mov dword [ecx], eax
mov eax, dword [esi + 0x64]
mov dword [esi + 0x58], 0x8ce1623c
jmp 0x40d9e0
cmp eax, 0xc9103b49
jg 0x40e0e2
cmp eax, 0xc722aff1
jne 0x40d9e0
mov eax, dword [esi + 0x6c]
mov eax, dword [eax + 0x38]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
mov eax, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edi, eax
call edi
mov eax, dword [esi + 0x64]
mov eax, dword [eax]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call edi
test eax, eax
mov eax, 0xccaf9685
jne 0x40e0da
mov eax, 0x9f6c39b2
mov dword [esi + 0x58], eax
jmp 0x40d9e0
cmp eax, 0xccaf9684
jg 0x40e109
cmp eax, 0xc9103b4a
jne 0x40d9e0
mov eax, dword [esi + 0x5c]
mov dword [eax], 0
mov dword [esi + 0x58], 0x800a4c70
jmp 0x40d9e0
cmp eax, 0xdd6e3ece
jg 0x40e127
cmp eax, 0xccaf9685
jne 0x40d9e0
mov dword [esi + 0x58], 0x6419629a
jmp 0x40d9e0
cmp eax, 0xe4cdfb86
jg 0x40ee17
cmp eax, 0xdd6e3ecf
jne 0x40d9e0
mov eax, dword [0x465e68]
mov ecx, dword [0x465ca8]
mov edx, dword [0x465cd0]
mov edi, dword [esi + 0x68]
mov edi, dword [edi]
mov ebx, dword [esi + 0x70]
sub esp, 0x18
mov dword [esp + 0x14], ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 1
call eax
mov eax, dword [0x465e68]
mov ecx, dword [0x465cb8]
mov edx, dword [0x465cd0]
mov edi, dword [esi + 0x68]
mov edi, dword [edi]
mov ebx, dword [esi + 0x74]
sub esp, 0x18
mov dword [esp + 0x14], ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
call eax
mov eax, dword [0x465e68]
mov ecx, dword [0x465cbc]
mov edx, dword [0x465cd0]
mov edi, dword [esi + 0x68]
mov edi, dword [edi]
mov ebx, dword [esi + 0x78]
sub esp, 0x18
mov dword [esp + 0x14], ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
call eax
mov eax, dword [0x465e68]
mov ecx, dword [0x465ca8]
mov edx, dword [0x465ccc]
mov edi, dword [esi + 0x68]
mov edi, dword [edi]
mov ebx, dword [esi + 0x7c]
sub esp, 0x18
mov dword [esp + 0x14], ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
call eax
mov eax, dword [0x465e68]
mov ecx, dword [0x465c9c]
mov edx, dword [0x465cdc]
mov edi, dword [esi + 0x68]
mov edi, dword [edi]
mov ebx, dword [esi + 0x80]
sub esp, 0x18
mov dword [esp + 0x14], ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
call eax
mov eax, dword [0x465e68]
mov ecx, dword [0x465ca8]
mov edx, dword [0x465ce0]
mov edi, dword [esi + 0x68]
mov edi, dword [edi]
mov ebx, dword [esi + 0x84]
sub esp, 0x18
mov dword [esp + 0x14], ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
call eax
mov eax, dword [0x465e68]
mov ecx, dword [0x465cec]
mov edx, dword [0x465ce4]
mov edi, dword [esi + 0x68]
mov edi, dword [edi]
mov ebx, dword [esi + 0x88]
sub esp, 0x18
mov dword [esp + 0x14], ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
call eax
mov eax, dword [0x465e68]
mov ecx, dword [0x465ce8]
mov edx, dword [0x465ce4]
mov edi, dword [esi + 0x68]
mov edi, dword [edi]
mov ebx, dword [esi + 0x8c]
sub esp, 0x18
mov dword [esp + 0x14], ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
call eax
mov eax, dword [0x465e68]
mov ecx, dword [0x465ce8]
mov edx, dword [0x465cd0]
mov edi, dword [esi + 0x68]
mov edi, dword [edi]
mov ebx, dword [esi + 0x90]
sub esp, 0x18
mov dword [esp + 0x14], ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 1
call eax
mov eax, dword [0x465e64]
mov ecx, dword [esi + 0x68]
mov ecx, dword [ecx]
sub esp, 4
mov dword [esp], ecx
call eax
mov edi, dword [esi + 0xe0]
call fcn.0041357f
mov ecx, eax
not ecx
and eax, 0x6ffd23e4
mov edx, ecx
and edx, 0x9002dc1b
add edx, eax
xor edx, 0x9002dc14
and ecx, 0xfffffff0
or ecx, edx
mov eax, ecx
not eax
and eax, 0xcb8c64ef
and ecx, 0x34739b10
add ecx, eax
xor ecx, 0x34739b10
sub esp, 0xc
mov dword [esp + 4], edi
mov dword [esp], ecx
mov dword [esp + 8], 0xa
call fcn.00413f34
add esp, 0xc
mov eax, dword [esi + 0xe0]
sub esp, 4
mov dword [esp], eax
call fcn.00403c90
add esp, 4
mov ecx, dword [esi + 0xf0]
mov dword [ecx], eax
mov eax, dword [esi + 0xf0]
mov eax, dword [eax]
lea ecx, [eax + 1]
mov edx, dword [esi + 0xf0]
mov dword [edx], ecx
mov ecx, dword [esi + 0xe0]
mov word [ecx + eax*2], 0x2e
mov eax, dword [esi + 0xe0]
mov ecx, dword [esi + 0xf0]
mov ecx, dword [ecx]
lea edi, [eax + ecx*2]
call fcn.0041357f
mov ecx, eax
not ecx
and ecx, 0xfffffffe
xor eax, 1
or eax, ecx
not eax
and eax, eax
sub esp, 0xc
mov dword [esp + 4], edi
mov dword [esp], eax
mov dword [esp + 8], 0xa
call fcn.00413f34
add esp, 0xc
mov eax, dword [esi + 0xe0]
sub esp, 4
mov dword [esp], eax
call fcn.00403c90
add esp, 4
mov ecx, dword [esi + 0xf0]
mov dword [ecx], eax
mov eax, dword [esi + 0xf0]
mov eax, dword [eax]
mov ecx, 0x201b0585
sub ecx, eax
mov edx, 0x201b0586
sub edx, ecx
mov ecx, dword [esi + 0xf0]
mov dword [ecx], edx
mov ecx, dword [esi + 0xe0]
mov word [ecx + eax*2], 0x2e
mov eax, dword [esi + 0xe0]
mov ecx, dword [esi + 0xf0]
mov ecx, dword [ecx]
lea edi, [eax + ecx*2]
call fcn.0041357f
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xfffffffa
and eax, 5
add eax, edx
not eax
or eax, ecx
not eax
sub esp, 0xc
mov dword [esp + 4], edi
mov dword [esp], eax
mov dword [esp + 8], 0xa
call fcn.00413f34
add esp, 0xc
mov eax, dword [esi + 0xe0]
sub esp, 4
mov dword [esp], eax
call fcn.00403c90
add esp, 4
mov ecx, dword [esi + 0xf0]
mov dword [ecx], eax
mov eax, dword [esi + 0xf0]
mov eax, dword [eax]
mov ecx, 0xb6154ef1
sub ecx, eax
mov edx, 0xb6154ef2
sub edx, ecx
mov ecx, dword [esi + 0xf0]
mov dword [ecx], edx
mov ecx, dword [esi + 0xe0]
mov word [ecx + eax*2], 0x2e
mov eax, dword [esi + 0xe0]
mov ecx, dword [esi + 0xf0]
mov ecx, dword [ecx]
lea edi, [eax + ecx*2]
call fcn.0041357f
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xfffffff3
and eax, 0xc
add eax, edx
not eax
or eax, ecx
not eax
sub esp, 0xc
mov dword [esp + 4], edi
mov dword [esp], eax
mov dword [esp + 8], 0xa
call fcn.00413f34
add esp, 0xc
mov eax, dword [esi + 0xe0]
sub esp, 4
mov dword [esp], eax
call fcn.00403c90
add esp, 4
mov ecx, dword [esi + 0xf0]
mov dword [ecx], eax
mov eax, dword [0x41d134]
movzx eax, byte [eax]
mov ecx, dword [esi + 0xf4]
mov dword [ecx], eax
mov eax, dword [esi + 0xf4]
mov eax, dword [eax]
mov ecx, dword [0x41d134]
movzx eax, byte [eax + ecx + 1]
mov ecx, dword [esi + 0xf8]
mov dword [ecx], eax
mov eax, dword [esi + 0xf8]
mov eax, dword [eax]
mov ecx, dword [0x41d134]
mov edx, dword [esi + 0xf4]
mov edx, dword [edx]
lea ecx, [ecx + edx + 2]
mov edx, dword [0x41d134]
inc edx
mov edi, dword [esi + 0xe8]
sub esp, 0x14
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp], edi
mov dword [esp + 4], 0x10
call fcn.00402590
add esp, 0x14
mov eax, dword [0x465e60]
mov ecx, dword [0x465cc4]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov ecx, dword [esi + 0x94]
mov dword [ecx], eax
mov eax, dword [0x465e58]
mov ecx, dword [0x465cf4]
mov edx, dword [0x465ca4]
mov edi, dword [esi + 0x68]
mov edi, dword [edi]
sub esp, 0x10
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 0xc], 0
call eax
mov eax, dword [0x465e54]
mov ecx, dword [esi + 0xe0]
mov edx, dword [0x465cc0]
mov edi, dword [esi + 0x68]
mov edi, dword [edi]
sub esp, 0xc
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], edi
call eax
mov eax, dword [0x465e54]
mov ecx, dword [esi + 0xb8]
mov edx, dword [0x465ca8]
mov edi, dword [esi + 0x68]
mov edi, dword [edi]
sub esp, 0xc
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], edi
call eax
mov eax, dword [0x465e50]
mov ecx, dword [0x465ca0]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 0xc
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 8], 1
call eax
mov eax, dword [0x465e4c]
mov ecx, dword [esi + 0xe8]
mov edx, dword [0x465cf0]
mov edi, dword [esi + 0x68]
mov edi, dword [edi]
sub esp, 0x10
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 0xc], 0x10
call eax
mov eax, dword [0x465e60]
mov ecx, dword [0x465cc8]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov ecx, dword [esi + 0x98]
mov dword [ecx], eax
mov eax, dword [0x465e48]
mov ecx, dword [esi + 0x7c]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x465e44]
mov ecx, dword [esi + 0x7c]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x465e48]
mov ecx, dword [esi + 0x84]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x465e44]
mov ecx, dword [esi + 0x84]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x465e5c]
mov ecx, dword [esi + 0x98]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x465e48]
mov ecx, dword [esi + 0x74]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x465e44]
mov ecx, dword [esi + 0x74]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x465e48]
mov ecx, dword [esi + 0x78]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x465e44]
mov ecx, dword [esi + 0x78]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x465e48]
mov ecx, dword [esi + 0x70]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x465e48]
mov ecx, dword [esi + 0x90]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
call fcn.0041357f
mov ecx, eax
mov edx, 0xcccccccd
mul edx
shr edx, 2
lea eax, [edx + edx*4]
sub ecx, eax
mov eax, dword [ecx*4 + 0x41d138]
mov ecx, dword [esi + 0xa8]
mov dword [ecx], eax
mov eax, dword [esi + 0xa8]
mov eax, dword [eax]
movzx eax, word [eax]
mov ecx, dword [esi + 0xf4]
mov dword [ecx], eax
mov eax, dword [esi + 0xf4]
mov eax, dword [eax]
mov ecx, dword [esi + 0xa8]
mov ecx, dword [ecx]
movzx eax, word [ecx + eax*2 + 2]
mov ecx, dword [esi + 0xf8]
mov dword [ecx], eax
mov eax, dword [esi + 0xf8]
mov eax, dword [eax]
mov ecx, dword [esi + 0xa8]
mov ecx, dword [ecx]
mov edx, dword [esi + 0xf4]
mov edx, dword [edx]
lea ecx, [ecx + edx*2 + 4]
mov edx, dword [esi + 0xa8]
mov edx, dword [edx]
add edx, 2
mov edi, dword [esi + 0xf4]
mov edi, dword [edi]
mov ebx, dword [esi + 0xac]
sub esp, 0x14
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.00402b00
add esp, 0x14
mov eax, dword [esi + 0xf4]
mov eax, dword [eax]
mov ecx, dword [esi + 0xac]
mov edx, dword [esi + 0xc8]
sub esp, 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp], edx
mov dword [esp + 4], 0x104
call fcn.00403620
add esp, 0x10
mov eax, dword [esi + 0xf4]
mov ecx, 0x104
sub ecx, dword [eax]
mov eax, dword [esi + 0xc8]
mov edx, dword [esi + 0xf4]
mov edx, dword [edx]
lea eax, [eax + edx*2]
sub esp, 0x10
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 0xc], 4
mov dword [esp + 8], str..exe
call fcn.00403620
add esp, 0x10
mov eax, dword [esi + 0xf4]
mov eax, dword [eax]
mov ecx, dword [esi + 0xac]
mov edx, dword [esi + 0xcc]
sub esp, 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp], edx
mov dword [esp + 4], 0x104
call fcn.00403620
add esp, 0x10
mov eax, dword [esi + 0xf4]
mov ecx, 0x104
sub ecx, dword [eax]
mov eax, dword [esi + 0xcc]
mov edx, dword [esi + 0xf4]
mov edx, dword [edx]
lea eax, [eax + edx*2]
sub esp, 0x10
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 0xc], 6
mov dword [esp + 8], str.32.exe
call fcn.00403620
add esp, 0x10
mov eax, dword [0x41d14c]
movzx eax, byte [eax]
mov ecx, dword [esi + 0xf4]
mov dword [ecx], eax
mov eax, dword [esi + 0xf4]
mov ecx, 0xd2336c31
sub ecx, dword [eax]
neg ecx
mov eax, dword [0x41d14c]
movzx eax, byte [eax + ecx - 0x2dcc93ce]
mov ecx, dword [esi + 0xf8]
mov dword [ecx], eax
mov eax, dword [esi + 0xf8]
mov eax, dword [eax]
mov ecx, dword [0x41d14c]
mov edx, dword [esi + 0xf4]
mov edx, dword [edx]
lea ecx, [ecx + edx + 2]
mov edx, dword [0x41d14c]
inc edx
mov edi, dword [esi + 0xec]
sub esp, 0x14
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp], edi
mov dword [esp + 4], 0x10
call fcn.00402590
add esp, 0x14
mov eax, dword [0x465e60]
mov ecx, dword [0x465cd0]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov ecx, dword [esi + 0x9c]
mov dword [ecx], eax
mov eax, dword [0x465e54]
mov ecx, dword [esi + 0xc8]
mov edx, dword [0x465ca8]
mov edi, dword [esi + 0x68]
mov edi, dword [edi]
sub esp, 0xc
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], edi
call eax
mov eax, dword [0x465e54]
mov ecx, dword [esi + 0xcc]
mov edx, dword [0x465cb0]
mov edi, dword [esi + 0x68]
mov edi, dword [edi]
sub esp, 0xc
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], edi
call eax
mov eax, dword [0x465e54]
mov ecx, dword [0x465cac]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 0xc
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 8], str.Microsoft
call eax
mov eax, dword [0x465e4c]
mov ecx, dword [esi + 0xec]
mov edx, dword [0x465ce8]
mov edi, dword [esi + 0x68]
mov edi, dword [edi]
sub esp, 0x10
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 0xc], 0x10
call eax
mov eax, dword [0x465e60]
mov ecx, dword [0x465cd4]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov ecx, dword [esi + 0xa0]
mov dword [ecx], eax
mov eax, dword [0x465e54]
mov ecx, dword [0x465ca8]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 0xc
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 8], 0x47b2f8
call eax
mov eax, dword [0x465e5c]
mov ecx, dword [esi + 0xa0]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x41d150]
movzx eax, word [eax]
mov ecx, dword [esi + 0xf4]
mov dword [ecx], eax
mov eax, dword [esi + 0xf4]
mov eax, dword [eax]
mov ecx, dword [0x41d150]
movzx eax, word [ecx + eax*2 + 2]
mov ecx, dword [esi + 0xf8]
mov dword [ecx], eax
mov eax, dword [esi + 0xf8]
mov eax, dword [eax]
mov ecx, dword [0x41d150]
mov edx, dword [esi + 0xf4]
mov edx, dword [edx]
lea ecx, [ecx + edx*2 + 4]
mov edx, dword [0x41d150]
add edx, 2
mov edi, dword [esi + 0xf4]
mov edi, dword [edi]
mov ebx, dword [esi + 0xe4]
sub esp, 0x14
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.00402b00
add esp, 0x14
mov eax, dword [0x465e60]
mov ecx, dword [0x465cd8]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov ecx, dword [esi + 0xa4]
mov dword [ecx], eax
mov eax, dword [0x465e54]
mov ecx, dword [esi + 0xe4]
mov edx, dword [0x465ca8]
mov edi, dword [esi + 0x68]
mov edi, dword [edi]
sub esp, 0xc
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], edi
call eax
mov eax, dword [0x465e54]
mov ecx, dword [esi + 0xc4]
mov edx, dword [0x465cb4]
mov edi, dword [esi + 0x68]
mov edi, dword [edi]
sub esp, 0xc
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], edi
call eax
mov eax, dword [0x465e5c]
mov ecx, dword [esi + 0xa4]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x465e5c]
mov ecx, dword [esi + 0x9c]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x465e44]
mov ecx, dword [esi + 0x90]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x465e44]
mov ecx, dword [esi + 0x70]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x465e48]
mov ecx, dword [esi + 0x88]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x465e48]
mov ecx, dword [esi + 0x8c]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x465e44]
mov ecx, dword [esi + 0x8c]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x465e44]
mov ecx, dword [esi + 0x88]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x465e48]
mov ecx, dword [esi + 0x80]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x465e44]
mov ecx, dword [esi + 0x80]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x465e5c]
mov ecx, dword [esi + 0x94]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x68]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x465e6c]
mov ecx, dword [esi + 0x68]
mov ecx, dword [ecx]
sub esp, 4
mov dword [esp], ecx
call eax
mov eax, dword [esi + 0xdc]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x20a
call fcn.00405100
add esp, 8
mov eax, dword [0x465eac]
mov ecx, dword [esi + 0xdc]
sub esp, 0xc
mov dword [esp + 8], ecx
mov dword [esp + 4], 0
mov dword [esp], 0
call eax
mov ecx, dword [esi + 0x60]
mov dword [ecx], eax
mov ecx, dword [esi + 0x60]
mov eax, 0x6f6c9b8f
cmp dword [ecx], 0
je 0x40ee0f
mov eax, 0xfbb3be86
mov dword [esi + 0x58], eax
jmp 0x40d9e0
cmp eax, 0xe68326bb
jg 0x40ee40
cmp eax, 0xe4cdfb87
jne 0x40d9e0
mov eax, dword [esi + 0x5c]
mov eax, dword [eax]
mov dword [esi + 0x118], eax
mov dword [esi + 0x58], 0x4caeee0d
jmp 0x40d9e0
cmp eax, 0xf07f3539
jg 0x40ee61
cmp eax, 0xe68326bc
jne 0x40d9e0
mov eax, dword [esi + 0x64]
mov dword [esi + 0x58], 0x1d9ff91e
jmp 0x40d9e0
cmp eax, 0xf3fc8ba2
jg 0x40ee7f
cmp eax, 0xf07f353a
jne 0x40d9e0
mov dword [esi + 0x58], 0x26e5496b
jmp 0x40d9e0
cmp eax, 0xfbb121ab
jg 0x40f4a5
cmp eax, 0xf3fc8ba3
jne 0x40d9e0
mov eax, 4
call fcn.00412c60
mov dword [esi + 0x5c], esp
mov eax, 4
call fcn.00412c60
mov dword [esi + 0x60], esp
mov eax, 4
call fcn.00412c60
mov dword [esi + 0x64], esp
mov eax, 4
call fcn.00412c60
mov dword [esi + 0x68], esp
mov eax, 0x3c
call fcn.00412c60
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x6c], eax
mov eax, 4
call fcn.00412c60
mov dword [esi + 0x70], esp
mov eax, 4
call fcn.00412c60
mov dword [esi + 0x74], esp
mov eax, 4
call fcn.00412c60
mov dword [esi + 0x78], esp
mov eax, 4
call fcn.00412c60
mov dword [esi + 0x7c], esp
mov eax, 4
call fcn.00412c60
mov dword [esi + 0x80], esp
mov eax, 4
call fcn.00412c60
mov dword [esi + 0x84], esp
mov eax, 4
call fcn.00412c60
mov dword [esi + 0x88], esp
mov eax, 4
call fcn.00412c60
mov dword [esi + 0x8c], esp
mov eax, 4
call fcn.00412c60
mov dword [esi + 0x90], esp
mov eax, 4
call fcn.00412c60
mov dword [esi + 0x94], esp
mov eax, 4
call fcn.00412c60
mov dword [esi + 0x98], esp
mov eax, 4
call fcn.00412c60
mov dword [esi + 0x9c], esp
mov eax, 4
call fcn.00412c60
mov dword [esi + 0xa0], esp
mov eax, 4
call fcn.00412c60
mov dword [esi + 0xa4], esp
mov eax, 4
call fcn.00412c60
mov dword [esi + 0xa8], esp
mov eax, 0x20c
call fcn.00412c60
mov dword [esi + 0xac], esp
mov eax, 0x20c
call fcn.00412c60
mov dword [esi + 0xb0], esp
mov eax, 0x20c
call fcn.00412c60
mov dword [esi + 0xb4], esp
mov eax, 0x20c
call fcn.00412c60
mov dword [esi + 0xb8], esp
mov eax, 0x20c
call fcn.00412c60
mov dword [esi + 0xbc], esp
mov eax, 0x20c
call fcn.00412c60
mov dword [esi + 0xc0], esp
mov eax, 0x20c
call fcn.00412c60
mov dword [esi + 0xc4], esp
mov eax, 0x20c
call fcn.00412c60
mov dword [esi + 0xc8], esp
mov eax, 0x20c
call fcn.00412c60
mov dword [esi + 0xcc], esp
mov eax, 0x20c
call fcn.00412c60
mov dword [esi + 0xd0], esp
mov eax, 0x20c
call fcn.00412c60
mov dword [esi + 0xd4], esp
mov eax, 0x20c
call fcn.00412c60
mov dword [esi + 0xd8], esp
mov eax, 0x20c
call fcn.00412c60
mov dword [esi + 0xdc], esp
mov eax, 0xc8
call fcn.00412c60
mov dword [esi + 0xe0], esp
mov eax, 0x28
call fcn.00412c60
mov dword [esi + 0xe4], esp
mov eax, 0x10
call fcn.00412c60
mov dword [esi + 0xe8], esp
mov eax, 0x10
call fcn.00412c60
mov dword [esi + 0xec], esp
mov eax, 0xc
call fcn.00412c60
mov edi, esp
mov eax, 4
call fcn.00412c60
mov dword [esi + 0xf0], esp
mov eax, 4
call fcn.00412c60
mov dword [esi + 0xf4], esp
mov eax, 4
call fcn.00412c60
mov dword [esi + 0xf8], esp
mov eax, 4
call fcn.00412c60
mov dword [esi + 0xfc], esp
mov eax, 4
call fcn.00412c60
mov dword [esi + 0x100], esp
mov eax, 4
call fcn.00412c60
mov dword [esi + 0x104], esp
mov eax, 4
call fcn.00412c60
mov dword [esi + 0x108], esp
mov eax, 4
call fcn.00412c60
mov dword [esi + 0x10c], esp
mov eax, 4
call fcn.00412c60
mov dword [esi + 0x110], esp
mov eax, dword [esi + 0x60]
mov dword [eax], 0
mov eax, dword [esi + 0x64]
mov dword [eax], 0
mov eax, dword [esi + 0x68]
mov dword [eax], 0
mov eax, dword [esi + 0x6c]
mov dword [eax + 0x38], 0
mov dword [eax + 0x34], 0
mov dword [eax + 0x30], 0
mov dword [eax + 0x2c], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov eax, dword [esi + 0xa8]
mov dword [eax], 0
mov eax, dword [esi + 0xac]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413410
add esp, 0xc
mov eax, dword [esi + 0xb0]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413410
add esp, 0xc
mov eax, dword [esi + 0xb4]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413410
add esp, 0xc
mov eax, dword [esi + 0xb8]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413410
add esp, 0xc
mov eax, dword [esi + 0xbc]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413410
add esp, 0xc
mov eax, dword [esi + 0xc0]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413410
add esp, 0xc
mov eax, dword [esi + 0xc4]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413410
add esp, 0xc
mov eax, dword [esi + 0xc8]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413410
add esp, 0xc
mov eax, dword [esi + 0xcc]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413410
add esp, 0xc
mov eax, dword [esi + 0xd0]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413410
add esp, 0xc
mov eax, dword [esi + 0xd4]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413410
add esp, 0xc
mov eax, dword [esi + 0xdc]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413410
add esp, 0xc
mov eax, dword [esi + 0xe0]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0xc8
mov dword [esp + 4], 0
call fcn.00413410
add esp, 0xc
mov eax, dword [esi + 0xe4]
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov eax, dword [esi + 0xe8]
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov eax, dword [esi + 0xec]
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov word [edi + 8], 0
mov dword [edi + 4], 0
mov dword [edi], 0
mov eax, dword [esi + 0x108]
mov dword [eax], 0
mov eax, dword [esi + 0x10c]
mov dword [eax], 0xffffffff
call fcn.0040d650
test eax, eax
sets byte [esi + 0x115]
mov dword [esi + 0x58], 0xb24f66f7
jmp 0x40d9e0
cmp eax, 0x70524d1c
jg 0x40f60c
cmp eax, 0x6fcb6fe4
jg 0x40f671
cmp eax, 0x6f739b60
jg 0x40f681
cmp eax, 0x6f6c9b8e
jg 0x40f6a8
cmp eax, 0x6b7a82b2
jg 0x40f6b8
cmp eax, 0x6769cfa8
jg 0x40f6f5
cmp eax, 0x64196299
jg 0x40f70c
cmp eax, 0x5b849e74
jg 0x40f723
cmp eax, 0x51327270
jg 0x40f730
cmp eax, 0x4d31b444
jg 0x40f740
cmp eax, 0x4caeee0c
jg 0x40f77d
cmp eax, 0x48de7ed8
jg 0x40f78d
cmp eax, 0x489f1ff5
jg 0x40f7c8
cmp eax, 0x3f2392ed
jg 0x40f930
cmp eax, 0x3db0aa2c
jg 0x40faca
cmp eax, 0x36e963ff
jg 0x40faea
cmp eax, 0x335e94a3
jg 0x40fb01
cmp eax, 0x29b84b20
jg 0x40fb29
cmp eax, 0x27921e19
jg 0x40fb51
cmp eax, 0x26e5496a
jg 0x40fb7c
cmp eax, 0x20af1c79
jg 0x40fbb9
cmp eax, 0x2014e393
jg 0x40fbfe
cmp eax, 0x1d9ff91d
jg 0x40fc26
cmp eax, 0xc28748e
jg 0x40fc4a
cmp eax, 0xb52e6ec
jg 0x40fc74
cmp eax, 0xfbb121ac
je 0x40fc8b
cmp eax, 0xfbb3be86
jne 0x40fcd9
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [esi + 0x100]
mov dword [ecx], eax
mov ecx, dword [esi + 0x100]
mov eax, 0x27921e1a
cmp dword [ecx], 0
jne 0x40f604
mov eax, 0x3f2392ee
mov dword [esi + 0x58], eax
jmp 0x40d9e0
cmp eax, 0x70524d1d
jne 0x40d9e0
mov eax, dword [esi + 0x6c]
mov eax, dword [eax + 0x38]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
sub esp, 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [0x465e78]
mov eax, dword [esi + 0x10c]
mov dword [eax], 1
mov dword [esi + 0x58], 0x6419629a
jmp 0x40d9e0
cmp eax, 0x6fcb6fe5
jne 0x40d9e0
jmp 0x40f74b
cmp eax, 0x6f739b61
jne 0x40d9e0
mov al, byte [esi + 0x116]
test al, al
mov eax, 0xc28748f
jne 0x40f6a0
mov eax, 0xc9103b4a
mov dword [esi + 0x58], eax
jmp 0x40d9e0
cmp eax, 0x6f6c9b8f
jne 0x40d9e0
jmp 0x40f74b
cmp eax, 0x6b7a82b3
jne 0x40d9e0
mov eax, dword [esi + 0xc4]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [esi + 0xd4]
sub esp, 4
mov dword [esp], eax
call fcn.0040c810
add esp, 4
mov dword [esi + 0x58], 0x26e5496b
jmp 0x40d9e0
cmp eax, 0x6769cfa9
jne 0x40d9e0
mov dword [esi + 0x58], 0x8ce1623c
jmp 0x40d9e0
cmp eax, 0x6419629a
jne 0x40d9e0
mov dword [esi + 0x58], 0x1d9ff91e
jmp 0x40d9e0
cmp eax, 0x5b849e75
jne 0x40d9e0
jmp 0x40f74b
cmp eax, 0x51327271
jne 0x40d9e0
jmp 0x40fad5
cmp eax, 0x4d31b445
jne 0x40d9e0
mov eax, dword [esi + 0xc4]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [esi + 0xd4]
sub esp, 4
mov dword [esp], eax
call fcn.0040c810
add esp, 4
mov dword [esi + 0x58], 0x6419629a
jmp 0x40d9e0
cmp eax, 0x4caeee0d
jne 0x40d9e0
jmp 0x4101f0
cmp eax, 0x48de7ed9
jne 0x40d9e0
mov eax, dword [esi + 0xbc]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
call fcn.0040d990
mov eax, dword [esi + 0x10c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x5c]
mov dword [ecx], eax
mov dword [esi + 0x58], 0x800a4c70
jmp 0x40d9e0
cmp eax, 0x489f1ff6
jne 0x40d9e0
mov eax, dword [esi + 0xc0]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.004032b0
add esp, 0xc
mov eax, dword [esi + 0xc4]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.004032b0
add esp, 0xc
mov eax, dword [esi + 0xc0]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x104
call fcn.00404ce0
add esp, 8
mov eax, dword [esi + 0xc0]
sub esp, 4
mov dword [esp], eax
call fcn.00403c90
add esp, 4
mov ecx, dword [esi + 0x110]
mov dword [ecx], eax
mov eax, dword [esi + 0xfc]
mov eax, dword [eax]
mov ecx, dword [esi + 0xb4]
mov edx, dword [esi + 0xc4]
sub esp, 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp], edx
mov dword [esp + 4], 0x104
call fcn.00403620
add esp, 0x10
mov eax, dword [esi + 0x110]
mov ebx, dword [eax]
mov ecx, dword [esi + 0xc0]
mov edx, dword [esi + 0xfc]
mov edi, 0x104
sub edi, dword [edx]
mov edx, dword [esi + 0xc4]
mov eax, dword [esi + 0xfc]
mov eax, dword [eax]
lea eax, [edx + eax*2]
sub esp, 0x10
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.00403620
add esp, 0x10
mov eax, dword [esi + 0xfc]
mov ecx, 0x51bf8e3b
sub ecx, dword [eax]
mov eax, dword [esi + 0x110]
sub ecx, dword [eax]
add ecx, 0xae4072c9
mov eax, dword [esi + 0xc4]
mov edx, dword [esi + 0xfc]
mov edx, dword [edx]
lea eax, [eax + edx*2]
mov edx, dword [esi + 0x110]
mov edx, dword [edx]
lea eax, [eax + edx*2]
sub esp, 0x10
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 0xc], 4
mov dword [esp + 8], str..exe
call fcn.00403620
add esp, 0x10
mov dword [esi + 0x58], 0x20af1c7a
jmp 0x40d9e0
cmp eax, 0x3f2392ee
jne 0x40d9e0
mov eax, dword [esi + 0x6c]
mov dword [eax], 0x3c
mov eax, dword [esi + 0x6c]
mov dword [eax + 4], 0x40
mov eax, dword [esi + 0x6c]
mov dword [eax + 8], 0
mov eax, dword [esi + 0x6c]
mov dword [eax + 0xc], 0x47b2fc
mov eax, dword [esi + 0x6c]
mov dword [eax + 0x18], 0
mov eax, dword [esi + 0x6c]
mov dword [eax + 0x20], 0
mov eax, dword [esi + 0xd8]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.004032b0
add esp, 0xc
mov eax, dword [esi + 0xd8]
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 0xc], 3
mov dword [esp + 8], 0x47b306
mov dword [esp + 4], 0x104
call fcn.00403620
add esp, 0x10
mov eax, dword [esi + 0xbc]
sub esp, 4
mov dword [esp], eax
call fcn.00403c90
add esp, 4
mov ecx, dword [esi + 0xbc]
mov edx, dword [esi + 0xd8]
add edx, 6
sub esp, 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp], edx
mov dword [esp + 4], 0x101
call fcn.00403620
add esp, 0x10
mov eax, dword [0x41d154]
movzx eax, word [eax]
mov ecx, dword [esi + 0xf4]
mov dword [ecx], eax
mov eax, dword [esi + 0xf4]
mov eax, dword [eax]
mov ecx, dword [0x41d154]
movzx eax, word [ecx + eax*2 + 2]
mov ecx, dword [esi + 0xf8]
mov dword [ecx], eax
mov eax, dword [esi + 0xf8]
mov eax, dword [eax]
mov ecx, dword [0x41d154]
mov edx, dword [esi + 0xf4]
mov edx, dword [edx]
lea ecx, [ecx + edx*2 + 4]
mov edx, dword [0x41d154]
add edx, 2
mov edi, dword [esi + 0xf4]
mov edi, dword [edi]
mov ebx, dword [esi + 0xb0]
sub esp, 0x14
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.00402b00
add esp, 0x14
mov eax, dword [esi + 0xc0]
sub esp, 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov ecx, dword [esi + 0x64]
mov dword [ecx], eax
mov ecx, dword [esi + 0x64]
mov eax, 0x4d31b445
cmp dword [ecx], 0
je 0x40fac2
mov eax, 0xbcb25ca7
mov dword [esi + 0x58], eax
jmp 0x40d9e0
cmp eax, 0x3db0aa2d
jne 0x40d9e0
mov eax, dword [esi + 0x5c]
mov dword [eax], 0xffffffff
mov dword [esi + 0x58], 0x800a4c70
jmp 0x40d9e0
cmp eax, 0x36e96400
jne 0x40d9e0
mov dword [esi + 0x58], 0xf3fc8ba3
jmp 0x40d9e0
cmp eax, 0x335e94a4
jne 0x40d9e0
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0x58], 0x48de7ed9
jmp 0x40d9e0
cmp eax, 0x29b84b21
jne 0x40d9e0
mov eax, dword [esi + 0x64]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0x58], 0xc9103b4a
jmp 0x40d9e0
cmp eax, 0x27921e1a
jne 0x40d9e0
mov ecx, dword [esi + 0x100]
mov eax, 0xf07f353a
cmp dword [ecx], 0x80
jne 0x40fb74
mov eax, 0x3f2392ee
mov dword [esi + 0x58], eax
jmp 0x40d9e0
cmp eax, 0x26e5496b
jne 0x40d9e0
mov eax, dword [esi + 0xc4]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [esi + 0xd4]
sub esp, 4
mov dword [esp], eax
call fcn.0040c810
add esp, 4
mov dword [esi + 0x58], 0xb52e6ed
jmp 0x40d9e0
cmp eax, 0x20af1c7a
jne 0x40d9e0
mov eax, dword [esi + 0xc4]
mov ecx, dword [esi + 0xd4]
sub esp, 0xc
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 1
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
mov eax, 0x489f1ff6
je 0x40fbf6
mov eax, 0xa4a0bb05
mov dword [esi + 0x58], eax
jmp 0x40d9e0
cmp eax, 0x2014e394
jne 0x40d9e0
mov eax, dword [esi + 0x64]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0x58], 0x8e94dee4
jmp 0x40d9e0
cmp eax, 0x1d9ff91e
jne 0x40d9e0
mov eax, dword [esi + 0x64]
cmp dword [eax], 0
setne byte [esi + 0x117]
mov dword [esi + 0x58], 0xb9633e08
jmp 0x40d9e0
cmp eax, 0xc28748f
jne 0x40d9e0
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
mov eax, 0xb8743634
je 0x40fc6c
mov eax, 0x29b84b21
mov dword [esi + 0x58], eax
jmp 0x40d9e0
cmp eax, 0xb52e6ed
jne 0x40d9e0
mov dword [esi + 0x58], 0x6419629a
jmp 0x40d9e0
mov eax, dword [esi + 0xd0]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x104
call fcn.00403360
add esp, 8
mov ecx, dword [esi + 0xf0]
mov dword [ecx], eax
mov eax, dword [esi + 0x108]
sub esp, 4
mov dword [esp], eax
call fcn.0040c8f0
add esp, 4
test eax, eax
mov eax, 0x6769cfa9
jne 0x40fcd1
mov eax, 0x7fc69d5e
mov dword [esi + 0x58], eax
jmp 0x40d9e0
cmp eax, 0xad44901
jne 0x40d9e0
mov eax, 4
call fcn.00412c60
mov eax, 4
call fcn.00412c60
mov dword [esi + 0x2c], esp
mov eax, 4
call fcn.00412c60
mov dword [esi + 0x24], esp
mov eax, 4
call fcn.00412c60
mov dword [esi + 0x20], esp
mov eax, 0x3c
call fcn.00412c60
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
mov eax, 4
call fcn.00412c60
mov eax, 4
call fcn.00412c60
mov eax, 4
call fcn.00412c60
mov eax, 4
call fcn.00412c60
mov eax, 4
call fcn.00412c60
mov eax, 4
call fcn.00412c60
mov eax, 4
call fcn.00412c60
mov eax, 4
call fcn.00412c60
mov eax, 4
call fcn.00412c60
mov eax, 4
call fcn.00412c60
mov eax, 4
call fcn.00412c60
mov eax, 4
call fcn.00412c60
mov eax, 4
call fcn.00412c60
mov eax, 4
call fcn.00412c60
mov eax, 4
call fcn.00412c60
mov edx, esp
mov eax, 0x20c
call fcn.00412c60
mov dword [esi + 8], esp
mov eax, 0x20c
call fcn.00412c60
mov dword [esi + 0xc], esp
mov eax, 0x20c
call fcn.00412c60
mov dword [esi + 0x10], esp
mov eax, 0x20c
call fcn.00412c60
mov dword [esi + 0x14], esp
mov eax, 0x20c
call fcn.00412c60
mov dword [esi + 0x18], esp
mov eax, 0x20c
call fcn.00412c60
mov dword [esi + 0x1c], esp
mov eax, 0x20c
call fcn.00412c60
mov dword [esi + 0x28], esp
mov eax, 0x20c
call fcn.00412c60
mov dword [esi + 0x30], esp
mov eax, 0x20c
call fcn.00412c60
mov dword [esi + 0x34], esp
mov eax, 0x20c
call fcn.00412c60
mov dword [esi + 0x38], esp
mov eax, 0x20c
call fcn.00412c60
mov dword [esi + 0x3c], esp
mov eax, 0x20c
call fcn.00412c60
mov eax, 0x20c
call fcn.00412c60
mov dword [esi + 0x40], esp
mov eax, 0xc8
call fcn.00412c60
mov dword [esi + 0x4c], esp
mov eax, 0x28
call fcn.00412c60
mov edi, esp
mov eax, 0x10
call fcn.00412c60
mov dword [esi + 0x50], esp
mov eax, 0x10
call fcn.00412c60
mov ebx, esp
mov eax, 0xc
call fcn.00412c60
mov dword [esi + 0x54], esp
mov eax, 4
call fcn.00412c60
mov eax, 4
call fcn.00412c60
mov eax, 4
call fcn.00412c60
mov eax, 4
call fcn.00412c60
mov eax, 4
call fcn.00412c60
mov eax, 4
call fcn.00412c60
mov eax, 4
call fcn.00412c60
mov dword [esi + 0x48], esp
mov eax, 4
call fcn.00412c60
mov dword [esi + 0x44], esp
mov eax, 4
call fcn.00412c60
mov eax, dword [esi + 0x2c]
mov dword [eax], 0
mov eax, dword [esi + 0x24]
mov dword [eax], 0
mov eax, dword [esi + 0x20]
mov dword [eax], 0
mov dword [ecx + 0x38], 0
mov dword [ecx + 0x34], 0
mov dword [ecx + 0x30], 0
mov dword [ecx + 0x2c], 0
mov dword [ecx + 0x28], 0
mov dword [ecx + 0x24], 0
mov dword [ecx + 0x20], 0
mov dword [ecx + 0x1c], 0
mov dword [ecx + 0x18], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], 0
mov dword [ecx + 4], 0
mov dword [ecx], 0
mov dword [edx], 0
sub esp, 0xc
mov eax, dword [esi + 8]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413410
add esp, 0xc
sub esp, 0xc
mov eax, dword [esi + 0xc]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413410
add esp, 0xc
sub esp, 0xc
mov eax, dword [esi + 0x10]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413410
add esp, 0xc
sub esp, 0xc
mov eax, dword [esi + 0x14]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413410
add esp, 0xc
sub esp, 0xc
mov eax, dword [esi + 0x18]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413410
add esp, 0xc
sub esp, 0xc
mov eax, dword [esi + 0x1c]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413410
add esp, 0xc
sub esp, 0xc
mov eax, dword [esi + 0x28]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413410
add esp, 0xc
sub esp, 0xc
mov eax, dword [esi + 0x30]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413410
add esp, 0xc
sub esp, 0xc
mov eax, dword [esi + 0x34]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413410
add esp, 0xc
sub esp, 0xc
mov eax, dword [esi + 0x38]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413410
add esp, 0xc
sub esp, 0xc
mov eax, dword [esi + 0x3c]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413410
add esp, 0xc
sub esp, 0xc
mov eax, dword [esi + 0x40]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00413410
add esp, 0xc
sub esp, 0xc
mov eax, dword [esi + 0x4c]
mov dword [esp], eax
mov dword [esp + 8], 0xc8
mov dword [esp + 4], 0
call fcn.00413410
add esp, 0xc
mov dword [edi + 0x24], 0
mov dword [edi + 0x20], 0
mov dword [edi + 0x1c], 0
mov dword [edi + 0x18], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0xc], 0
mov dword [edi + 8], 0
mov dword [edi + 4], 0
mov dword [edi], 0
mov eax, dword [esi + 0x50]
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [ebx + 0xc], 0
mov dword [ebx + 8], 0
mov dword [ebx + 4], 0
mov dword [ebx], 0
mov eax, dword [esi + 0x54]
mov word [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov eax, dword [esi + 0x48]
mov dword [eax], 0
mov eax, dword [esi + 0x44]
mov dword [eax], 0xffffffff
call fcn.0040d650
mov dword [esi + 0x58], 0xf3fc8ba3
jmp 0x40d9e0
mov eax, dword [esi + 0x118]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret