Function at 0x410690
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, 0xf8
mov esi, esp
mov dword [esi + 0x48], 0xbf89f4b4
jmp 0x4106c0
mov eax, dword [esi + 0x4c]
mov dword [eax], 0
mov dword [esi + 0x48], 0x8e2a99ea
nop
nop
nop
mov eax, dword [esi + 0x48]
cmp eax, 0x7ff4a9fc
jg 0x410790
cmp eax, 0x715246dc
jg 0x4107a0
cmp eax, 0x6b4c5cfc
jg 0x4107c0
cmp eax, 0x65b4e7b5
jg 0x4107fd
cmp eax, 0x5aefef24
jg 0x410862
cmp eax, 0x53f3ed69
jg 0x410872
cmp eax, 0x53588303
jg 0x4108af
cmp eax, 0x48206f33
jg 0x4108f2
cmp eax, 0x36ed3df5
jg 0x410a11
cmp eax, 0x2b5b81d2
jg 0x410a28
cmp eax, 0x28ce577f
jg 0x410b90
cmp eax, 0x839f516f
jg 0x410ba7
cmp eax, 0x8362d8a9
jne 0x4106c0
mov eax, dword [esi + 0xac]
mov ecx, dword [esi + 0xbc]
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, 0x2b5b81d3
je 0x410784
mov eax, 0x28ce5780
mov dword [esi + 0x48], eax
jmp 0x4106c0
cmp eax, 0x7ff4a9fd
jne 0x4106c0
jmp 0x4106ad
cmp eax, 0x715246dd
jne 0x4106c0
mov eax, dword [esi + 0x4c]
mov dword [eax], 0xffffffff
mov dword [esi + 0x48], 0xe8fd75cf
jmp 0x4106c0
cmp eax, 0x6b4c5cfd
jne 0x4106c0
mov eax, dword [esi + 0xac]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [esi + 0xbc]
sub esp, 4
mov dword [esp], eax
call fcn.0040e9f0
add esp, 4
mov dword [esi + 0x48], 0x53f3ed6a
jmp 0x4106c0
cmp eax, 0x65b4e7b6
jne 0x4106c0
mov eax, dword [esi + 0x54]
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 [0x4c8e64]
mov eax, dword [esi + 0xe8]
mov dword [eax], 1
mov dword [esi + 0x48], 0x1e0d9dd7
jmp 0x4106c0
cmp eax, 0x5aefef25
jne 0x4106c0
jmp 0x412a19
cmp eax, 0x53f3ed6a
jne 0x4106c0
mov eax, dword [esi + 0xac]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [esi + 0xbc]
sub esp, 4
mov dword [esp], eax
call fcn.0040e9f0
add esp, 4
mov dword [esi + 0x48], 0x42147fb
jmp 0x4106c0
cmp eax, 0x53588304
jne 0x4106c0
mov eax, dword [esi + 0xb8]
sub esp, 0xc
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
mov eax, 0x856e8817
jne 0x4108ea
mov eax, 0xbaf5f827
mov dword [esi + 0x48], eax
jmp 0x4106c0
cmp eax, 0x48206f34
jne 0x4106c0
mov eax, dword [esi + 0xa0]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00404390
add esp, 0xc
mov eax, dword [esi + 0xa4]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00404390
add esp, 0xc
mov eax, dword [esi + 0xa0]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x104
call fcn.004052e0
add esp, 8
mov eax, dword [esi + 0xe0]
mov eax, dword [eax]
mov ecx, dword [esi + 0x9c]
mov edx, dword [esi + 0xa4]
sub esp, 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp], edx
mov dword [esp + 4], 0x104
call fcn.004049c0
add esp, 0x10
mov eax, dword [esi + 0xa0]
sub esp, 4
mov dword [esp], eax
call fcn.00404c40
add esp, 4
mov ecx, dword [esi + 0xa0]
mov edx, dword [esi + 0xe0]
mov edi, 0x104
sub edi, dword [edx]
mov edx, dword [esi + 0xa4]
mov ebx, dword [esi + 0xe0]
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.004049c0
add esp, 0x10
mov eax, dword [0x4c8e60]
mov ecx, dword [esi + 0xa4]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], 0
call eax
mov ecx, dword [esi + 0x50]
mov dword [ecx], eax
mov dword [esi + 0x48], 0xbd0973f7
jmp 0x4106c0
cmp eax, 0x36ed3df6
jne 0x4106c0
mov dword [esi + 0x48], 0x5aefef25
jmp 0x4106c0
cmp eax, 0x2b5b81d3
jne 0x4106c0
mov eax, dword [esi + 0xa8]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00404390
add esp, 0xc
mov eax, dword [esi + 0xac]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00404390
add esp, 0xc
mov eax, dword [esi + 0xa8]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x104
call fcn.004052e0
add esp, 8
mov eax, dword [esi + 0xa8]
sub esp, 4
mov dword [esp], eax
call fcn.00404c40
add esp, 4
mov ecx, dword [esi + 0xec]
mov dword [ecx], eax
mov eax, dword [esi + 0xe0]
mov eax, dword [eax]
mov ecx, dword [esi + 0x9c]
mov edx, dword [esi + 0xac]
sub esp, 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp], edx
mov dword [esp + 4], 0x104
call fcn.004049c0
add esp, 0x10
mov eax, dword [esi + 0xec]
mov eax, dword [eax]
mov ecx, dword [esi + 0xa8]
mov edx, dword [esi + 0xe0]
mov ebx, 0x104
sub ebx, dword [edx]
mov edx, dword [esi + 0xac]
mov edi, dword [esi + 0xe0]
mov edi, dword [edi]
lea edx, [edx + edi*2]
sub esp, 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
mov dword [esp], edx
call fcn.004049c0
add esp, 0x10
mov eax, dword [esi + 0xe0]
mov ecx, 0x38a763d6
sub ecx, dword [eax]
mov eax, dword [esi + 0xec]
sub ecx, dword [eax]
add ecx, 0xc7589d2e
mov eax, dword [esi + 0xac]
mov edx, dword [esi + 0xe0]
mov edx, dword [edx]
lea eax, [eax + edx*2]
mov edx, dword [esi + 0xec]
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], 0x4214f4
call fcn.004049c0
add esp, 0x10
mov dword [esi + 0x48], 0x8362d8a9
jmp 0x4106c0
cmp eax, 0x28ce5780
jne 0x4106c0
mov dword [esi + 0x48], 0x48206f34
jmp 0x4106c0
cmp eax, 0x856e8816
jg 0x410bc5
cmp eax, 0x839f5170
jne 0x4106c0
mov dword [esi + 0x48], 0x5aefef25
jmp 0x4106c0
cmp eax, 0x8c39e36c
jg 0x410be3
cmp eax, 0x856e8817
jne 0x4106c0
mov dword [esi + 0x48], 0xda5b8141
jmp 0x4106c0
cmp eax, 0x8e2a99e9
jg 0x410c0e
cmp eax, 0x8c39e36d
jne 0x4106c0
mov eax, dword [esi + 0x50]
cmp dword [eax], 0
sete byte [esi + 0xf3]
mov dword [esi + 0x48], 0xb8a55713
jmp 0x4106c0
cmp eax, 0x9acd4ebd
jg 0x410c35
cmp eax, 0x8e2a99ea
jne 0x4106c0
mov eax, dword [esi + 0x4c]
mov dword [eax], 0
mov dword [esi + 0x48], 0x839f5170
jmp 0x4106c0
cmp eax, 0xa19911b5
jg 0x410c79
cmp eax, 0x9acd4ebe
jne 0x4106c0
mov eax, dword [esi + 0xac]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [esi + 0xbc]
sub esp, 4
mov dword [esp], eax
call fcn.0040e9f0
add esp, 4
mov dword [esi + 0x48], 0x1e0d9dd7
jmp 0x4106c0
cmp eax, 0xa3f116b0
jg 0x410ca0
cmp eax, 0xa19911b6
jne 0x4106c0
mov eax, dword [esi + 0x4c]
mov dword [eax], 0xffffffff
mov dword [esi + 0x48], 0x36ed3df6
jmp 0x4106c0
cmp eax, 0xb352031a
jg 0x411154
cmp eax, 0xa3f116b1
jne 0x4106c0
mov eax, 4
call fcn.00416160
mov eax, 4
call fcn.00416160
mov dword [esi + 0x1c], esp
mov eax, 0x3c
call fcn.00416160
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
mov eax, 4
call fcn.00416160
mov eax, 4
call fcn.00416160
mov eax, 4
call fcn.00416160
mov eax, 4
call fcn.00416160
mov eax, 4
call fcn.00416160
mov eax, 4
call fcn.00416160
mov eax, 4
call fcn.00416160
mov eax, 4
call fcn.00416160
mov eax, 4
call fcn.00416160
mov eax, 4
call fcn.00416160
mov eax, 4
call fcn.00416160
mov eax, 4
call fcn.00416160
mov eax, 4
call fcn.00416160
mov eax, 4
call fcn.00416160
mov eax, 4
call fcn.00416160
mov edx, esp
mov eax, 0x20c
call fcn.00416160
mov dword [esi + 4], esp
mov eax, 0x20c
call fcn.00416160
mov dword [esi + 8], esp
mov eax, 0x20c
call fcn.00416160
mov dword [esi + 0xc], esp
mov eax, 0x20c
call fcn.00416160
mov dword [esi + 0x10], esp
mov eax, 0x20c
call fcn.00416160
mov dword [esi + 0x14], esp
mov eax, 0x20c
call fcn.00416160
mov dword [esi + 0x18], esp
mov eax, 0x20c
call fcn.00416160
mov dword [esi + 0x20], esp
mov eax, 0x20c
call fcn.00416160
mov dword [esi + 0x24], esp
mov eax, 0x20c
call fcn.00416160
mov dword [esi + 0x28], esp
mov eax, 0x20c
call fcn.00416160
mov dword [esi + 0x2c], esp
mov eax, 0x20c
call fcn.00416160
mov dword [esi + 0x30], esp
mov eax, 0x20c
call fcn.00416160
mov eax, 0xc8
call fcn.00416160
mov dword [esi + 0x34], esp
mov eax, 0x28
call fcn.00416160
mov ebx, esp
mov eax, 0x10
call fcn.00416160
mov dword [esi + 0x40], esp
mov eax, 0x10
call fcn.00416160
mov edi, esp
mov eax, 0xc
call fcn.00416160
mov dword [esi + 0x44], esp
mov eax, 4
call fcn.00416160
mov eax, 4
call fcn.00416160
mov eax, 4
call fcn.00416160
mov eax, 4
call fcn.00416160
mov eax, 4
call fcn.00416160
mov dword [esi + 0x3c], esp
mov eax, 4
call fcn.00416160
mov dword [esi + 0x38], esp
mov eax, 4
call fcn.00416160
mov eax, dword [esi + 0x1c]
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 + 4]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.004169d0
add esp, 0xc
sub esp, 0xc
mov eax, dword [esi + 8]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.004169d0
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.004169d0
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.004169d0
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.004169d0
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.004169d0
add esp, 0xc
sub esp, 0xc
mov eax, dword [esi + 0x20]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.004169d0
add esp, 0xc
sub esp, 0xc
mov eax, dword [esi + 0x24]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.004169d0
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.004169d0
add esp, 0xc
sub esp, 0xc
mov eax, dword [esi + 0x2c]
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.004169d0
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.004169d0
add esp, 0xc
sub esp, 0xc
mov eax, dword [esi + 0x34]
mov dword [esp], eax
mov dword [esp + 8], 0xc8
mov dword [esp + 4], 0
call fcn.004169d0
add esp, 0xc
mov dword [ebx + 0x24], 0
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x18], 0
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x10], 0
mov dword [ebx + 0xc], 0
mov dword [ebx + 8], 0
mov dword [ebx + 4], 0
mov dword [ebx], 0
mov eax, dword [esi + 0x40]
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [edi + 0xc], 0
mov dword [edi + 8], 0
mov dword [edi + 4], 0
mov dword [edi], 0
mov eax, dword [esi + 0x44]
mov word [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov eax, dword [esi + 0x3c]
mov dword [eax], 0
mov eax, dword [esi + 0x38]
mov dword [eax], 0xffffffff
call fcn.0040fb30
mov dword [esi + 0x48], 0xc871199f
jmp 0x4106c0
cmp eax, 0xb8a55712
jg 0x411172
cmp eax, 0xb352031b
jne 0x4106c0
mov dword [esi + 0x48], 0x715246dd
jmp 0x4106c0
cmp eax, 0xbaf5f826
jg 0x4111a0
cmp eax, 0xb8a55713
jne 0x4106c0
mov al, byte [esi + 0xf3]
test al, al
mov eax, 0x48206f34
jne 0x411198
mov eax, 0xea5f6bf6
mov dword [esi + 0x48], eax
jmp 0x4106c0
cmp eax, 0xbd0973f6
jg 0x4111be
cmp eax, 0xbaf5f827
jne 0x4106c0
mov dword [esi + 0x48], 0xa19911b6
jmp 0x4106c0
cmp eax, 0xbf89f4b3
jg 0x4111dc
cmp eax, 0xbd0973f7
jne 0x4106c0
mov dword [esi + 0x48], 0x8c39e36d
jmp 0x4106c0
cmp eax, 0xc871199e
jg 0x4111fa
cmp eax, 0xbf89f4b4
jne 0x4106c0
mov dword [esi + 0x48], 0xc871199f
jmp 0x4106c0
cmp eax, 0xca23ab25
jg 0x41178e
cmp eax, 0xc871199f
jne 0x4106c0
mov eax, 4
call fcn.00416160
mov dword [esi + 0x4c], esp
mov eax, 4
call fcn.00416160
mov dword [esi + 0x50], esp
mov eax, 0x3c
call fcn.00416160
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x54], eax
mov eax, 4
call fcn.00416160
mov dword [esi + 0x58], esp
mov eax, 4
call fcn.00416160
mov dword [esi + 0x5c], esp
mov eax, 4
call fcn.00416160
mov dword [esi + 0x60], esp
mov eax, 4
call fcn.00416160
mov dword [esi + 0x64], esp
mov eax, 4
call fcn.00416160
mov dword [esi + 0x68], esp
mov eax, 4
call fcn.00416160
mov dword [esi + 0x6c], esp
mov eax, 4
call fcn.00416160
mov dword [esi + 0x70], esp
mov eax, 4
call fcn.00416160
mov dword [esi + 0x74], esp
mov eax, 4
call fcn.00416160
mov dword [esi + 0x78], esp
mov eax, 4
call fcn.00416160
mov dword [esi + 0x7c], esp
mov eax, 4
call fcn.00416160
mov dword [esi + 0x80], esp
mov eax, 4
call fcn.00416160
mov dword [esi + 0x84], esp
mov eax, 4
call fcn.00416160
mov dword [esi + 0x88], esp
mov eax, 4
call fcn.00416160
mov dword [esi + 0x8c], esp
mov eax, 4
call fcn.00416160
mov dword [esi + 0x90], esp
mov eax, 0x20c
call fcn.00416160
mov dword [esi + 0x94], esp
mov eax, 0x20c
call fcn.00416160
mov dword [esi + 0x98], esp
mov eax, 0x20c
call fcn.00416160
mov dword [esi + 0x9c], esp
mov eax, 0x20c
call fcn.00416160
mov dword [esi + 0xa0], esp
mov eax, 0x20c
call fcn.00416160
mov dword [esi + 0xa4], esp
mov eax, 0x20c
call fcn.00416160
mov dword [esi + 0xa8], esp
mov eax, 0x20c
call fcn.00416160
mov dword [esi + 0xac], esp
mov eax, 0x20c
call fcn.00416160
mov dword [esi + 0xb0], esp
mov eax, 0x20c
call fcn.00416160
mov dword [esi + 0xb4], esp
mov eax, 0x20c
call fcn.00416160
mov dword [esi + 0xb8], esp
mov eax, 0x20c
call fcn.00416160
mov dword [esi + 0xbc], esp
mov eax, 0x20c
call fcn.00416160
mov dword [esi + 0xc0], esp
mov eax, 0xc8
call fcn.00416160
mov dword [esi + 0xc4], esp
mov eax, 0x28
call fcn.00416160
mov dword [esi + 0xc8], esp
mov eax, 0x10
call fcn.00416160
mov dword [esi + 0xcc], esp
mov eax, 0x10
call fcn.00416160
mov dword [esi + 0xd0], esp
mov eax, 0xc
call fcn.00416160
mov ebx, esp
mov eax, 4
call fcn.00416160
mov dword [esi + 0xd4], esp
mov eax, 4
call fcn.00416160
mov dword [esi + 0xd8], esp
mov eax, 4
call fcn.00416160
mov dword [esi + 0xdc], esp
mov eax, 4
call fcn.00416160
mov dword [esi + 0xe0], esp
mov eax, 4
call fcn.00416160
mov dword [esi + 0xe4], esp
mov eax, 4
call fcn.00416160
mov dword [esi + 0xe8], esp
mov eax, 4
call fcn.00416160
mov dword [esi + 0xec], esp
mov eax, dword [esi + 0x50]
mov dword [eax], 0
mov eax, dword [esi + 0x54]
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 + 0x90]
mov dword [eax], 0
mov eax, dword [esi + 0x94]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.004169d0
add esp, 0xc
mov eax, dword [esi + 0x98]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.004169d0
add esp, 0xc
mov eax, dword [esi + 0x9c]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.004169d0
add esp, 0xc
mov eax, dword [esi + 0xa0]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.004169d0
add esp, 0xc
mov eax, dword [esi + 0xa4]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.004169d0
add esp, 0xc
mov eax, dword [esi + 0xa8]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.004169d0
add esp, 0xc
mov eax, dword [esi + 0xac]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.004169d0
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.004169d0
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.004169d0
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.004169d0
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.004169d0
add esp, 0xc
mov eax, dword [esi + 0xc4]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0xc8
mov dword [esp + 4], 0
call fcn.004169d0
add esp, 0xc
mov eax, dword [esi + 0xc8]
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 + 0xcc]
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov eax, dword [esi + 0xd0]
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov word [ebx + 8], 0
mov dword [ebx + 4], 0
mov dword [ebx], 0
mov eax, dword [esi + 0xe4]
mov dword [eax], 0
mov eax, dword [esi + 0xe8]
mov dword [eax], 0xffffffff
call fcn.0040fb30
test eax, eax
sets byte [esi + 0xf2]
mov dword [esi + 0x48], 0xde3e8292
jmp 0x4106c0
cmp eax, 0xd2711e0b
jg 0x41182d
cmp eax, 0xca23ab26
jne 0x4106c0
mov eax, dword [esi + 0x54]
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 [0x4c8e64]
mov eax, dword [esi + 0xb0]
mov ecx, dword [esi + 0x54]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x54]
mov dword [eax + 0x14], 0
mov eax, dword [esi + 0x54]
mov dword [eax + 0x1c], 1
mov eax, dword [0x4c8e68]
mov ecx, dword [esi + 0x54]
sub esp, 4
mov dword [esp], ecx
call eax
cmp eax, 1
mov eax, 0xe4507c4c
jne 0x411825
mov eax, 0x1dfc2d43
mov dword [esi + 0x48], eax
jmp 0x4106c0
cmp eax, 0xda5b8140
jg 0x4118d3
cmp eax, 0xd2711e0c
jne 0x4106c0
mov eax, dword [esi + 0xbc]
mov ecx, dword [esi + 0xb8]
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 + 0x9c]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x104
call fcn.004047a0
add esp, 8
mov eax, dword [esi + 0x9c]
sub esp, 4
mov dword [esp], eax
call fcn.00404c40
add esp, 4
mov ecx, dword [esi + 0xe0]
mov dword [ecx], eax
sub esp, 4
mov dword [esp], 0
call fcn.00412a30
add esp, 4
sub esp, 4
mov dword [esp], eax
call fcn.00416b62
add esp, 4
mov dword [esi + 0x48], 0xda5b8141
jmp 0x4106c0
cmp eax, 0xde3e8291
jg 0x411979
cmp eax, 0xda5b8141
jne 0x4106c0
mov eax, dword [esi + 0xbc]
mov ecx, dword [esi + 0xb8]
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 + 0x9c]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x104
call fcn.004047a0
add esp, 8
mov eax, dword [esi + 0x9c]
sub esp, 4
mov dword [esp], eax
call fcn.00404c40
add esp, 4
mov ecx, dword [esi + 0xe0]
mov dword [ecx], eax
sub esp, 4
mov dword [esp], 0
call fcn.00412a30
add esp, 4
sub esp, 4
mov dword [esp], eax
call fcn.00416b62
add esp, 4
mov dword [esi + 0x48], 0xe03e8410
jmp 0x4106c0
cmp eax, 0xe03e840f
jg 0x4119a7
cmp eax, 0xde3e8292
jne 0x4106c0
mov al, byte [esi + 0xf2]
test al, al
mov eax, 0xb352031b
jne 0x41199f
mov eax, 0xe5ff2d12
mov dword [esi + 0x48], eax
jmp 0x4106c0
cmp eax, 0xe4507c4b
jg 0x4119c5
cmp eax, 0xe03e8410
jne 0x4106c0
mov dword [esi + 0x48], 0x2b5b81d3
jmp 0x4106c0
cmp eax, 0xe5ff2d11
jg 0x4119e3
cmp eax, 0xe4507c4c
jne 0x4106c0
mov dword [esi + 0x48], 0x53f3ed6a
jmp 0x4106c0
cmp eax, 0xe8b0d4cc
jg 0x411a1f
cmp eax, 0xe5ff2d12
jne 0x4106c0
mov eax, dword [esi + 0xe4]
sub esp, 4
mov dword [esp], eax
call fcn.0040ec90
add esp, 4
test eax, eax
mov eax, 0x1ca6aa74
jne 0x411a17
mov eax, 0x88f2724
mov dword [esi + 0x48], eax
jmp 0x4106c0
cmp eax, 0xe8fd75ce
jg 0x411a46
cmp eax, 0xe8b0d4cd
jne 0x4106c0
mov eax, dword [esi + 0x4c]
mov dword [eax], 0xffffffff
mov dword [esi + 0x48], 0xa19911b6
jmp 0x4106c0
cmp eax, 0xea5f6bf5
jg 0x411a64
cmp eax, 0xe8fd75cf
jne 0x4106c0
mov dword [esi + 0x48], 0x5aefef25
jmp 0x4106c0
cmp eax, 0x1410e3
jg 0x4127ee
cmp eax, 0xea5f6bf6
jne 0x4106c0
mov eax, dword [0x4c8e54]
mov ecx, dword [0x4c8cac]
mov edx, dword [0x4c8cd4]
mov edi, dword [esi + 0x50]
mov edi, dword [edi]
mov ebx, dword [esi + 0x58]
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 [0x4c8e54]
mov ecx, dword [0x4c8cbc]
mov edx, dword [0x4c8cd4]
mov edi, dword [esi + 0x50]
mov edi, dword [edi]
mov ebx, dword [esi + 0x5c]
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 [0x4c8e54]
mov ecx, dword [0x4c8cc0]
mov edx, dword [0x4c8cd4]
mov edi, dword [esi + 0x50]
mov edi, dword [edi]
mov ebx, dword [esi + 0x60]
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 [0x4c8e54]
mov ecx, dword [0x4c8cac]
mov edx, dword [0x4c8cd0]
mov edi, dword [esi + 0x50]
mov edi, dword [edi]
mov ebx, dword [esi + 0x64]
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 [0x4c8e54]
mov ecx, dword [0x4c8ca0]
mov edx, dword [0x4c8ce0]
mov edi, dword [esi + 0x50]
mov edi, dword [edi]
mov ebx, dword [esi + 0x68]
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 [0x4c8e54]
mov ecx, dword [0x4c8cac]
mov edx, dword [0x4c8ce4]
mov edi, dword [esi + 0x50]
mov edi, dword [edi]
mov ebx, dword [esi + 0x6c]
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 [0x4c8e54]
mov ecx, dword [0x4c8cf0]
mov edx, dword [0x4c8ce8]
mov edi, dword [esi + 0x50]
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], 0
mov dword [esp + 0xc], 0
call eax
mov eax, dword [0x4c8e54]
mov ecx, dword [0x4c8cec]
mov edx, dword [0x4c8ce8]
mov edi, dword [esi + 0x50]
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], 1
mov dword [esp + 0xc], 0
call eax
mov eax, dword [0x4c8e54]
mov ecx, dword [0x4c8cec]
mov edx, dword [0x4c8cd4]
mov edi, dword [esi + 0x50]
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], 1
call eax
mov eax, dword [0x4c8e50]
mov ecx, dword [esi + 0x50]
mov ecx, dword [ecx]
sub esp, 4
mov dword [esp], ecx
call eax
mov edi, dword [esi + 0xc4]
call fcn.00416b3f
mov ecx, eax
xor ecx, 0xfffffff0
and ecx, eax
sub esp, 0xc
mov dword [esp + 4], edi
mov dword [esp], ecx
mov dword [esp + 8], 0xa
call fcn.004174f6
add esp, 0xc
mov eax, dword [esi + 0xc4]
sub esp, 4
mov dword [esp], eax
call fcn.00404c40
add esp, 4
mov ecx, dword [esi + 0xd4]
mov dword [ecx], eax
mov eax, dword [esi + 0xd4]
mov eax, dword [eax]
lea ecx, [eax + 1]
mov edx, dword [esi + 0xd4]
mov dword [edx], ecx
mov ecx, dword [esi + 0xc4]
mov word [ecx + eax*2], 0x2e
mov eax, dword [esi + 0xc4]
mov ecx, dword [esi + 0xd4]
mov ecx, dword [ecx]
lea edi, [eax + ecx*2]
call fcn.00416b3f
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
sub esp, 0xc
mov dword [esp + 4], edi
mov dword [esp], ecx
mov dword [esp + 8], 0xa
call fcn.004174f6
add esp, 0xc
mov eax, dword [esi + 0xc4]
sub esp, 4
mov dword [esp], eax
call fcn.00404c40
add esp, 4
mov ecx, dword [esi + 0xd4]
mov dword [ecx], eax
mov eax, dword [esi + 0xd4]
mov eax, dword [eax]
mov ecx, eax
neg ecx
mov edx, 1
sub edx, ecx
mov ecx, dword [esi + 0xd4]
mov dword [ecx], edx
mov ecx, dword [esi + 0xc4]
mov word [ecx + eax*2], 0x2e
mov eax, dword [esi + 0xc4]
mov ecx, dword [esi + 0xd4]
mov ecx, dword [ecx]
lea edi, [eax + ecx*2]
call fcn.00416b3f
mov ecx, eax
xor ecx, 0xfffffffa
and ecx, eax
sub esp, 0xc
mov dword [esp + 4], edi
mov dword [esp], ecx
mov dword [esp + 8], 0xa
call fcn.004174f6
add esp, 0xc
mov eax, dword [esi + 0xc4]
sub esp, 4
mov dword [esp], eax
call fcn.00404c40
add esp, 4
mov ecx, dword [esi + 0xd4]
mov dword [ecx], eax
mov eax, dword [esi + 0xd4]
mov eax, dword [eax]
lea ecx, [eax + 1]
mov edx, dword [esi + 0xd4]
mov dword [edx], ecx
mov ecx, dword [esi + 0xc4]
mov word [ecx + eax*2], 0x2e
mov eax, dword [esi + 0xc4]
mov ecx, dword [esi + 0xd4]
mov ecx, dword [ecx]
lea edi, [eax + ecx*2]
call fcn.00416b3f
and eax, 0xc
sub esp, 0xc
mov dword [esp + 4], edi
mov dword [esp], eax
mov dword [esp + 8], 0xa
call fcn.004174f6
add esp, 0xc
mov eax, dword [esi + 0xc4]
sub esp, 4
mov dword [esp], eax
call fcn.00404c40
add esp, 4
mov ecx, dword [esi + 0xd4]
mov dword [ecx], eax
mov eax, dword [0x4c6e8c]
movzx eax, byte [eax]
mov ecx, dword [esi + 0xd8]
mov dword [ecx], eax
mov eax, dword [esi + 0xd8]
mov eax, dword [eax]
mov ecx, dword [0x4c6e8c]
movzx eax, byte [eax + ecx + 1]
mov ecx, dword [esi + 0xdc]
mov dword [ecx], eax
mov eax, dword [esi + 0xdc]
mov eax, dword [eax]
mov ecx, dword [0x4c6e8c]
mov edx, dword [esi + 0xd8]
mov edx, dword [edx]
lea ecx, [ecx + edx + 2]
mov edx, dword [0x4c6e8c]
inc edx
mov edi, dword [esi + 0xcc]
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.004029d0
add esp, 0x14
mov eax, dword [0x4c8e4c]
mov ecx, dword [0x4c8cc8]
mov edx, dword [esi + 0x50]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov ecx, dword [esi + 0x7c]
mov dword [ecx], eax
mov eax, dword [0x4c8e44]
mov ecx, dword [0x4c8cf8]
mov edx, dword [0x4c8ca8]
mov edi, dword [esi + 0x50]
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 [0x4c8e40]
mov ecx, dword [esi + 0xc4]
mov edx, dword [0x4c8cc4]
mov edi, dword [esi + 0x50]
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 [0x4c8e40]
mov ecx, dword [esi + 0xa0]
mov edx, dword [0x4c8cac]
mov edi, dword [esi + 0x50]
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 [0x4c8e3c]
mov ecx, dword [0x4c8ca4]
mov edx, dword [esi + 0x50]
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 [0x4c8e38]
mov ecx, dword [esi + 0xcc]
mov edx, dword [0x4c8cf4]
mov edi, dword [esi + 0x50]
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 [0x4c8e4c]
mov ecx, dword [0x4c8ccc]
mov edx, dword [esi + 0x50]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov ecx, dword [esi + 0x80]
mov dword [ecx], eax
mov eax, dword [0x4c8e34]
mov ecx, dword [esi + 0x64]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x50]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x4c8e30]
mov ecx, dword [esi + 0x64]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x50]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x4c8e34]
mov ecx, dword [esi + 0x6c]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x50]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x4c8e30]
mov ecx, dword [esi + 0x6c]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x50]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x4c8e48]
mov ecx, dword [esi + 0x80]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x50]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x4c8e34]
mov ecx, dword [esi + 0x5c]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x50]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x4c8e30]
mov ecx, dword [esi + 0x5c]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x50]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x4c8e34]
mov ecx, dword [esi + 0x60]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x50]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x4c8e30]
mov ecx, dword [esi + 0x60]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x50]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x4c8e34]
mov ecx, dword [esi + 0x58]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x50]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x4c8e34]
mov ecx, dword [esi + 0x78]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x50]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
call fcn.00416b3f
mov ecx, eax
mov edx, 0xcccccccd
mul edx
shr edx, 2
lea eax, [edx + edx*4]
sub ecx, eax
mov eax, dword [ecx*4 + 0x4c6e90]
mov ecx, dword [esi + 0x90]
mov dword [ecx], eax
mov eax, dword [esi + 0x90]
mov eax, dword [eax]
movzx eax, word [eax]
mov ecx, dword [esi + 0xd8]
mov dword [ecx], eax
mov eax, dword [esi + 0xd8]
mov eax, dword [eax]
not eax
mov ecx, dword [esi + 0x90]
mov ecx, dword [ecx]
add eax, eax
neg eax
movzx eax, word [ecx + eax]
mov ecx, dword [esi + 0xdc]
mov dword [ecx], eax
mov eax, dword [esi + 0xdc]
mov eax, dword [eax]
mov ecx, dword [esi + 0x90]
mov ecx, dword [ecx]
mov edx, dword [esi + 0xd8]
mov edx, dword [edx]
lea ecx, [ecx + edx*2 + 4]
mov edx, dword [esi + 0x90]
mov edx, dword [edx]
add edx, 2
mov edi, dword [esi + 0xd8]
mov edi, dword [edi]
mov ebx, dword [esi + 0x94]
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.00403010
add esp, 0x14
mov eax, dword [esi + 0xd8]
mov eax, dword [eax]
mov ecx, dword [esi + 0x94]
mov edx, dword [esi + 0xb0]
sub esp, 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp], edx
mov dword [esp + 4], 0x104
call fcn.004049c0
add esp, 0x10
mov eax, dword [esi + 0xd8]
mov ecx, 0x104
sub ecx, dword [eax]
mov eax, dword [esi + 0xb0]
mov edx, dword [esi + 0xd8]
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], 0x4214f4
call fcn.004049c0
add esp, 0x10
mov eax, dword [esi + 0xd8]
mov eax, dword [eax]
mov ecx, dword [esi + 0x94]
mov edx, dword [esi + 0xb4]
sub esp, 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp], edx
mov dword [esp + 4], 0x104
call fcn.004049c0
add esp, 0x10
mov eax, dword [esi + 0xd8]
mov ecx, 0x104
sub ecx, dword [eax]
mov eax, dword [esi + 0xb4]
mov edx, dword [esi + 0xd8]
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.004049c0
add esp, 0x10
mov eax, dword [0x4c6ea4]
movzx eax, byte [eax]
mov ecx, dword [esi + 0xd8]
mov dword [ecx], eax
mov eax, dword [esi + 0xd8]
mov eax, dword [eax]
not eax
mov ecx, dword [0x4c6ea4]
neg eax
movzx eax, byte [ecx + eax]
mov ecx, dword [esi + 0xdc]
mov dword [ecx], eax
mov eax, dword [esi + 0xdc]
mov eax, dword [eax]
mov ecx, dword [0x4c6ea4]
mov edx, dword [esi + 0xd8]
mov edx, dword [edx]
lea ecx, [ecx + edx + 2]
mov edx, dword [0x4c6ea4]
inc edx
mov edi, dword [esi + 0xd0]
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.004029d0
add esp, 0x14
mov eax, dword [0x4c8e4c]
mov ecx, dword [0x4c8cd4]
mov edx, dword [esi + 0x50]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov ecx, dword [esi + 0x84]
mov dword [ecx], eax
mov eax, dword [0x4c8e40]
mov ecx, dword [esi + 0xb0]
mov edx, dword [0x4c8cac]
mov edi, dword [esi + 0x50]
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 [0x4c8e40]
mov ecx, dword [esi + 0xb4]
mov edx, dword [0x4c8cb4]
mov edi, dword [esi + 0x50]
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 [0x4c8e40]
mov ecx, dword [0x4c8cb0]
mov edx, dword [esi + 0x50]
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 [0x4c8e38]
mov ecx, dword [esi + 0xd0]
mov edx, dword [0x4c8cec]
mov edi, dword [esi + 0x50]
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 [0x4c8e4c]
mov ecx, dword [0x4c8cd8]
mov edx, dword [esi + 0x50]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov ecx, dword [esi + 0x88]
mov dword [ecx], eax
mov eax, dword [0x4c8e40]
mov ecx, dword [0x4c8cac]
mov edx, dword [esi + 0x50]
mov edx, dword [edx]
sub esp, 0xc
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 8], 0x421520
call eax
mov eax, dword [0x4c8e48]
mov ecx, dword [esi + 0x88]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x50]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x4c6ea8]
movzx eax, word [eax]
mov ecx, dword [esi + 0xd8]
mov dword [ecx], eax
mov eax, dword [esi + 0xd8]
mov eax, dword [eax]
mov ecx, dword [0x4c6ea8]
movzx eax, word [ecx + eax*2 + 2]
mov ecx, dword [esi + 0xdc]
mov dword [ecx], eax
mov eax, dword [esi + 0xdc]
mov eax, dword [eax]
mov ecx, dword [0x4c6ea8]
mov edx, dword [esi + 0xd8]
mov edx, dword [edx]
lea ecx, [ecx + edx*2 + 4]
mov edx, dword [0x4c6ea8]
add edx, 2
mov edi, dword [esi + 0xd8]
mov edi, dword [edi]
mov ebx, dword [esi + 0xc8]
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.00403010
add esp, 0x14
mov eax, dword [0x4c8e4c]
mov ecx, dword [0x4c8cdc]
mov edx, dword [esi + 0x50]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov ecx, dword [esi + 0x8c]
mov dword [ecx], eax
mov eax, dword [0x4c8e40]
mov ecx, dword [esi + 0xc8]
mov edx, dword [0x4c8cac]
mov edi, dword [esi + 0x50]
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 [0x4c8e40]
mov ecx, dword [esi + 0xac]
mov edx, dword [0x4c8cb8]
mov edi, dword [esi + 0x50]
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 [0x4c8e48]
mov ecx, dword [esi + 0x8c]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x50]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x4c8e48]
mov ecx, dword [esi + 0x84]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x50]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x4c8e30]
mov ecx, dword [esi + 0x78]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x50]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x4c8e30]
mov ecx, dword [esi + 0x58]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x50]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x4c8e34]
mov ecx, dword [esi + 0x70]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x50]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x4c8e34]
mov ecx, dword [esi + 0x74]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x50]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x4c8e30]
mov ecx, dword [esi + 0x74]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x50]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x4c8e30]
mov ecx, dword [esi + 0x70]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x50]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x4c8e34]
mov ecx, dword [esi + 0x68]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x50]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x4c8e30]
mov ecx, dword [esi + 0x68]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x50]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x4c8e48]
mov ecx, dword [esi + 0x7c]
mov ecx, dword [ecx]
mov edx, dword [esi + 0x50]
mov edx, dword [edx]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
mov eax, dword [0x4c8e58]
mov ecx, dword [esi + 0x50]
mov ecx, dword [ecx]
sub esp, 4
mov dword [esp], ecx
call eax
mov eax, dword [esi + 0x54]
mov dword [eax], 0x3c
mov eax, dword [esi + 0x54]
mov dword [eax + 4], 0x40
mov eax, dword [esi + 0x54]
mov dword [eax + 8], 0
mov eax, dword [esi + 0x54]
mov dword [eax + 0xc], 0x421524
mov eax, dword [esi + 0x54]
mov dword [eax + 0x18], 0
mov eax, dword [esi + 0x54]
mov dword [eax + 0x20], 0
mov eax, dword [esi + 0xc0]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00404390
add esp, 0xc
mov eax, dword [esi + 0xc0]
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 0xc], 3
mov dword [esp + 8], 0x42152e
mov dword [esp + 4], 0x104
call fcn.004049c0
add esp, 0x10
mov eax, dword [esi + 0xa4]
sub esp, 4
mov dword [esp], eax
call fcn.00404c40
add esp, 4
mov ecx, dword [esi + 0xa4]
mov edx, dword [esi + 0xc0]
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.004049c0
add esp, 0x10
mov eax, dword [0x4c6eac]
movzx eax, word [eax]
mov ecx, dword [esi + 0xd8]
mov dword [ecx], eax
mov eax, dword [esi + 0xd8]
mov eax, dword [eax]
mov ecx, dword [0x4c6eac]
movzx eax, word [ecx + eax*2 + 2]
mov ecx, dword [esi + 0xdc]
mov dword [ecx], eax
mov eax, dword [esi + 0xdc]
mov eax, dword [eax]
mov ecx, dword [0x4c6eac]
mov edx, dword [esi + 0xd8]
mov edx, dword [edx]
lea ecx, [ecx + edx*2 + 4]
mov edx, dword [0x4c6eac]
add edx, 2
mov edi, dword [esi + 0xd8]
mov edi, dword [edi]
mov ebx, dword [esi + 0x98]
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.00403010
add esp, 0x14
mov eax, dword [esi + 0x98]
mov ecx, dword [esi + 0x54]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0xc0]
mov ecx, dword [esi + 0x54]
mov dword [ecx + 0x14], eax
mov eax, dword [esi + 0x54]
mov dword [eax + 0x1c], 0
mov eax, dword [0x4c8e68]
mov ecx, dword [esi + 0x54]
sub esp, 4
mov dword [esp], ecx
call eax
cmp eax, 1
mov eax, 0x9acd4ebe
jne 0x4127e6
mov eax, 0xca23ab26
mov dword [esi + 0x48], eax
jmp 0x4106c0
cmp eax, 0x42147fa
jg 0x412815
cmp eax, 0x1410e4
jne 0x4106c0
mov eax, dword [esi + 0x4c]
mov dword [eax], 0xffffffff
mov dword [esi + 0x48], 0x5aefef25
jmp 0x4106c0
cmp eax, 0x5603e55
jg 0x412833
cmp eax, 0x42147fb
jne 0x4106c0
mov dword [esi + 0x48], 0x1e0d9dd7
jmp 0x4106c0
cmp eax, 0x88f2723
jg 0x412851
cmp eax, 0x5603e56
jne 0x4106c0
mov dword [esi + 0x48], 0x1e0d9dd7
jmp 0x4106c0
cmp eax, 0x15e8cda1
jg 0x412880
cmp eax, 0x88f2724
jne 0x4106c0
mov ecx, dword [esi + 0xe4]
mov eax, 0x1410e4
cmp dword [ecx], 6
jb 0x412878
mov eax, 0x53588304
mov dword [esi + 0x48], eax
jmp 0x4106c0
cmp eax, 0x1bf1fe41
jg 0x4128a1
cmp eax, 0x15e8cda2
jne 0x4106c0
mov eax, dword [esi + 0x50]
mov dword [esi + 0x48], 0x8c39e36d
jmp 0x4106c0
cmp eax, 0x1ca6aa73
jg 0x4128c8
cmp eax, 0x1bf1fe42
jne 0x4106c0
mov eax, dword [esi + 0x4c]
mov dword [eax], 0xffffffff
mov dword [esi + 0x48], 0x715246dd
jmp 0x4106c0
cmp eax, 0x1ca6aa74
je 0x4129d2
cmp eax, 0x1dfc2d43
jne 0x4129de
mov eax, dword [esi + 0x54]
mov eax, dword [eax + 0x38]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [esi + 0xc0]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.00404390
add esp, 0xc
mov eax, dword [esi + 0xc0]
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.004049c0
add esp, 0x10
mov eax, dword [esi + 0xa4]
sub esp, 4
mov dword [esp], eax
call fcn.00404c40
add esp, 4
mov ecx, dword [esi + 0xa4]
mov edx, dword [esi + 0xc0]
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.004049c0
add esp, 0x10
mov eax, dword [esi + 0x98]
mov ecx, dword [esi + 0x54]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0xc0]
mov ecx, dword [esi + 0x54]
mov dword [ecx + 0x14], eax
mov eax, dword [esi + 0x54]
mov dword [eax + 0x1c], 0
mov eax, dword [0x4c8e68]
mov ecx, dword [esi + 0x54]
sub esp, 4
mov dword [esp], ecx
call eax
cmp eax, 1
mov eax, 0x5603e56
jne 0x4129ca
mov eax, 0x65b4e7b6
mov dword [esi + 0x48], eax
jmp 0x4106c0
mov dword [esi + 0x48], 0x8e2a99ea
jmp 0x4106c0
cmp eax, 0x1e0d9dd7
jne 0x4106c0
mov eax, dword [esi + 0xa4]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
call fcn.00410670
mov eax, dword [esi + 0xe8]
mov eax, dword [eax]
mov ecx, dword [esi + 0x4c]
mov dword [ecx], eax
mov dword [esi + 0x48], 0x5aefef25
jmp 0x4106c0
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret