Function at 0x410ae0
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], 0x14f82c94
jmp 0x410b10
mov dword [esi + 0x48], 0xf6648610
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x48]
cmp eax, 0x7bb23d1f
jg 0x410ca0
cmp eax, 0x76c6e98e
jg 0x410cb0
cmp eax, 0x83db4b06
jg 0x410d4b
cmp eax, 0x812c8069
jne 0x410b10
mov eax, dword [esi + 0xa8]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.004037b0
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.004037b0
add esp, 0xc
mov eax, dword [esi + 0xa8]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x104
call fcn.00404e90
add esp, 8
mov eax, dword [esi + 0xa8]
sub esp, 4
mov dword [esp], eax
call fcn.00404820
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.004043b0
add esp, 0x10
mov eax, dword [esi + 0xec]
mov eax, dword [eax]
mov ecx, dword [esi + 0xa8]
mov edx, dword [esi + 0xe0]
mov edi, 0x104
sub edi, dword [edx]
mov edx, dword [esi + 0xac]
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.004043b0
add esp, 0x10
mov eax, dword [esi + 0xe0]
mov ecx, 0x6dd9ae
sub ecx, dword [eax]
mov eax, dword [esi + 0xec]
sub ecx, dword [eax]
add ecx, 0xff922756
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], 0x4224f0
call fcn.004043b0
add esp, 0x10
mov dword [esi + 0x48], 0x4cac1964
jmp 0x410b10
cmp eax, 0x7bb23d20
jne 0x410b10
jmp 0x410afd
cmp eax, 0x76c6e98f
jne 0x410b10
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.00403e30
add esp, 8
mov eax, dword [esi + 0x9c]
sub esp, 4
mov dword [esp], eax
call fcn.00404820
add esp, 4
mov ecx, dword [esi + 0xe0]
mov dword [ecx], eax
sub esp, 4
mov dword [esp], 0
call fcn.00413d50
add esp, 4
sub esp, 4
mov dword [esp], eax
call fcn.00418712
add esp, 4
mov dword [esi + 0x48], 0x812c8069
jmp 0x410b10
cmp eax, 0x862cbd7d
jg 0x410d62
cmp eax, 0x83db4b07
jne 0x410b10
jmp 0x410f5d
cmp eax, 0x8ffed5bd
jg 0x410d80
cmp eax, 0x862cbd7e
jne 0x410b10
mov dword [esi + 0x48], 0x1e6a0673
jmp 0x410b10
cmp eax, 0x91aaf8e3
jg 0x410dca
cmp eax, 0x8ffed5be
jne 0x410b10
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, 0x76c6e98f
jne 0x410dc2
mov eax, 0xbefd0cdb
mov dword [esi + 0x48], eax
jmp 0x410b10
cmp eax, 0x942a0302
jg 0x410de8
cmp eax, 0x91aaf8e4
jne 0x410b10
mov dword [esi + 0x48], 0x72689732
jmp 0x410b10
cmp eax, 0x975deebd
jg 0x410e16
cmp eax, 0x942a0303
jne 0x410b10
mov al, byte [esi + 0xf0]
test al, al
mov eax, 0x83db4b07
jne 0x410e0e
mov eax, 0x52c40db2
mov dword [esi + 0x48], eax
jmp 0x410b10
cmp eax, 0xa41f16ab
jg 0x410e5a
cmp eax, 0x975deebe
jne 0x410b10
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.0040f0b0
add esp, 4
mov dword [esi + 0x48], 0x4ce44e94
jmp 0x410b10
cmp eax, 0xac9f63da
jg 0x410e9e
cmp eax, 0xa41f16ac
jne 0x410b10
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.0040f0b0
add esp, 4
mov dword [esi + 0x48], 0xf6f21b87
jmp 0x410b10
cmp eax, 0xba0b36fb
jg 0x410ee0
cmp eax, 0xac9f63db
jne 0x410b10
mov eax, dword [esi + 0xa4]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
call fcn.00410a70
mov eax, dword [esi + 0xe8]
mov eax, dword [eax]
mov ecx, dword [esi + 0x4c]
mov dword [ecx], eax
mov dword [esi + 0x48], 0x42662a61
jmp 0x410b10
cmp eax, 0xbcda6eb0
jg 0x410f24
cmp eax, 0xba0b36fc
jne 0x410b10
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.0040f0b0
add esp, 4
mov dword [esi + 0x48], 0xa41f16ac
jmp 0x410b10
cmp eax, 0xbefd0cda
jg 0x410f4b
cmp eax, 0xbcda6eb1
jne 0x410b10
mov eax, dword [esi + 0x4c]
mov dword [eax], 0
mov dword [esi + 0x48], 0x42662a61
jmp 0x410b10
cmp eax, 0xc4be0fcf
jg 0x410f72
cmp eax, 0xbefd0cdb
jne 0x410b10
mov eax, dword [esi + 0x4c]
mov dword [eax], 0xffffffff
mov dword [esi + 0x48], 0x42662a61
jmp 0x410b10
cmp eax, 0xcc7a5c94
jg 0x411426
cmp eax, 0xc4be0fd0
jne 0x410b10
mov eax, 4
call fcn.00417d10
mov eax, 4
call fcn.00417d10
mov dword [esi + 0x1c], esp
mov eax, 0x3c
call fcn.00417d10
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
mov eax, 4
call fcn.00417d10
mov eax, 4
call fcn.00417d10
mov eax, 4
call fcn.00417d10
mov eax, 4
call fcn.00417d10
mov eax, 4
call fcn.00417d10
mov eax, 4
call fcn.00417d10
mov eax, 4
call fcn.00417d10
mov eax, 4
call fcn.00417d10
mov eax, 4
call fcn.00417d10
mov eax, 4
call fcn.00417d10
mov eax, 4
call fcn.00417d10
mov eax, 4
call fcn.00417d10
mov eax, 4
call fcn.00417d10
mov eax, 4
call fcn.00417d10
mov eax, 4
call fcn.00417d10
mov edx, esp
mov eax, 0x20c
call fcn.00417d10
mov dword [esi + 4], esp
mov eax, 0x20c
call fcn.00417d10
mov dword [esi + 8], esp
mov eax, 0x20c
call fcn.00417d10
mov dword [esi + 0xc], esp
mov eax, 0x20c
call fcn.00417d10
mov dword [esi + 0x10], esp
mov eax, 0x20c
call fcn.00417d10
mov dword [esi + 0x14], esp
mov eax, 0x20c
call fcn.00417d10
mov dword [esi + 0x18], esp
mov eax, 0x20c
call fcn.00417d10
mov dword [esi + 0x20], esp
mov eax, 0x20c
call fcn.00417d10
mov dword [esi + 0x24], esp
mov eax, 0x20c
call fcn.00417d10
mov dword [esi + 0x28], esp
mov eax, 0x20c
call fcn.00417d10
mov dword [esi + 0x2c], esp
mov eax, 0x20c
call fcn.00417d10
mov dword [esi + 0x30], esp
mov eax, 0x20c
call fcn.00417d10
mov eax, 0xc8
call fcn.00417d10
mov dword [esi + 0x34], esp
mov eax, 0x28
call fcn.00417d10
mov ebx, esp
mov eax, 0x10
call fcn.00417d10
mov edi, esp
mov eax, 0x10
call fcn.00417d10
mov dword [esi + 0x40], esp
mov eax, 0xc
call fcn.00417d10
mov dword [esi + 0x44], esp
mov eax, 4
call fcn.00417d10
mov eax, 4
call fcn.00417d10
mov eax, 4
call fcn.00417d10
mov eax, 4
call fcn.00417d10
mov eax, 4
call fcn.00417d10
mov dword [esi + 0x3c], esp
mov eax, 4
call fcn.00417d10
mov dword [esi + 0x38], esp
mov eax, 4
call fcn.00417d10
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.00418580
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.00418580
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.00418580
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.00418580
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.00418580
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.00418580
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.00418580
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.00418580
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.00418580
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.00418580
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.00418580
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.00418580
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 dword [edi + 0xc], 0
mov dword [edi + 8], 0
mov dword [edi + 4], 0
mov dword [edi], 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 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.00410160
mov dword [esi + 0x48], 0xd26a470b
jmp 0x410b10
cmp eax, 0xd2388e42
jg 0x411444
cmp eax, 0xcc7a5c95
jne 0x410b10
mov dword [esi + 0x48], 0x849fb9
jmp 0x410b10
cmp eax, 0x72689731
jg 0x4115a3
cmp eax, 0x71289f0f
jg 0x411636
cmp eax, 0x6a5bec96
jg 0x411755
cmp eax, 0x52c40db1
jg 0x41177c
cmp eax, 0x4d5187f8
jg 0x4117b1
cmp eax, 0x4ce44e93
jg 0x412522
cmp eax, 0x4cac1963
jg 0x412539
cmp eax, 0x4a95be92
jg 0x41257e
cmp eax, 0x42662a60
jg 0x412672
cmp eax, 0x3352247d
jg 0x412682
cmp eax, 0x256f9f60
jg 0x412699
cmp eax, 0x1e6a0672
jg 0x4126c0
cmp eax, 0x17c6ea1e
jg 0x413430
cmp eax, 0x14f82c93
jg 0x413447
cmp eax, 0x7c9c888
jg 0x41345e
cmp eax, 0x76d1048
jg 0x41347e
cmp eax, 0x4283d5c
jg 0x413495
cmp eax, 0x204ac11
jg 0x4134ac
cmp eax, 0x849fb8
jg 0x413535
cmp eax, 0xfde413b6
jg 0x41354c
cmp eax, 0xfd90c79e
jg 0x413589
cmp eax, 0xf82704e0
jg 0x4135a0
cmp eax, 0xf6f21b86
jg 0x413605
cmp eax, 0xf664860f
jg 0x41361c
cmp eax, 0xe7568169
jg 0x41371a
cmp eax, 0xdc938933
jg 0x413741
cmp eax, 0xdc0a00e7
jg 0x413769
cmp eax, 0xd28a6bd9
jg 0x413780
cmp eax, 0xd2388e43
je 0x4137a5
cmp eax, 0xd242259a
jne 0x4137b1
mov eax, dword [esi + 0x4c]
mov dword [eax], 0xffffffff
mov dword [esi + 0x48], 0x76d1049
jmp 0x410b10
cmp eax, 0x72689732
jne 0x410b10
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 [0x4cae64]
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 [0x4cae68]
mov ecx, dword [esi + 0x54]
sub esp, 4
mov dword [esp], ecx
call eax
cmp eax, 1
setne byte [esi + 0xf2]
mov dword [esi + 0x48], 0x6a5bec97
jmp 0x410b10
cmp eax, 0x71289f10
jne 0x410b10
mov eax, dword [esi + 0xa0]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 0
call fcn.004037b0
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.004037b0
add esp, 0xc
mov eax, dword [esi + 0xa0]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x104
call fcn.00404e90
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.004043b0
add esp, 0x10
mov eax, dword [esi + 0xa0]
sub esp, 4
mov dword [esp], eax
call fcn.00404820
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.004043b0
add esp, 0x10
mov eax, dword [0x4cae60]
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], 0xd28a6bda
jmp 0x410b10
cmp eax, 0x6a5bec97
jne 0x410b10
mov al, byte [esi + 0xf2]
test al, al
mov eax, 0xfd90c79f
jne 0x411774
mov eax, 0x7bb23d20
mov dword [esi + 0x48], eax
jmp 0x410b10
cmp eax, 0x52c40db2
jne 0x410b10
mov eax, dword [esi + 0xe4]
sub esp, 4
mov dword [esp], eax
call fcn.0040f190
add esp, 4
test eax, eax
mov eax, 0xbcda6eb1
jne 0x4117a9
mov eax, 0xdc938934
mov dword [esi + 0x48], eax
jmp 0x410b10
cmp eax, 0x4d5187f9
jne 0x410b10
mov eax, dword [0x4cae54]
mov ecx, dword [0x4cacac]
mov edx, dword [0x4cacd4]
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 [0x4cae54]
mov ecx, dword [0x4cacbc]
mov edx, dword [0x4cacd4]
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 [0x4cae54]
mov ecx, dword [0x4cacc0]
mov edx, dword [0x4cacd4]
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 [0x4cae54]
mov ecx, dword [0x4cacac]
mov edx, dword [0x4cacd0]
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 [0x4cae54]
mov ecx, dword [0x4caca0]
mov edx, dword [0x4cace0]
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 [0x4cae54]
mov ecx, dword [0x4cacac]
mov edx, dword [0x4cace4]
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 [0x4cae54]
mov ecx, dword [0x4cacf0]
mov edx, dword [0x4cace8]
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 [0x4cae54]
mov ecx, dword [0x4cacec]
mov edx, dword [0x4cace8]
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 [0x4cae54]
mov ecx, dword [0x4cacec]
mov edx, dword [0x4cacd4]
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 [0x4cae50]
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.004186ef
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.004190a4
add esp, 0xc
mov eax, dword [esi + 0xc4]
sub esp, 4
mov dword [esp], eax
call fcn.00404820
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.004186ef
and eax, 1
sub esp, 0xc
mov dword [esp + 4], edi
mov dword [esp], eax
mov dword [esp + 8], 0xa
call fcn.004190a4
add esp, 0xc
mov eax, dword [esi + 0xc4]
sub esp, 4
mov dword [esp], eax
call fcn.00404820
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.004186ef
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.004190a4
add esp, 0xc
mov eax, dword [esi + 0xc4]
sub esp, 4
mov dword [esp], eax
call fcn.00404820
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.004186ef
mov ecx, eax
xor ecx, 0xfffffff3
and ecx, eax
sub esp, 0xc
mov dword [esp + 4], edi
mov dword [esp], ecx
mov dword [esp + 8], 0xa
call fcn.004190a4
add esp, 0xc
mov eax, dword [esi + 0xc4]
sub esp, 4
mov dword [esp], eax
call fcn.00404820
add esp, 4
mov ecx, dword [esi + 0xd4]
mov dword [ecx], eax
mov eax, dword [0x4c8e84]
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 [0x4c8e84]
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 [0x4c8e84]
mov edx, dword [esi + 0xd8]
mov edx, dword [edx]
lea ecx, [ecx + edx + 2]
mov edx, dword [0x4c8e84]
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.004023f0
add esp, 0x14
mov eax, dword [0x4cae4c]
mov ecx, dword [0x4cacc8]
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 [0x4cae44]
mov ecx, dword [0x4cacf8]
mov edx, dword [0x4caca8]
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 [0x4cae40]
mov ecx, dword [esi + 0xc4]
mov edx, dword [0x4cacc4]
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 [0x4cae40]
mov ecx, dword [esi + 0xa0]
mov edx, dword [0x4cacac]
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 [0x4cae3c]
mov ecx, dword [0x4caca4]
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 [0x4cae38]
mov ecx, dword [esi + 0xcc]
mov edx, dword [0x4cacf4]
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 [0x4cae4c]
mov ecx, dword [0x4caccc]
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 [0x4cae34]
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 [0x4cae30]
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 [0x4cae34]
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 [0x4cae30]
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 [0x4cae48]
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 [0x4cae34]
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 [0x4cae30]
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 [0x4cae34]
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 [0x4cae30]
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 [0x4cae34]
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 [0x4cae34]
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.004186ef
mov ecx, eax
mov edx, 0xcccccccd
mul edx
shr edx, 2
lea eax, [edx + edx*4]
sub ecx, eax
mov eax, dword [ecx*4 + 0x4c8e88]
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.004028d0
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.004043b0
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], 0x4224f0
call fcn.004043b0
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.004043b0
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], 0x4224fa
call fcn.004043b0
add esp, 0x10
mov eax, dword [0x4c8e9c]
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 [0x4c8e9c]
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 [0x4c8e9c]
mov edx, dword [esi + 0xd8]
mov edx, dword [edx]
lea ecx, [ecx + edx + 2]
mov edx, dword [0x4c8e9c]
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.004023f0
add esp, 0x14
mov eax, dword [0x4cae4c]
mov ecx, dword [0x4cacd4]
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 [0x4cae40]
mov ecx, dword [esi + 0xb0]
mov edx, dword [0x4cacac]
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 [0x4cae40]
mov ecx, dword [esi + 0xb4]
mov edx, dword [0x4cacb4]
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 [0x4cae40]
mov ecx, dword [0x4cacb0]
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], 0x422508
call eax
mov eax, dword [0x4cae38]
mov ecx, dword [esi + 0xd0]
mov edx, dword [0x4cacec]
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 [0x4cae4c]
mov ecx, dword [0x4cacd8]
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 [0x4cae40]
mov ecx, dword [0x4cacac]
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], 0x42251c
call eax
mov eax, dword [0x4cae48]
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 [0x4c8ea0]
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 [0x4c8ea0]
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 [0x4c8ea0]
mov edx, dword [esi + 0xd8]
mov edx, dword [edx]
lea ecx, [ecx + edx*2 + 4]
mov edx, dword [0x4c8ea0]
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.004028d0
add esp, 0x14
mov eax, dword [0x4cae4c]
mov ecx, dword [0x4cacdc]
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 [0x4cae40]
mov ecx, dword [esi + 0xc8]
mov edx, dword [0x4cacac]
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 [0x4cae40]
mov ecx, dword [esi + 0xac]
mov edx, dword [0x4cacb8]
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 [0x4cae48]
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 [0x4cae48]
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 [0x4cae30]
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 [0x4cae30]
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 [0x4cae34]
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 [0x4cae34]
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 [0x4cae30]
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 [0x4cae30]
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 [0x4cae34]
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 [0x4cae30]
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 [0x4cae48]
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 [0x4cae58]
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], 0x422520
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.004037b0
add esp, 0xc
mov eax, dword [esi + 0xc0]
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 0xc], 3
mov dword [esp + 8], 0x42252a
mov dword [esp + 4], 0x104
call fcn.004043b0
add esp, 0x10
mov eax, dword [esi + 0xa4]
sub esp, 4
mov dword [esp], eax
call fcn.00404820
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.004043b0
add esp, 0x10
mov eax, dword [0x4c8ea4]
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 [0x4c8ea4]
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 [0x4c8ea4]
mov edx, dword [esi + 0xd8]
mov edx, dword [edx]
lea ecx, [ecx + edx*2 + 4]
mov edx, dword [0x4c8ea4]
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.004028d0
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 [0x4cae68]
mov ecx, dword [esi + 0x54]
sub esp, 4
mov dword [esp], ecx
call eax
mov dword [esi + 0x48], 0x1e6a0673
jmp 0x410b10
cmp eax, 0x4ce44e94
jne 0x410b10
mov dword [esi + 0x48], 0xac9f63db
jmp 0x410b10
cmp eax, 0x4cac1964
jne 0x410b10
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, 0x812c8069
je 0x412576
mov eax, 0xd2388e43
mov dword [esi + 0x48], eax
jmp 0x410b10
cmp eax, 0x4a95be93
jne 0x410b10
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.004037b0
add esp, 0xc
mov eax, dword [esi + 0xc0]
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 0xc], 6
mov dword [esp + 8], 0x422532
mov dword [esp + 4], 0x104
call fcn.004043b0
add esp, 0x10
mov eax, dword [esi + 0xa4]
sub esp, 4
mov dword [esp], eax
call fcn.00404820
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.004043b0
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 [0x4cae68]
mov ecx, dword [esi + 0x54]
sub esp, 4
mov dword [esp], ecx
call eax
mov dword [esi + 0x48], 0xf6648610
jmp 0x410b10
cmp eax, 0x42662a61
jne 0x410b10
jmp 0x413d3a
cmp eax, 0x3352247e
jne 0x410b10
mov dword [esi + 0x48], 0xd242259a
jmp 0x410b10
cmp eax, 0x256f9f61
jne 0x410b10
mov al, byte [esi + 0xf1]
test al, al
mov eax, 0x4283d5d
jne 0x4126b8
mov eax, 0x91aaf8e4
mov dword [esi + 0x48], eax
jmp 0x410b10
cmp eax, 0x1e6a0673
jne 0x410b10
mov eax, dword [0x4cae54]
mov ecx, dword [0x4cacac]
mov edx, dword [0x4cacd4]
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 [0x4cae54]
mov ecx, dword [0x4cacbc]
mov edx, dword [0x4cacd4]
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 [0x4cae54]
mov ecx, dword [0x4cacc0]
mov edx, dword [0x4cacd4]
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 [0x4cae54]
mov ecx, dword [0x4cacac]
mov edx, dword [0x4cacd0]
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 [0x4cae54]
mov ecx, dword [0x4caca0]
mov edx, dword [0x4cace0]
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 [0x4cae54]
mov ecx, dword [0x4cacac]
mov edx, dword [0x4cace4]
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 [0x4cae54]
mov ecx, dword [0x4cacf0]
mov edx, dword [0x4cace8]
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 [0x4cae54]
mov ecx, dword [0x4cacec]
mov edx, dword [0x4cace8]
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 [0x4cae54]
mov ecx, dword [0x4cacec]
mov edx, dword [0x4cacd4]
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 [0x4cae50]
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.004186ef
and eax, 0xf
sub esp, 0xc
mov dword [esp + 4], edi
mov dword [esp], eax
mov dword [esp + 8], 0xa
call fcn.004190a4
add esp, 0xc
mov eax, dword [esi + 0xc4]
sub esp, 4
mov dword [esp], eax
call fcn.00404820
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.004186ef
and eax, 1
sub esp, 0xc
mov dword [esp + 4], edi
mov dword [esp], eax
mov dword [esp + 8], 0xa
call fcn.004190a4
add esp, 0xc
mov eax, dword [esi + 0xc4]
sub esp, 4
mov dword [esp], eax
call fcn.00404820
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.004186ef
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.004190a4
add esp, 0xc
mov eax, dword [esi + 0xc4]
sub esp, 4
mov dword [esp], eax
call fcn.00404820
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.004186ef
and eax, 0xc
sub esp, 0xc
mov dword [esp + 4], edi
mov dword [esp], eax
mov dword [esp + 8], 0xa
call fcn.004190a4
add esp, 0xc
mov eax, dword [esi + 0xc4]
sub esp, 4
mov dword [esp], eax
call fcn.00404820
add esp, 4
mov ecx, dword [esi + 0xd4]
mov dword [ecx], eax
mov eax, dword [0x4c8e84]
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 [0x4c8e84]
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 [0x4c8e84]
mov edx, dword [esi + 0xd8]
mov edx, dword [edx]
lea ecx, [ecx + edx + 2]
mov edx, dword [0x4c8e84]
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.004023f0
add esp, 0x14
mov eax, dword [0x4cae4c]
mov ecx, dword [0x4cacc8]
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 [0x4cae44]
mov ecx, dword [0x4cacf8]
mov edx, dword [0x4caca8]
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 [0x4cae40]
mov ecx, dword [esi + 0xc4]
mov edx, dword [0x4cacc4]
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 [0x4cae40]
mov ecx, dword [esi + 0xa0]
mov edx, dword [0x4cacac]
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 [0x4cae3c]
mov ecx, dword [0x4caca4]
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 [0x4cae38]
mov ecx, dword [esi + 0xcc]
mov edx, dword [0x4cacf4]
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 [0x4cae4c]
mov ecx, dword [0x4caccc]
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 [0x4cae34]
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 [0x4cae30]
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 [0x4cae34]
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 [0x4cae30]
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 [0x4cae48]
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 [0x4cae34]
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 [0x4cae30]
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 [0x4cae34]
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 [0x4cae30]
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 [0x4cae34]
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 [0x4cae34]
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.004186ef
mov ecx, eax
mov edx, 0xcccccccd
mul edx
shr edx, 2
lea eax, [edx + edx*4]
sub ecx, eax
mov eax, dword [ecx*4 + 0x4c8e88]
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.004028d0
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.004043b0
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], 0x4224f0
call fcn.004043b0
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.004043b0
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], 0x4224fa
call fcn.004043b0
add esp, 0x10
mov eax, dword [0x4c8e9c]
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 [0x4c8e9c]
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 [0x4c8e9c]
mov edx, dword [esi + 0xd8]
mov edx, dword [edx]
lea ecx, [ecx + edx + 2]
mov edx, dword [0x4c8e9c]
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.004023f0
add esp, 0x14
mov eax, dword [0x4cae4c]
mov ecx, dword [0x4cacd4]
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 [0x4cae40]
mov ecx, dword [esi + 0xb0]
mov edx, dword [0x4cacac]
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 [0x4cae40]
mov ecx, dword [esi + 0xb4]
mov edx, dword [0x4cacb4]
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 [0x4cae40]
mov ecx, dword [0x4cacb0]
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], 0x422508
call eax
mov eax, dword [0x4cae38]
mov ecx, dword [esi + 0xd0]
mov edx, dword [0x4cacec]
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 [0x4cae4c]
mov ecx, dword [0x4cacd8]
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 [0x4cae40]
mov ecx, dword [0x4cacac]
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], 0x42251c
call eax
mov eax, dword [0x4cae48]
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 [0x4c8ea0]
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 [0x4c8ea0]
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 [0x4c8ea0]
mov edx, dword [esi + 0xd8]
mov edx, dword [edx]
lea ecx, [ecx + edx*2 + 4]
mov edx, dword [0x4c8ea0]
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.004028d0
add esp, 0x14
mov eax, dword [0x4cae4c]
mov ecx, dword [0x4cacdc]
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 [0x4cae40]
mov ecx, dword [esi + 0xc8]
mov edx, dword [0x4cacac]
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 [0x4cae40]
mov ecx, dword [esi + 0xac]
mov edx, dword [0x4cacb8]
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 [0x4cae48]
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 [0x4cae48]
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 [0x4cae30]
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 [0x4cae30]
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 [0x4cae34]
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 [0x4cae34]
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 [0x4cae30]
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 [0x4cae30]
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 [0x4cae34]
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 [0x4cae30]
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 [0x4cae48]
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 [0x4cae58]
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], 0x422520
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.004037b0
add esp, 0xc
mov eax, dword [esi + 0xc0]
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 0xc], 3
mov dword [esp + 8], 0x42252a
mov dword [esp + 4], 0x104
call fcn.004043b0
add esp, 0x10
mov eax, dword [esi + 0xa4]
sub esp, 4
mov dword [esp], eax
call fcn.00404820
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.004043b0
add esp, 0x10
mov eax, dword [0x4c8ea4]
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 [0x4c8ea4]
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 [0x4c8ea4]
mov edx, dword [esi + 0xd8]
mov edx, dword [edx]
lea ecx, [ecx + edx*2 + 4]
mov edx, dword [0x4c8ea4]
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.004028d0
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 [0x4cae68]
mov ecx, dword [esi + 0x54]
sub esp, 4
mov dword [esp], ecx
call eax
cmp eax, 1
setne byte [esi + 0xf1]
mov dword [esi + 0x48], 0x256f9f61
jmp 0x410b10
cmp eax, 0x17c6ea1f
jne 0x410b10
mov dword [esi + 0x48], 0xac9f63db
jmp 0x410b10
cmp eax, 0x14f82c94
jne 0x410b10
mov dword [esi + 0x48], 0xd26a470b
jmp 0x410b10
cmp eax, 0x7c9c889
jne 0x410b10
mov eax, dword [esi + 0x4c]
mov dword [eax], 0xffffffff
mov dword [esi + 0x48], 0xd242259a
jmp 0x410b10
cmp eax, 0x76d1049
jne 0x410b10
mov dword [esi + 0x48], 0x42662a61
jmp 0x410b10
cmp eax, 0x4283d5d
jne 0x410b10
mov dword [esi + 0x48], 0x975deebe
jmp 0x410b10
cmp eax, 0x204ac12
jne 0x410b10
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 [0x4cae64]
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 [0x4cae68]
mov ecx, dword [esi + 0x54]
sub esp, 4
mov dword [esp], ecx
call eax
mov dword [esi + 0x48], 0x72689732
jmp 0x410b10
cmp eax, 0x849fb9
jne 0x410b10
mov dword [esi + 0x48], 0xdc0a00e8
jmp 0x410b10
cmp eax, 0xfde413b7
jne 0x410b10
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.0040f0b0
add esp, 4
mov dword [esi + 0x48], 0x975deebe
jmp 0x410b10
cmp eax, 0xfd90c79f
jne 0x410b10
mov dword [esi + 0x48], 0xa41f16ac
jmp 0x410b10
cmp eax, 0xf82704e1
jne 0x410b10
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 [0x4cae64]
mov eax, dword [esi + 0xe8]
mov dword [eax], 1
mov dword [esi + 0x48], 0xac9f63db
jmp 0x410b10
cmp eax, 0xf6f21b87
jne 0x410b10
mov dword [esi + 0x48], 0xac9f63db
jmp 0x410b10
cmp eax, 0xf6648610
jne 0x410b10
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.004037b0
add esp, 0xc
mov eax, dword [esi + 0xc0]
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 0xc], 6
mov dword [esp + 8], 0x422532
mov dword [esp + 4], 0x104
call fcn.004043b0
add esp, 0x10
mov eax, dword [esi + 0xa4]
sub esp, 4
mov dword [esp], eax
call fcn.00404820
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.004043b0
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 [0x4cae68]
mov ecx, dword [esi + 0x54]
sub esp, 4
mov dword [esp], ecx
call eax
cmp eax, 1
setne byte [esi + 0xf3]
mov dword [esi + 0x48], 0xe756816a
jmp 0x410b10
cmp eax, 0xe756816a
jne 0x410b10
mov al, byte [esi + 0xf3]
test al, al
mov eax, 0x17c6ea1f
jne 0x413739
mov eax, 0xf82704e1
mov dword [esi + 0x48], eax
jmp 0x410b10
cmp eax, 0xdc938934
jne 0x410b10
mov ecx, dword [esi + 0xe4]
mov eax, 0x3352247e
cmp dword [ecx], 6
jb 0x413761
mov eax, 0x8ffed5be
mov dword [esi + 0x48], eax
jmp 0x410b10
cmp eax, 0xdc0a00e8
jne 0x410b10
mov dword [esi + 0x48], 0x71289f10
jmp 0x410b10
cmp eax, 0xd28a6bda
jne 0x410b10
mov ecx, dword [esi + 0x50]
mov eax, 0x71289f10
cmp dword [ecx], 0
je 0x41379d
mov eax, 0x862cbd7e
mov dword [esi + 0x48], eax
jmp 0x410b10
mov dword [esi + 0x48], 0x849fb9
jmp 0x410b10
cmp eax, 0xd26a470b
jne 0x410b10
mov eax, 4
call fcn.00417d10
mov dword [esi + 0x4c], esp
mov eax, 4
call fcn.00417d10
mov dword [esi + 0x50], esp
mov eax, 0x3c
call fcn.00417d10
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x54], eax
mov eax, 4
call fcn.00417d10
mov dword [esi + 0x58], esp
mov eax, 4
call fcn.00417d10
mov dword [esi + 0x5c], esp
mov eax, 4
call fcn.00417d10
mov dword [esi + 0x60], esp
mov eax, 4
call fcn.00417d10
mov dword [esi + 0x64], esp
mov eax, 4
call fcn.00417d10
mov dword [esi + 0x68], esp
mov eax, 4
call fcn.00417d10
mov dword [esi + 0x6c], esp
mov eax, 4
call fcn.00417d10
mov dword [esi + 0x70], esp
mov eax, 4
call fcn.00417d10
mov dword [esi + 0x74], esp
mov eax, 4
call fcn.00417d10
mov dword [esi + 0x78], esp
mov eax, 4
call fcn.00417d10
mov dword [esi + 0x7c], esp
mov eax, 4
call fcn.00417d10
mov dword [esi + 0x80], esp
mov eax, 4
call fcn.00417d10
mov dword [esi + 0x84], esp
mov eax, 4
call fcn.00417d10
mov dword [esi + 0x88], esp
mov eax, 4
call fcn.00417d10
mov dword [esi + 0x8c], esp
mov eax, 4
call fcn.00417d10
mov dword [esi + 0x90], esp
mov eax, 0x20c
call fcn.00417d10
mov dword [esi + 0x94], esp
mov eax, 0x20c
call fcn.00417d10
mov dword [esi + 0x98], esp
mov eax, 0x20c
call fcn.00417d10
mov dword [esi + 0x9c], esp
mov eax, 0x20c
call fcn.00417d10
mov dword [esi + 0xa0], esp
mov eax, 0x20c
call fcn.00417d10
mov dword [esi + 0xa4], esp
mov eax, 0x20c
call fcn.00417d10
mov dword [esi + 0xa8], esp
mov eax, 0x20c
call fcn.00417d10
mov dword [esi + 0xac], esp
mov eax, 0x20c
call fcn.00417d10
mov dword [esi + 0xb0], esp
mov eax, 0x20c
call fcn.00417d10
mov dword [esi + 0xb4], esp
mov eax, 0x20c
call fcn.00417d10
mov dword [esi + 0xb8], esp
mov eax, 0x20c
call fcn.00417d10
mov dword [esi + 0xbc], esp
mov eax, 0x20c
call fcn.00417d10
mov dword [esi + 0xc0], esp
mov eax, 0xc8
call fcn.00417d10
mov dword [esi + 0xc4], esp
mov eax, 0x28
call fcn.00417d10
mov dword [esi + 0xc8], esp
mov eax, 0x10
call fcn.00417d10
mov dword [esi + 0xcc], esp
mov eax, 0x10
call fcn.00417d10
mov dword [esi + 0xd0], esp
mov eax, 0xc
call fcn.00417d10
mov ebx, esp
mov eax, 4
call fcn.00417d10
mov dword [esi + 0xd4], esp
mov eax, 4
call fcn.00417d10
mov dword [esi + 0xd8], esp
mov eax, 4
call fcn.00417d10
mov dword [esi + 0xdc], esp
mov eax, 4
call fcn.00417d10
mov dword [esi + 0xe0], esp
mov eax, 4
call fcn.00417d10
mov dword [esi + 0xe4], esp
mov eax, 4
call fcn.00417d10
mov dword [esi + 0xe8], esp
mov eax, 4
call fcn.00417d10
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.00418580
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.00418580
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.00418580
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.00418580
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.00418580
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.00418580
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.00418580
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.00418580
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.00418580
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.00418580
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.00418580
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.00418580
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.00410160
test eax, eax
sets byte [esi + 0xf0]
mov dword [esi + 0x48], 0x942a0303
jmp 0x410b10
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret