Function at 0x59e394
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x5b
push 0
push 0
dec ecx
jne 0x59e39c
xor eax, eax
push ebp
push 0x59f49f
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 4]
mov edx, 0x59f4b4
call fcn.00404f48
lea eax, [ebp - 8]
mov edx, 0x59f4c0
call fcn.00404f48
push 0x59f4cc
lea edx, [ebp - 0x1e0]
mov eax, dword [0x5cf16c]
movzx eax, byte [eax]
call fcn.00409e18
push dword [ebp - 0x1e0]
push 0x59f4dc
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00405228
mov eax, dword [ebp - 0xc]
call fcn.0040a0f0
test al, al
je 0x59e64c
push 0xffffffffffffffff
lea eax, [ebp - 0x1e4]
mov ecx, 0x59f4f0
mov edx, dword [ebp - 0xc]
call fcn.004051b4
mov eax, dword [ebp - 0x1e4]
call fcn.00405360
push eax
mov eax, dword [ebp - 0xc]
call fcn.00405360
push eax
call sub.kernel32.dll_CopyFileA
lea eax, [ebp - 0x1e8]
mov ecx, 0x59f4f0
mov edx, dword [ebp - 0xc]
call fcn.004051b4
mov edx, dword [ebp - 0x1e8]
lea eax, [ebp - 0x1dc]
call fcn.00402fa8
xor eax, eax
push ebp
push 0x59e645
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x1dc]
call fcn.00402d2c
call fcn.00402990
jmp 0x59e5cf
lea edx, [ebp - 0x10]
lea eax, [ebp - 0x1dc]
call fcn.00403498
lea eax, [ebp - 0x1dc]
call fcn.00403504
call fcn.00402990
lea eax, [ebp - 0x1ec]
push eax
mov edx, dword [ebp - 0x10]
mov eax, 0x59f4fc
call fcn.004054a4
mov ecx, eax
sub ecx, 1
jno 0x59e4bf
call fcn.00403fe0
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.004053c0
mov eax, dword [ebp - 0x1ec]
mov edx, 0x59f508
call fcn.004052ac
jne 0x59e53b
mov edx, dword [ebp - 0x10]
mov eax, 0x59f4fc
call fcn.004054a4
mov ecx, eax
lea eax, [ebp - 0x10]
mov edx, 1
call fcn.00405400
cmp dword [ebp - 0x10], 0
je 0x59e5e7
jmp 0x59e51e
lea eax, [ebp - 0x10]
mov ecx, 1
mov edx, 1
call fcn.00405400
cmp dword [ebp - 0x10], 0
je 0x59e526
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0x20
je 0x59e506
cmp dword [ebp - 0x10], 0
je 0x59e5e7
lea eax, [ebp - 4]
mov edx, dword [ebp - 0x10]
call fcn.00404f48
lea eax, [ebp - 0x1f0]
push eax
mov edx, dword [ebp - 0x10]
mov eax, 0x59f4fc
call fcn.004054a4
mov ecx, eax
sub ecx, 1
jno 0x59e55b
call fcn.00403fe0
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.004053c0
mov eax, dword [ebp - 0x1f0]
mov edx, 0x59f51c
call fcn.004052ac
jne 0x59e5cf
mov edx, dword [ebp - 0x10]
mov eax, 0x59f4fc
call fcn.004054a4
mov ecx, eax
lea eax, [ebp - 0x10]
mov edx, 1
call fcn.00405400
cmp dword [ebp - 0x10], 0
je 0x59e5e7
jmp 0x59e5b6
lea eax, [ebp - 0x10]
mov ecx, 1
mov edx, 1
call fcn.00405400
cmp dword [ebp - 0x10], 0
je 0x59e5be
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0x20
je 0x59e59e
cmp dword [ebp - 0x10], 0
je 0x59e5e7
lea eax, [ebp - 8]
mov edx, dword [ebp - 0x10]
call fcn.00404f48
lea eax, [ebp - 0x1dc]
call fcn.00403230
call fcn.00402990
test al, al
je 0x59e481
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x59e64c
lea eax, [ebp - 0x1dc]
call fcn.00403070
call fcn.00402990
lea eax, [ebp - 0x1f4]
mov ecx, 0x59f4f0
mov edx, dword [ebp - 0xc]
call fcn.004051b4
mov eax, dword [ebp - 0x1f4]
call fcn.0040a0f0
test al, al
je 0x59e644
lea eax, [ebp - 0x1f8]
mov ecx, 0x59f4f0
mov edx, dword [ebp - 0xc]
call fcn.004051b4
mov eax, dword [ebp - 0x1f8]
call fcn.0040a218
ret
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x220]
mov edx, 0x59f538
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov ecx, dword [0x5cf16c]
mov ecx, dword [ecx + 4]
lea eax, [ebp - 0x1fc]
mov edx, 0x59f560
call fcn.004051b4
mov edx, dword [ebp - 0x1fc]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x220]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x59f57c
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov ecx, dword [0x5cf16c]
mov ecx, dword [ecx + 4]
lea eax, [ebp - 0x200]
mov edx, 0x59f59c
call fcn.004051b4
mov edx, dword [ebp - 0x200]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x208]
mov eax, dword [0x5cf16c]
movzx eax, byte [eax]
call fcn.00409e18
mov ecx, dword [ebp - 0x208]
lea eax, [ebp - 0x204]
mov edx, 0x59f5b8
call fcn.004051b4
mov edx, dword [ebp - 0x204]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x220]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x59f5d4
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x210]
mov eax, dword [0x5cf16c]
movzx eax, byte [eax]
call fcn.00409e18
mov ecx, dword [ebp - 0x210]
lea eax, [ebp - 0x20c]
mov edx, 0x59f5e8
call fcn.004051b4
mov edx, dword [ebp - 0x20c]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cf16c]
cmp byte [eax + 0x18], 0
je 0x59e7f3
lea edx, [ebp - 0x218]
mov eax, dword [0x5cf16c]
mov eax, dword [eax + 0x1c]
call fcn.00409e18
mov ecx, dword [ebp - 0x218]
lea eax, [ebp - 0x214]
mov edx, 0x59f604
call fcn.004051b4
mov edx, dword [ebp - 0x214]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x220]
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x59e83e
mov eax, dword [0x5cf16c]
mov eax, dword [eax + 0xc]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x220]
call fcn.00409e48
mov ecx, dword [ebp - 0x220]
lea eax, [ebp - 0x21c]
mov edx, 0x59f630
call fcn.004051b4
mov edx, dword [ebp - 0x21c]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x220]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x59f65c
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cf16c]
cmp byte [eax + 0x18], 0
je 0x59e885
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x59f684
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x59e8a2
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x59f6a4
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x59f6c0
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x228]
mov eax, dword [0x5cf16c]
mov eax, dword [eax + 0x1c]
call fcn.00409e18
mov ecx, dword [ebp - 0x228]
lea eax, [ebp - 0x224]
mov edx, 0x59f6dc
call fcn.004051b4
mov edx, dword [ebp - 0x224]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x59f6f8
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cf16c]
mov eax, dword [eax + 0xc]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x230]
call fcn.00409e48
mov ecx, dword [ebp - 0x230]
lea eax, [ebp - 0x22c]
mov edx, 0x59f714
call fcn.004051b4
mov edx, dword [ebp - 0x22c]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cf16c]
mov al, byte [eax + 0x10]
sub al, 1
jb 0x59e982
je 0x59e9a1
dec al
je 0x59e9c0
jmp 0x59e9dd
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x220]
mov edx, 0x59f730
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x59e9dd
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x220]
mov edx, 0x59f754
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x59e9dd
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x220]
mov edx, 0x59f774
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x59f794
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x238]
mov eax, dword [0x5cf16c]
movzx eax, byte [eax + 0x10]
call fcn.00409e18
mov ecx, dword [ebp - 0x238]
lea eax, [ebp - 0x234]
mov edx, 0x59f7c8
call fcn.004051b4
mov edx, dword [ebp - 0x234]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x240]
mov eax, dword [0x5cf16c]
movzx eax, byte [eax + 0x11]
call fcn.00409e18
mov ecx, dword [ebp - 0x240]
lea eax, [ebp - 0x23c]
mov edx, 0x59f7e4
call fcn.004051b4
mov edx, dword [ebp - 0x23c]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x220]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x59f800
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x248]
mov eax, dword [0x5cf16c]
movzx eax, byte [eax + 0x11]
call fcn.00409e18
mov ecx, dword [ebp - 0x248]
lea eax, [ebp - 0x244]
mov edx, 0x59f818
call fcn.004051b4
mov edx, dword [ebp - 0x244]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov ecx, dword [0x5cf16c]
mov ecx, dword [ecx + 0x14]
lea eax, [ebp - 0x24c]
mov edx, 0x59f834
call fcn.004051b4
mov edx, dword [ebp - 0x24c]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x220]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x59f850
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov ecx, dword [0x5cf16c]
mov ecx, dword [ecx + 0x14]
lea eax, [ebp - 0x250]
mov edx, 0x59f868
call fcn.004051b4
mov edx, dword [ebp - 0x250]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cf16c]
cmp byte [eax + 0x20], 0
je 0x59eba4
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x220]
mov edx, 0x59f884
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x59ebc1
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x220]
mov edx, 0x59f8a0
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x59f8bc
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cf16c]
cmp byte [eax + 0x20], 0
je 0x59ec08
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x59f8dc
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x59ec25
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x59f8fc
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x258]
mov eax, dword [0x5cf16c]
mov eax, dword [eax + 0x24]
call fcn.00409e18
mov ecx, dword [ebp - 0x258]
lea eax, [ebp - 0x254]
mov edx, 0x59f918
call fcn.004051b4
mov edx, dword [ebp - 0x254]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x220]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x59f934
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x260]
mov eax, dword [0x5cf16c]
mov eax, dword [eax + 0x24]
call fcn.00409e18
mov ecx, dword [ebp - 0x260]
lea eax, [ebp - 0x25c]
mov edx, 0x59f948
call fcn.004051b4
mov edx, dword [ebp - 0x25c]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cf16c]
cmp byte [eax + 0x28], 0
je 0x59ecfa
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x220]
mov edx, 0x59f964
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x59ed17
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x220]
mov edx, 0x59f984
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x59f9a4
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cf16c]
cmp byte [eax + 0x28], 0
je 0x59ed5e
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x59f9cc
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x59ed7b
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x59f9ec
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x268]
mov eax, dword [0x5cf16c]
movzx eax, byte [eax + 9]
call fcn.00409e18
mov ecx, dword [ebp - 0x268]
lea eax, [ebp - 0x264]
mov edx, 0x59fa08
call fcn.004051b4
mov edx, dword [ebp - 0x264]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x220]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x59fa28
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x270]
mov eax, dword [0x5cf16c]
movzx eax, byte [eax + 9]
call fcn.00409e18
mov ecx, dword [ebp - 0x270]
lea eax, [ebp - 0x26c]
mov edx, 0x59fa50
call fcn.004051b4
mov edx, dword [ebp - 0x26c]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov ecx, dword [eax]
call dword [ecx + 0x38]
push 0x59fa6c
lea edx, [ebp - 0x278]
mov eax, dword [0x5cf16c]
mov eax, dword [eax + 0x2c]
call fcn.00409e18
push dword [ebp - 0x278]
push 0x59fa88
lea eax, [ebp - 0x274]
mov edx, 3
call fcn.00405228
mov edx, dword [ebp - 0x274]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x220]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x59fa94
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x280]
mov eax, dword [0x5cf16c]
mov eax, dword [eax + 0x2c]
call fcn.00409e18
mov ecx, dword [ebp - 0x280]
lea eax, [ebp - 0x27c]
mov edx, 0x59fabc
call fcn.004051b4
mov edx, dword [ebp - 0x27c]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov ecx, dword [eax]
call dword [ecx + 0x38]
push 0x59fad8
lea edx, [ebp - 0x288]
mov eax, dword [0x5cf16c]
mov eax, dword [eax + 0x30]
call fcn.00409e18
push dword [ebp - 0x288]
push 0x59fa88
lea eax, [ebp - 0x284]
mov edx, 3
call fcn.00405228
mov edx, dword [ebp - 0x284]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x220]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x59faf8
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x290]
mov eax, dword [0x5cf16c]
mov eax, dword [eax + 0x30]
call fcn.00409e18
mov ecx, dword [ebp - 0x290]
lea eax, [ebp - 0x28c]
mov edx, 0x59fb28
call fcn.004051b4
mov edx, dword [ebp - 0x28c]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cf16c]
cmp byte [eax + 0x34], 0
je 0x59efbc
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x220]
mov edx, 0x59fb44
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x59efd9
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x220]
mov edx, 0x59fb68
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x59fb8c
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cf16c]
cmp byte [eax + 0x34], 0
je 0x59f020
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x59fbc8
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x59f03d
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x59fbe8
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cf16c]
cmp byte [eax + 0x35], 0
je 0x59f067
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x220]
mov edx, 0x59fc04
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x59f084
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x220]
mov edx, 0x59fc28
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x59fc4c
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cf16c]
cmp byte [eax + 0x35], 0
je 0x59f0cb
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x59fc88
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x59f0e8
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x59fca8
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x298]
mov eax, dword [0x5cf16c]
mov eax, dword [eax + 0x38]
call fcn.00409e18
mov ecx, dword [ebp - 0x298]
lea eax, [ebp - 0x294]
mov edx, 0x59fcc4
call fcn.004051b4
mov edx, dword [ebp - 0x294]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x220]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x59fce4
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x2a0]
mov eax, dword [0x5cf16c]
mov eax, dword [eax + 0x38]
call fcn.00409e18
mov ecx, dword [ebp - 0x2a0]
lea eax, [ebp - 0x29c]
mov edx, 0x59fd04
call fcn.004051b4
mov edx, dword [ebp - 0x29c]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x2a8]
mov eax, dword [0x5cf16c]
mov eax, dword [eax + 0x3c]
call fcn.00409e18
mov ecx, dword [ebp - 0x2a8]
lea eax, [ebp - 0x2a4]
mov edx, 0x59fd20
call fcn.004051b4
mov edx, dword [ebp - 0x2a4]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x220]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x59fd48
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x2b0]
mov eax, dword [0x5cf16c]
mov eax, dword [eax + 0x3c]
call fcn.00409e18
mov ecx, dword [ebp - 0x2b0]
lea eax, [ebp - 0x2ac]
mov edx, 0x59fd78
call fcn.004051b4
mov edx, dword [ebp - 0x2ac]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov ecx, dword [eax]
call dword [ecx + 0x38]
push 0x59fd94
lea edx, [ebp - 0x2b8]
mov eax, dword [0x5cf16c]
mov eax, dword [eax + 0x40]
call fcn.00409e18
push dword [ebp - 0x2b8]
push 0x59fa88
lea eax, [ebp - 0x2b4]
mov edx, 3
call fcn.00405228
mov edx, dword [ebp - 0x2b4]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x220]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x59fdc0
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x2c0]
mov eax, dword [0x5cf16c]
mov eax, dword [eax + 0x40]
call fcn.00409e18
mov ecx, dword [ebp - 0x2c0]
lea eax, [ebp - 0x2bc]
mov edx, 0x59fdf4
call fcn.004051b4
mov edx, dword [ebp - 0x2bc]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x2c8]
mov eax, dword [0x5cf16c]
mov eax, dword [eax + 0x48]
call fcn.00409e18
mov ecx, dword [ebp - 0x2c8]
lea eax, [ebp - 0x2c4]
mov edx, 0x59fe10
call fcn.004051b4
mov edx, dword [ebp - 0x2c4]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x220]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x59fe3c
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x2d0]
mov eax, dword [0x5cf16c]
mov eax, dword [eax + 0x48]
call fcn.00409e18
mov ecx, dword [ebp - 0x2d0]
lea eax, [ebp - 0x2cc]
mov edx, 0x59fe68
call fcn.004051b4
mov edx, dword [ebp - 0x2cc]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x59fe84
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea eax, [ebp - 0x2d4]
mov ecx, dword [ebp - 4]
mov edx, 0x59feac
call fcn.004051b4
mov edx, dword [ebp - 0x2d4]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x59fec8
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea eax, [ebp - 0x2d8]
mov ecx, dword [ebp - 8]
mov edx, 0x59ff00
call fcn.004051b4
mov edx, dword [ebp - 0x2d8]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x59ff1c
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x59ff38
mov ecx, dword [eax]
call dword [ecx + 0x38]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x59f4a6
lea eax, [ebp - 0x2d8]
mov edx, 0x3f
call fcn.00404ed4
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.00404ed4
ret