Function at 0x58460c
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xe0
push 0
push 0
dec ecx
jne 0x584614
push ecx
push ebx
push esi
push edi
mov ecx, 4
lea eax, [ebp - 0x50]
mov edx, dword [0x401120]
call fcn.00405910
xor eax, eax
push ebp
push 0x58b348
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x28]
mov edx, 0x58b364
call fcn.00404f48
lea eax, [ebp - 0x2c]
mov edx, 0x58b370
call fcn.00404f48
push 0x58b37c
lea edx, [ebp - 0x220]
mov eax, dword [0x5cf16c]
movzx eax, byte [eax]
call fcn.00409e18
push dword [ebp - 0x220]
push 0x58b38c
lea eax, [ebp - 0x30]
mov edx, 3
call fcn.00405228
mov eax, dword [ebp - 0x30]
call fcn.0040a0f0
test al, al
je 0x5848db
push 0xffffffffffffffff
lea eax, [ebp - 0x224]
mov ecx, 0x58b3a0
mov edx, dword [ebp - 0x30]
call fcn.004051b4
mov eax, dword [ebp - 0x224]
call fcn.00405360
push eax
mov eax, dword [ebp - 0x30]
call fcn.00405360
push eax
call sub.kernel32.dll_CopyFileA
lea eax, [ebp - 0x228]
mov ecx, 0x58b3a0
mov edx, dword [ebp - 0x30]
call fcn.004051b4
mov edx, dword [ebp - 0x228]
lea eax, [ebp - 0x21c]
call fcn.00402fa8
xor eax, eax
push ebp
push 0x5848d4
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x21c]
call fcn.00402d2c
call fcn.00402990
jmp 0x58485e
lea edx, [ebp - 0x34]
lea eax, [ebp - 0x21c]
call fcn.00403498
lea eax, [ebp - 0x21c]
call fcn.00403504
call fcn.00402990
lea eax, [ebp - 0x22c]
push eax
mov edx, dword [ebp - 0x34]
mov eax, 0x58b3ac
call fcn.004054a4
mov ecx, eax
sub ecx, 1
jno 0x58474e
call fcn.00403fe0
mov edx, 1
mov eax, dword [ebp - 0x34]
call fcn.004053c0
mov eax, dword [ebp - 0x22c]
mov edx, 0x58b3b8
call fcn.004052ac
jne 0x5847ca
mov edx, dword [ebp - 0x34]
mov eax, 0x58b3ac
call fcn.004054a4
mov ecx, eax
lea eax, [ebp - 0x34]
mov edx, 1
call fcn.00405400
cmp dword [ebp - 0x34], 0
je 0x584876
jmp 0x5847ad
lea eax, [ebp - 0x34]
mov ecx, 1
mov edx, 1
call fcn.00405400
cmp dword [ebp - 0x34], 0
je 0x5847b5
mov eax, dword [ebp - 0x34]
cmp byte [eax], 0x20
je 0x584795
cmp dword [ebp - 0x34], 0
je 0x584876
lea eax, [ebp - 0x28]
mov edx, dword [ebp - 0x34]
call fcn.00404f48
lea eax, [ebp - 0x230]
push eax
mov edx, dword [ebp - 0x34]
mov eax, 0x58b3ac
call fcn.004054a4
mov ecx, eax
sub ecx, 1
jno 0x5847ea
call fcn.00403fe0
mov edx, 1
mov eax, dword [ebp - 0x34]
call fcn.004053c0
mov eax, dword [ebp - 0x230]
mov edx, 0x58b3cc
call fcn.004052ac
jne 0x58485e
mov edx, dword [ebp - 0x34]
mov eax, 0x58b3ac
call fcn.004054a4
mov ecx, eax
lea eax, [ebp - 0x34]
mov edx, 1
call fcn.00405400
cmp dword [ebp - 0x34], 0
je 0x584876
jmp 0x584845
lea eax, [ebp - 0x34]
mov ecx, 1
mov edx, 1
call fcn.00405400
cmp dword [ebp - 0x34], 0
je 0x58484d
mov eax, dword [ebp - 0x34]
cmp byte [eax], 0x20
je 0x58482d
cmp dword [ebp - 0x34], 0
je 0x584876
lea eax, [ebp - 0x2c]
mov edx, dword [ebp - 0x34]
call fcn.00404f48
lea eax, [ebp - 0x21c]
call fcn.00403230
call fcn.00402990
test al, al
je 0x584710
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5848db
lea eax, [ebp - 0x21c]
call fcn.00403070
call fcn.00402990
lea eax, [ebp - 0x234]
mov ecx, 0x58b3a0
mov edx, dword [ebp - 0x30]
call fcn.004051b4
mov eax, dword [ebp - 0x234]
call fcn.0040a0f0
test al, al
je 0x5848d3
lea eax, [ebp - 0x238]
mov ecx, 0x58b3a0
mov edx, dword [ebp - 0x30]
call fcn.004051b4
mov eax, dword [ebp - 0x238]
call fcn.0040a218
ret
lea edx, [ebp - 0x23c]
mov eax, dword [0x5d1450]
mov eax, dword [eax + 0x2f4]
call fcn.0044d8e8
mov eax, dword [ebp - 0x23c]
call fcn.00409eb8
mov dword [ebp - 0x1c], eax
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov edx, dword [eax]
call dword [edx + 0xdc]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov edx, dword [eax]
call dword [edx + 0xdc]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x220]
mov edx, 0x58b3e8
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov ecx, dword [0x5cf16c]
mov ecx, dword [ecx + 4]
lea eax, [ebp - 0x240]
mov edx, 0x58b410
call fcn.004051b4
mov edx, dword [ebp - 0x240]
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, 0x58b42c
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov ecx, dword [0x5cf16c]
mov ecx, dword [ecx + 4]
lea eax, [ebp - 0x244]
mov edx, 0x58b44c
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]
lea edx, [ebp - 0x24c]
mov eax, dword [0x5cf16c]
movzx eax, byte [eax]
call fcn.00409e18
mov ecx, dword [ebp - 0x24c]
lea eax, [ebp - 0x248]
mov edx, 0x58b468
call fcn.004051b4
mov edx, dword [ebp - 0x248]
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, 0x58b484
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x254]
mov eax, dword [0x5cf16c]
movzx eax, byte [eax]
call fcn.00409e18
mov ecx, dword [ebp - 0x254]
lea eax, [ebp - 0x250]
mov edx, 0x58b498
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 0x584aa6
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x220]
mov edx, 0x58b4b4
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x584ac3
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x220]
mov edx, 0x58b4d0
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, 0x58b4ec
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cf16c]
cmp byte [eax + 0x20], 0
je 0x584b0a
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x58b50c
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x584b27
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x58b52c
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x25c]
mov eax, dword [0x5cf16c]
mov eax, dword [eax + 0x24]
call fcn.00409e18
mov ecx, dword [ebp - 0x25c]
lea eax, [ebp - 0x258]
mov edx, 0x58b548
call fcn.004051b4
mov edx, dword [ebp - 0x258]
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, 0x58b564
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x264]
mov eax, dword [0x5cf16c]
mov eax, dword [eax + 0x24]
call fcn.00409e18
mov ecx, dword [ebp - 0x264]
lea eax, [ebp - 0x260]
mov edx, 0x58b578
call fcn.004051b4
mov edx, dword [ebp - 0x260]
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 0x58b594
lea edx, [ebp - 0x26c]
mov eax, dword [0x5cf16c]
mov eax, dword [eax + 0x2c]
call fcn.00409e18
push dword [ebp - 0x26c]
push 0x58b5b0
lea eax, [ebp - 0x268]
mov edx, 3
call fcn.00405228
mov edx, dword [ebp - 0x268]
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, 0x58b5bc
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x274]
mov eax, dword [0x5cf16c]
mov eax, dword [eax + 0x2c]
call fcn.00409e18
mov ecx, dword [ebp - 0x274]
lea eax, [ebp - 0x270]
mov edx, 0x58b5e4
call fcn.004051b4
mov edx, dword [ebp - 0x270]
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 0x58b600
lea edx, [ebp - 0x27c]
mov eax, dword [0x5cf16c]
mov eax, dword [eax + 0x30]
call fcn.00409e18
push dword [ebp - 0x27c]
push 0x58b5b0
lea eax, [ebp - 0x278]
mov edx, 3
call fcn.00405228
mov edx, dword [ebp - 0x278]
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, 0x58b620
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x284]
mov eax, dword [0x5cf16c]
mov eax, dword [eax + 0x30]
call fcn.00409e18
mov ecx, dword [ebp - 0x284]
lea eax, [ebp - 0x280]
mov edx, 0x58b650
call fcn.004051b4
mov edx, dword [ebp - 0x280]
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 0x584d66
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x220]
mov edx, 0x58b66c
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x584d83
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x220]
mov edx, 0x58b690
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, 0x58b6b4
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cf16c]
cmp byte [eax + 0x34], 0
je 0x584dca
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x58b6f0
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x584de7
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x58b710
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cf16c]
cmp byte [eax + 0x35], 0
je 0x584e11
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x220]
mov edx, 0x58b72c
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x584e2e
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x300]
mov eax, dword [eax + 0x220]
mov edx, 0x58b750
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, 0x58b774
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5cf16c]
cmp byte [eax + 0x35], 0
je 0x584e75
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x58b7b0
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x584e92
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x58b7d0
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x28c]
mov eax, dword [0x5cf16c]
mov eax, dword [eax + 0x38]
call fcn.00409e18
mov ecx, dword [ebp - 0x28c]
lea eax, [ebp - 0x288]
mov edx, 0x58b7ec
call fcn.004051b4
mov edx, dword [ebp - 0x288]
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, 0x58b80c
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x294]
mov eax, dword [0x5cf16c]
mov eax, dword [eax + 0x38]
call fcn.00409e18
mov ecx, dword [ebp - 0x294]
lea eax, [ebp - 0x290]
mov edx, 0x58b82c
call fcn.004051b4
mov edx, dword [ebp - 0x290]
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 - 0x29c]
mov eax, dword [0x5cf16c]
mov eax, dword [eax + 0x3c]
call fcn.00409e18
mov ecx, dword [ebp - 0x29c]
lea eax, [ebp - 0x298]
mov edx, 0x58b848
call fcn.004051b4
mov edx, dword [ebp - 0x298]
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, 0x58b870
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x2a4]
mov eax, dword [0x5cf16c]
mov eax, dword [eax + 0x3c]
call fcn.00409e18
mov ecx, dword [ebp - 0x2a4]
lea eax, [ebp - 0x2a0]
mov edx, 0x58b8a0
call fcn.004051b4
mov edx, dword [ebp - 0x2a0]
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 0x58b8bc
lea edx, [ebp - 0x2ac]
mov eax, dword [0x5cf16c]
mov eax, dword [eax + 0x40]
call fcn.00409e18
push dword [ebp - 0x2ac]
push 0x58b5b0
lea eax, [ebp - 0x2a8]
mov edx, 3
call fcn.00405228
mov edx, dword [ebp - 0x2a8]
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, 0x58b8e8
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x2b4]
mov eax, dword [0x5cf16c]
mov eax, dword [eax + 0x40]
call fcn.00409e18
mov ecx, dword [ebp - 0x2b4]
lea eax, [ebp - 0x2b0]
mov edx, 0x58b91c
call fcn.004051b4
mov edx, dword [ebp - 0x2b0]
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, 0x58b938
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea eax, [ebp - 0x2b8]
mov ecx, dword [ebp - 0x28]
mov edx, 0x58b960
call fcn.004051b4
mov edx, dword [ebp - 0x2b8]
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, 0x58b97c
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea eax, [ebp - 0x2bc]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x58b9b4
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]
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x58b9d0
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, 0x58b9ec
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, 0x58b3ac
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, 0x58b3ac
mov ecx, dword [eax]
call dword [ecx + 0x38]
push 0x58ba08
mov eax, dword [0x5cf16c]
push dword [eax + 4]
push 0x58ba18
lea eax, [ebp - 0x2c0]
mov edx, 3
call fcn.00405228
mov edx, dword [ebp - 0x2c0]
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, 0x58ba2c
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, 0x58ba84
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, 0x58ba2c
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x2c8]
mov eax, dword [0x5d1450]
mov eax, dword [eax + 0x364]
call fcn.0044d8e8
mov ecx, dword [ebp - 0x2c8]
lea eax, [ebp - 0x2c4]
mov edx, 0x58badc
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]
lea edx, [ebp - 0x2d0]
mov eax, dword [0x5d1450]
mov eax, dword [eax + 0x364]
call fcn.0044d8e8
mov ecx, dword [ebp - 0x2d0]
lea eax, [ebp - 0x2cc]
mov edx, 0x58baf8
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]
lea eax, [ebp - 0x50]
mov edx, dword [0x5cfad0]
mov edx, dword [edx]
call fcn.00404f48
lea eax, [ebp - 0x4c]
mov edx, dword [0x5cfad0]
mov edx, dword [edx + 4]
call fcn.00404f48
lea eax, [ebp - 0x48]
mov edx, dword [0x5cfad0]
mov edx, dword [edx + 8]
call fcn.00404f48
lea eax, [ebp - 0x44]
mov edx, dword [0x5cfad0]
mov edx, dword [edx + 0xc]
call fcn.00404f48
mov esi, dword [ebp - 0x1c]
sub esi, 1
jno 0x585328
call fcn.00403fe0
test esi, esi
jl 0x58538e
inc esi
mov dword [ebp - 0x20], 0
lea ebx, [ebp - 0x50]
push 0x58bb0c
lea edx, [ebp - 0x2d8]
mov eax, dword [ebp - 0x20]
call fcn.00409e18
push dword [ebp - 0x2d8]
push 0x58bb24
push dword [ebx]
lea eax, [ebp - 0x2d4]
mov edx, 4
call fcn.00405228
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]
inc dword [ebp - 0x20]
add ebx, 4
dec esi
jne 0x585337
lea eax, [ebp - 0x50]
mov edx, dword [0x5cfad0]
mov edx, dword [edx + 0x10]
call fcn.00404f48
lea eax, [ebp - 0x4c]
mov edx, dword [0x5cfad0]
mov edx, dword [edx + 0x14]
call fcn.00404f48
lea eax, [ebp - 0x48]
mov edx, dword [0x5cfad0]
mov edx, dword [edx + 0x18]
call fcn.00404f48
lea eax, [ebp - 0x44]
mov edx, dword [0x5cfad0]
mov edx, dword [edx + 0x1c]
call fcn.00404f48
mov esi, dword [ebp - 0x1c]
sub esi, 1
jno 0x5853df
call fcn.00403fe0
test esi, esi
jl 0x585445
inc esi
mov dword [ebp - 0x20], 0
lea ebx, [ebp - 0x50]
push 0x58bb30
lea edx, [ebp - 0x2e0]
mov eax, dword [ebp - 0x20]
call fcn.00409e18
push dword [ebp - 0x2e0]
push 0x58bb24
push dword [ebx]
lea eax, [ebp - 0x2dc]
mov edx, 4
call fcn.00405228
mov edx, dword [ebp - 0x2dc]
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]
inc dword [ebp - 0x20]
add ebx, 4
dec esi
jne 0x5853ee
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x58ba2c
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, 0x58bb48
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, 0x58ba2c
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov ecx, 0x58bba0
mov dl, 1
mov eax, dword [0x46f678]
call fcn.0046f728
mov dword [ebp - 0x38], eax
xor eax, eax
push ebp
push 0x58b171
push dword fs:[eax]
mov dword fs:[eax], esp
mov esi, dword [ebp - 0x1c]
sub esi, 1
jno 0x5854cb
call fcn.00403fe0
test esi, esi
jl 0x58555a
inc esi
mov dword [ebp - 0x20], 0
lea ebx, [ebp - 0x50]
lea edx, [ebp - 0x2e8]
mov eax, dword [0x5cf200]
mov eax, dword [eax]
mov eax, dword [eax + 0x348]
call fcn.0044d8e8
mov eax, dword [ebp - 0x2e8]
push eax
lea eax, [ebp - 0x2e4]
push eax
lea edx, [ebp - 0x2f0]
mov eax, dword [ebp - 0x20]
add eax, 1
jno 0x585517
call fcn.00403fe0
call fcn.00409e18
mov ecx, dword [ebp - 0x2f0]
lea eax, [ebp - 0x2ec]
mov edx, 0x58bbc0
call fcn.004051b4
mov ecx, dword [ebp - 0x2ec]
mov edx, 0x58bbcc
mov eax, dword [ebp - 0x38]
mov edi, dword [eax]
call dword [edi]
mov edx, dword [ebp - 0x2e4]
mov eax, ebx
call fcn.00404f04
inc dword [ebp - 0x20]
add ebx, 4
dec esi
jne 0x5854de
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
call fcn.004052ac
jne 0x5855ba
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
call fcn.004052ac
jne 0x5855ba
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
call fcn.004052ac
jne 0x5855ba
cmp dword [ebp - 0x1c], 4
jne 0x5855ba
lea eax, [ebp - 0x2f4]
mov ecx, dword [ebp - 0x50]
mov edx, 0x58bbe0
call fcn.004051b4
mov edx, dword [ebp - 0x2f4]
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]
jmp 0x58562d
mov esi, dword [ebp - 0x1c]
sub esi, 1
jno 0x5855c7
call fcn.00403fe0
test esi, esi
jl 0x58562d
inc esi
mov dword [ebp - 0x20], 0
lea ebx, [ebp - 0x50]
push 0x58bc00
lea edx, [ebp - 0x2fc]
mov eax, dword [ebp - 0x20]
call fcn.00409e18
push dword [ebp - 0x2fc]
push 0x58bb24
push dword [ebx]
lea eax, [ebp - 0x2f8]
mov edx, 4
call fcn.00405228
mov edx, dword [ebp - 0x2f8]
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]
inc dword [ebp - 0x20]
add ebx, 4
dec esi
jne 0x5855d6
mov esi, dword [ebp - 0x1c]
sub esi, 1
jno 0x58563a
call fcn.00403fe0
test esi, esi
jl 0x5856ce
inc esi
mov dword [ebp - 0x20], 0
lea eax, [ebp - 0x50]
mov dword [ebp - 0x40], eax
lea edx, [ebp - 0x304]
mov eax, dword [0x5cf200]
mov eax, dword [eax]
mov eax, dword [eax + 0x378]
call fcn.0044d8e8
mov eax, dword [ebp - 0x304]
push eax
lea eax, [ebp - 0x300]
push eax
lea edx, [ebp - 0x30c]
mov eax, dword [ebp - 0x20]
add eax, 1
jno 0x585689
call fcn.00403fe0
call fcn.00409e18
mov ecx, dword [ebp - 0x30c]
lea eax, [ebp - 0x308]
mov edx, 0x58bc1c
call fcn.004051b4
mov ecx, dword [ebp - 0x308]
mov edx, 0x58bbcc
mov eax, dword [ebp - 0x38]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0x300]
mov eax, dword [ebp - 0x40]
call fcn.00404f04
inc dword [ebp - 0x20]
add dword [ebp - 0x40], 4
dec esi
jne 0x585650
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
call fcn.004052ac
jne 0x58572e
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
call fcn.004052ac
jne 0x58572e
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
call fcn.004052ac
jne 0x58572e
cmp dword [ebp - 0x1c], 4
jne 0x58572e
lea eax, [ebp - 0x310]
mov ecx, dword [ebp - 0x50]
mov edx, 0x58bc28
call fcn.004051b4
mov edx, dword [ebp - 0x310]
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]
jmp 0x5857a1
mov esi, dword [ebp - 0x1c]
sub esi, 1
jno 0x58573b
call fcn.00403fe0
test esi, esi
jl 0x5857a1
inc esi
mov dword [ebp - 0x20], 0
lea ebx, [ebp - 0x50]
push 0x58bc48
lea edx, [ebp - 0x318]
mov eax, dword [ebp - 0x20]
call fcn.00409e18
push dword [ebp - 0x318]
push 0x58bb24
push dword [ebx]
lea eax, [ebp - 0x314]
mov edx, 4
call fcn.00405228
mov edx, dword [ebp - 0x314]
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]
inc dword [ebp - 0x20]
add ebx, 4
dec esi
jne 0x58574a
mov esi, dword [ebp - 0x1c]
sub esi, 1
jno 0x5857ae
call fcn.00403fe0
test esi, esi
jl 0x58583d
inc esi
mov dword [ebp - 0x20], 0
lea ebx, [ebp - 0x50]
lea edx, [ebp - 0x320]
mov eax, dword [0x5cf200]
mov eax, dword [eax]
mov eax, dword [eax + 0x354]
call fcn.0044d8e8
mov eax, dword [ebp - 0x320]
push eax
lea eax, [ebp - 0x31c]
push eax
lea edx, [ebp - 0x328]
mov eax, dword [ebp - 0x20]
add eax, 1
jno 0x5857fa
call fcn.00403fe0
call fcn.00409e18
mov ecx, dword [ebp - 0x328]
lea eax, [ebp - 0x324]
mov edx, 0x58bc64
call fcn.004051b4
mov ecx, dword [ebp - 0x324]
mov edx, 0x58bbcc
mov eax, dword [ebp - 0x38]
mov edi, dword [eax]
call dword [edi]
mov edx, dword [ebp - 0x31c]
mov eax, ebx
call fcn.00404f04
inc dword [ebp - 0x20]
add ebx, 4
dec esi
jne 0x5857c1
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
call fcn.004052ac
jne 0x58589d
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
call fcn.004052ac
jne 0x58589d
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
call fcn.004052ac
jne 0x58589d
cmp dword [ebp - 0x1c], 4
jne 0x58589d
lea eax, [ebp - 0x32c]
mov ecx, dword [ebp - 0x50]
mov edx, 0x58bc70
call fcn.004051b4
mov edx, dword [ebp - 0x32c]
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]
jmp 0x585910
mov esi, dword [ebp - 0x1c]
sub esi, 1
jno 0x5858aa
call fcn.00403fe0
test esi, esi
jl 0x585910
inc esi
mov dword [ebp - 0x20], 0
lea ebx, [ebp - 0x50]
push 0x58bc8c
lea edx, [ebp - 0x334]
mov eax, dword [ebp - 0x20]
call fcn.00409e18
push dword [ebp - 0x334]
push 0x58bb24
push dword [ebx]
lea eax, [ebp - 0x330]
mov edx, 4
call fcn.00405228
mov edx, dword [ebp - 0x330]
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]
inc dword [ebp - 0x20]
add ebx, 4
dec esi
jne 0x5858b9
mov esi, dword [ebp - 0x1c]
sub esi, 1
jno 0x58591d
call fcn.00403fe0
test esi, esi
jl 0x5859ac
inc esi
mov dword [ebp - 0x20], 0
lea ebx, [ebp - 0x50]
lea edx, [ebp - 0x33c]
mov eax, dword [0x5cf200]
mov eax, dword [eax]
mov eax, dword [eax + 0x360]
call fcn.0044d8e8
mov eax, dword [ebp - 0x33c]
push eax
lea eax, [ebp - 0x338]
push eax
lea edx, [ebp - 0x344]
mov eax, dword [ebp - 0x20]
add eax, 1
jno 0x585969
call fcn.00403fe0
call fcn.00409e18
mov ecx, dword [ebp - 0x344]
lea eax, [ebp - 0x340]
mov edx, 0x58bca8
call fcn.004051b4
mov ecx, dword [ebp - 0x340]
mov edx, 0x58bbcc
mov eax, dword [ebp - 0x38]
mov edi, dword [eax]
call dword [edi]
mov edx, dword [ebp - 0x338]
mov eax, ebx
call fcn.00404f04
inc dword [ebp - 0x20]
add ebx, 4
dec esi
jne 0x585930
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
call fcn.004052ac
jne 0x585a0c
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
call fcn.004052ac
jne 0x585a0c
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
call fcn.004052ac
jne 0x585a0c
cmp dword [ebp - 0x1c], 4
jne 0x585a0c
lea eax, [ebp - 0x348]
mov ecx, dword [ebp - 0x50]
mov edx, 0x58bcb4
call fcn.004051b4
mov edx, dword [ebp - 0x348]
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]
jmp 0x585a7f
mov esi, dword [ebp - 0x1c]
sub esi, 1
jno 0x585a19
call fcn.00403fe0
test esi, esi
jl 0x585a7f
inc esi
mov dword [ebp - 0x20], 0
lea ebx, [ebp - 0x50]
push 0x58bcd4
lea edx, [ebp - 0x350]
mov eax, dword [ebp - 0x20]
call fcn.00409e18
push dword [ebp - 0x350]
push 0x58bb24
push dword [ebx]
lea eax, [ebp - 0x34c]
mov edx, 4
call fcn.00405228
mov edx, dword [ebp - 0x34c]
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]
inc dword [ebp - 0x20]
add ebx, 4
dec esi
jne 0x585a28
mov esi, dword [ebp - 0x1c]
sub esi, 1
jno 0x585a8c
call fcn.00403fe0
test esi, esi
jl 0x585b1b
inc esi
mov dword [ebp - 0x20], 0
lea ebx, [ebp - 0x50]
lea edx, [ebp - 0x358]
mov eax, dword [0x5cf200]
mov eax, dword [eax]
mov eax, dword [eax + 0x36c]
call fcn.0044d8e8
mov eax, dword [ebp - 0x358]
push eax
lea eax, [ebp - 0x354]
push eax
lea edx, [ebp - 0x360]
mov eax, dword [ebp - 0x20]
add eax, 1
jno 0x585ad8
call fcn.00403fe0
call fcn.00409e18
mov ecx, dword [ebp - 0x360]
lea eax, [ebp - 0x35c]
mov edx, 0x58bcf0
call fcn.004051b4
mov ecx, dword [ebp - 0x35c]
mov edx, 0x58bbcc
mov eax, dword [ebp - 0x38]
mov edi, dword [eax]
call dword [edi]
mov edx, dword [ebp - 0x354]
mov eax, ebx
call fcn.00404f04
inc dword [ebp - 0x20]
add ebx, 4
dec esi
jne 0x585a9f
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
call fcn.004052ac
jne 0x585b7b
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
call fcn.004052ac
jne 0x585b7b
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
call fcn.004052ac
jne 0x585b7b
cmp dword [ebp - 0x1c], 4
jne 0x585b7b
lea eax, [ebp - 0x364]
mov ecx, dword [ebp - 0x50]
mov edx, 0x58bcfc
call fcn.004051b4
mov edx, dword [ebp - 0x364]
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]
jmp 0x585bee
mov esi, dword [ebp - 0x1c]
sub esi, 1
jno 0x585b88
call fcn.00403fe0
test esi, esi
jl 0x585bee
inc esi
mov dword [ebp - 0x20], 0
lea ebx, [ebp - 0x50]
push 0x58bd1c
lea edx, [ebp - 0x36c]
mov eax, dword [ebp - 0x20]
call fcn.00409e18
push dword [ebp - 0x36c]
push 0x58bb24
push dword [ebx]
lea eax, [ebp - 0x368]
mov edx, 4
call fcn.00405228
mov edx, dword [ebp - 0x368]
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]
inc dword [ebp - 0x20]
add ebx, 4
dec esi
jne 0x585b97
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x58ba2c
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, 0x58bd38
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, 0x58ba2c
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov esi, dword [ebp - 0x1c]
sub esi, 1
jno 0x585c52
call fcn.00403fe0
test esi, esi
jl 0x585ce1
inc esi
mov dword [ebp - 0x20], 0
lea ebx, [ebp - 0x50]
lea edx, [ebp - 0x374]
mov eax, dword [0x5cf200]
mov eax, dword [eax]
mov eax, dword [eax + 0x38c]
call fcn.0044d8e8
mov eax, dword [ebp - 0x374]
push eax
lea eax, [ebp - 0x370]
push eax
lea edx, [ebp - 0x37c]
mov eax, dword [ebp - 0x20]
add eax, 1
jno 0x585c9e
call fcn.00403fe0
call fcn.00409e18
mov ecx, dword [ebp - 0x37c]
lea eax, [ebp - 0x378]
mov edx, 0x58bd90
call fcn.004051b4
mov ecx, dword [ebp - 0x378]
mov edx, 0x58bdb0
mov eax, dword [ebp - 0x38]
mov edi, dword [eax]
call dword [edi]
mov edx, dword [ebp - 0x370]
mov eax, ebx
call fcn.00404f04
inc dword [ebp - 0x20]
add ebx, 4
dec esi
jne 0x585c65
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
call fcn.004052ac
jne 0x585d41
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
call fcn.004052ac
jne 0x585d41
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
call fcn.004052ac
jne 0x585d41
cmp dword [ebp - 0x1c], 4
jne 0x585d41
lea eax, [ebp - 0x380]
mov ecx, dword [ebp - 0x50]
mov edx, 0x58bdd0
call fcn.004051b4
mov edx, dword [ebp - 0x380]
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]
jmp 0x585db4
mov esi, dword [ebp - 0x1c]
sub esi, 1
jno 0x585d4e
call fcn.00403fe0
test esi, esi
jl 0x585db4
inc esi
mov dword [ebp - 0x20], 0
lea ebx, [ebp - 0x50]
push 0x58bdf0
lea edx, [ebp - 0x388]
mov eax, dword [ebp - 0x20]
call fcn.00409e18
push dword [ebp - 0x388]
push 0x58bb24
push dword [ebx]
lea eax, [ebp - 0x384]
mov edx, 4
call fcn.00405228
mov edx, dword [ebp - 0x384]
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]
inc dword [ebp - 0x20]
add ebx, 4
dec esi
jne 0x585d5d
mov esi, dword [ebp - 0x1c]
sub esi, 1
jno 0x585dc1
call fcn.00403fe0
test esi, esi
jl 0x585e50
inc esi
mov dword [ebp - 0x20], 0
lea ebx, [ebp - 0x50]
lea edx, [ebp - 0x390]
mov eax, dword [0x5cf200]
mov eax, dword [eax]
mov eax, dword [eax + 0x398]
call fcn.0044d8e8
mov eax, dword [ebp - 0x390]
push eax
lea eax, [ebp - 0x38c]
push eax
lea edx, [ebp - 0x398]
mov eax, dword [ebp - 0x20]
add eax, 1
jno 0x585e0d
call fcn.00403fe0
call fcn.00409e18
mov ecx, dword [ebp - 0x398]
lea eax, [ebp - 0x394]
mov edx, 0x58be0c
call fcn.004051b4
mov ecx, dword [ebp - 0x394]
mov edx, 0x58bdb0
mov eax, dword [ebp - 0x38]
mov edi, dword [eax]
call dword [edi]
mov edx, dword [ebp - 0x38c]
mov eax, ebx
call fcn.00404f04
inc dword [ebp - 0x20]
add ebx, 4
dec esi
jne 0x585dd4
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
call fcn.004052ac
jne 0x585eb0
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
call fcn.004052ac
jne 0x585eb0
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
call fcn.004052ac
jne 0x585eb0
cmp dword [ebp - 0x1c], 4
jne 0x585eb0
lea eax, [ebp - 0x39c]
mov ecx, dword [ebp - 0x50]
mov edx, 0x58be20
call fcn.004051b4
mov edx, dword [ebp - 0x39c]
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]
jmp 0x585f23
mov esi, dword [ebp - 0x1c]
sub esi, 1
jno 0x585ebd
call fcn.00403fe0
test esi, esi
jl 0x585f23
inc esi
mov dword [ebp - 0x20], 0
lea ebx, [ebp - 0x50]
push 0x58be3c
lea edx, [ebp - 0x3a4]
mov eax, dword [ebp - 0x20]
call fcn.00409e18
push dword [ebp - 0x3a4]
push 0x58bb24
push dword [ebx]
lea eax, [ebp - 0x3a0]
mov edx, 4
call fcn.00405228
mov edx, dword [ebp - 0x3a0]
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]
inc dword [ebp - 0x20]
add ebx, 4
dec esi
jne 0x585ecc
mov esi, dword [ebp - 0x1c]
sub esi, 1
jno 0x585f30
call fcn.00403fe0
test esi, esi
jl 0x585fbf
inc esi
mov dword [ebp - 0x20], 0
lea ebx, [ebp - 0x50]
lea edx, [ebp - 0x3ac]
mov eax, dword [0x5cf200]
mov eax, dword [eax]
mov eax, dword [eax + 0x3a4]
call fcn.0044d8e8
mov eax, dword [ebp - 0x3ac]
push eax
lea eax, [ebp - 0x3a8]
push eax
lea edx, [ebp - 0x3b4]
mov eax, dword [ebp - 0x20]
add eax, 1
jno 0x585f7c
call fcn.00403fe0
call fcn.00409e18
mov ecx, dword [ebp - 0x3b4]
lea eax, [ebp - 0x3b0]
mov edx, 0x58be54
call fcn.004051b4
mov ecx, dword [ebp - 0x3b0]
mov edx, 0x58bdb0
mov eax, dword [ebp - 0x38]
mov edi, dword [eax]
call dword [edi]
mov edx, dword [ebp - 0x3a8]
mov eax, ebx
call fcn.00404f04
inc dword [ebp - 0x20]
add ebx, 4
dec esi
jne 0x585f43
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
call fcn.004052ac
jne 0x58601f
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
call fcn.004052ac
jne 0x58601f
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
call fcn.004052ac
jne 0x58601f
cmp dword [ebp - 0x1c], 4
jne 0x58601f
lea eax, [ebp - 0x3b8]
mov ecx, dword [ebp - 0x50]
mov edx, 0x58be68
call fcn.004051b4
mov edx, dword [ebp - 0x3b8]
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]
jmp 0x586092
mov esi, dword [ebp - 0x1c]
sub esi, 1
jno 0x58602c
call fcn.00403fe0
test esi, esi
jl 0x586092
inc esi
mov dword [ebp - 0x20], 0
lea ebx, [ebp - 0x50]
push 0x58be88
lea edx, [ebp - 0x3c0]
mov eax, dword [ebp - 0x20]
call fcn.00409e18
push dword [ebp - 0x3c0]
push 0x58bb24
push dword [ebx]
lea eax, [ebp - 0x3bc]
mov edx, 4
call fcn.00405228
mov edx, dword [ebp - 0x3bc]
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]
inc dword [ebp - 0x20]
add ebx, 4
dec esi
jne 0x58603b
mov esi, dword [ebp - 0x1c]
sub esi, 1
jno 0x58609f
call fcn.00403fe0
test esi, esi
jl 0x586141
inc esi
mov dword [ebp - 0x20], 0
lea ebx, [ebp - 0x14]
lea eax, [ebp - 0x50]
mov dword [ebp - 0x40], eax
mov eax, dword [0x5cf200]
mov eax, dword [eax]
mov eax, dword [eax + 0x3ac]
mov edx, dword [eax]
call dword [edx + 0xc4]
push eax
lea edx, [ebp - 0x3c8]
mov eax, dword [ebp - 0x20]
add eax, 1
jno 0x5860e1
call fcn.00403fe0
call fcn.00409e18
mov ecx, dword [ebp - 0x3c8]
lea eax, [ebp - 0x3c4]
mov edx, 0x58bea4
call fcn.004051b4
mov ecx, dword [ebp - 0x3c4]
mov edx, 0x58bdb0
mov eax, dword [ebp - 0x38]
mov edi, dword [eax]
call dword [edi + 0x10]
mov byte [ebx], al
cmp byte [ebx], 0
je 0x586125
mov eax, dword [ebp - 0x40]
mov edx, 0x58bebc
call fcn.00404f04
jmp 0x586132
mov eax, dword [ebp - 0x40]
mov edx, 0x58becc
call fcn.00404f04
inc dword [ebp - 0x20]
add dword [ebp - 0x40], 4
inc ebx
dec esi
jne 0x5860b8
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
call fcn.004052ac
jne 0x5861a1
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
call fcn.004052ac
jne 0x5861a1
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
call fcn.004052ac
jne 0x5861a1
cmp dword [ebp - 0x1c], 4
jne 0x5861a1
lea eax, [ebp - 0x3cc]
mov ecx, dword [ebp - 0x50]
mov edx, 0x58bedc
call fcn.004051b4
mov edx, dword [ebp - 0x3cc]
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]
jmp 0x58621b
mov esi, dword [ebp - 0x1c]
sub esi, 1
jno 0x5861ae
call fcn.00403fe0
test esi, esi
jl 0x58621b
inc esi
mov dword [ebp - 0x20], 0
lea eax, [ebp - 0x50]
mov dword [ebp - 0x40], eax
push 0x58bf00
lea edx, [ebp - 0x3d4]
mov eax, dword [ebp - 0x20]
call fcn.00409e18
push dword [ebp - 0x3d4]
push 0x58bb24
mov eax, dword [ebp - 0x40]
push dword [eax]
lea eax, [ebp - 0x3d0]
mov edx, 4
call fcn.00405228
mov edx, dword [ebp - 0x3d0]
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]
inc dword [ebp - 0x20]
add dword [ebp - 0x40], 4
dec esi
jne 0x5861c0
mov eax, dword [0x5cfba0]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x220]
mov edx, 0x58ba2c
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, 0x58bf20
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, 0x58ba2c
mov ecx, dword [eax]
call dword [ecx + 0x38]
push 1
push 0x58bf78
lea edx, [ebp - 0x3dc]
mov eax, dword [0x5cf16c]
movzx eax, byte [eax]
call fcn.00409e18
push dword [ebp - 0x3dc]
push 0x58bf88
lea eax, [ebp - 0x3d8]
mov edx, 3
call fcn.00405228
mov ecx, dword [ebp - 0x3d8]
mov edx, 0x58bf94
mov eax, dword [ebp - 0x38]
mov ebx, dword [eax]
call dword [ebx + 8]
mov dword [ebp - 0x24], eax
mov ecx, 0x58bfac
mov dl, 1
mov eax, dword [0x46f678]
call fcn.0046f728
mov dword [ebp - 0x3c], eax
xor eax, eax
push ebp
push 0x5863c2
push dword fs:[eax]
mov dword fs:[eax], esp
mov esi, dword [ebp - 0x24]
sub esi, 1
jno 0x5862ec
call fcn.00403fe0
test esi, esi
jl 0x5863ac
inc esi
mov dword [ebp - 0x20], 0
lea eax, [ebp - 0x50]
mov dword [ebp - 0x40], eax
lea edx, [ebp - 0x3e4]
mov eax, dword [0x5cf200]
mov eax, dword [eax]
mov eax, dword [eax + 0x314]
call fcn.0044d8e8
mov eax, dword [ebp - 0x3e4]
push eax
lea eax, [ebp - 0x3e0]
push eax
push 0x58bfcc
lea edx, [ebp - 0x3ec]
mov eax, dword [0x5cf16c]
movzx eax, byte [eax]
call fcn.00409e18
push dword [ebp - 0x3ec]
push 0x58bfe8
lea edx, [ebp - 0x3f0]
mov eax, dword [ebp - 0x20]
add eax, 1
jno 0x58635e
call fcn.00403fe0
call fcn.00409e18
push dword [ebp - 0x3f0]
push 0x58bf88
lea eax, [ebp - 0x3e8]
mov edx, 5
call fcn.00405228
mov ecx, dword [ebp - 0x3e8]
mov edx, 0x58bf94
mov eax, dword [ebp - 0x3c]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0x3e0]
mov eax, dword [ebp - 0x40]
call fcn.00404f04
inc dword [ebp - 0x20]
add dword [ebp - 0x40], 4
dec esi
jne 0x586302
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5863c9
mov eax, dword [ebp - 0x3c]
call fcn.004040a0
ret