Function at 0x58bba0
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x25
push 0
push 0
dec ecx
jne 0x58bba8
push ecx
push ebx
push esi
push edi
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x58cf38
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x18]
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
mov eax, dword [eax + 0x2c8]
call fcn.00408fbc
mov edx, dword [ebp - 0x18]
mov eax, 0x58cf50
call fcn.0040447c
test eax, eax
jle 0x58bdc7
push 0
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb0]
mov ecx, dword [ebp - 0x18]
mov edx, 0x58cf50
call fcn.0050af8c
cmp dword [ebp - 0x1c], 0
jne 0x58bdc7
lea edx, [ebp - 0x24]
mov eax, dword [ebp - 0x18]
call fcn.00409adc
mov eax, dword [ebp - 0x24]
lea edx, [ebp - 0x20]
call fcn.00408f80
mov eax, dword [ebp - 0x20]
push eax
lea edx, [ebp - 0x28]
xor eax, eax
call fcn.0059743c
lea eax, [ebp - 0x28]
mov edx, 0x58cf60
call fcn.00404198
mov edx, dword [ebp - 0x28]
pop eax
call fcn.004042a0
jne 0x58bdc7
lea edx, [ebp - 0x2c]
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x31c]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x2c]
push eax
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 0x18]
call fcn.00409c00
mov eax, dword [ebp - 0x30]
pop edx
call fcn.0040447c
test eax, eax
jne 0x58bdc7
lea edx, [ebp - 0x34]
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x320]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x34]
push eax
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 0x18]
call fcn.00409c00
mov eax, dword [ebp - 0x38]
pop edx
call fcn.0040447c
test eax, eax
jne 0x58bdc7
lea eax, [ebp - 0x3c]
mov ecx, 0x58cf6c
mov edx, dword [ebp - 0x18]
call fcn.004041dc
mov edx, dword [ebp - 0x3c]
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
call fcn.00413a78
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2fc]
cmp byte [eax + 0x47], 1
jne 0x58bdc7
mov edx, dword [0x645780]
cmp byte [eax + 0x2c8], 0
je 0x58bdc7
mov eax, dword [ebp - 0x18]
call fcn.0040998c
test al, al
jne 0x58bd56
push 4
lea eax, [ebp - 0x40]
mov ecx, 0x58cf88
mov edx, dword [ebp - 0x18]
call fcn.004041dc
mov eax, dword [ebp - 0x40]
call fcn.00404354
push eax
mov eax, dword [ebp - 0x18]
call fcn.00404354
push eax
call sub.kernel32.dll_MoveFileExA
mov eax, dword [ebp - 0x18]
call fcn.00589e04
lea eax, [ebp - 0x44]
mov ecx, 0x58cf6c
mov edx, dword [ebp - 0x18]
call fcn.004041dc
mov edx, dword [ebp - 0x44]
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
call fcn.00413a78
mov eax, dword [0x6456e0]
cmp byte [eax], 0
je 0x58bdaa
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
mov edx, 0x58cfa8
call fcn.00413a78
jmp 0x58bdc7
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
mov edx, 0x58cfc0
call fcn.00413a78
mov edx, dword [ebp - 0x18]
mov eax, 0x58cfdc
call fcn.0040447c
test eax, eax
jle 0x58c126
push 0
lea eax, [ebp - 0x48]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb0]
mov ecx, dword [ebp - 0x18]
mov edx, 0x58cfdc
call fcn.0050af8c
cmp dword [ebp - 0x48], 0
jne 0x58c126
lea edx, [ebp - 0x4c]
mov eax, dword [ebp - 0x18]
call fcn.00409c00
mov eax, dword [ebp - 0x4c]
call fcn.00404190
cmp eax, 8
jle 0x58c126
mov edx, dword [ebp - 0x18]
mov eax, 0x58cfec
call fcn.0040447c
test eax, eax
jne 0x58c126
lea edx, [ebp - 0x54]
mov eax, dword [ebp - 0x18]
call fcn.00409adc
mov eax, dword [ebp - 0x54]
lea edx, [ebp - 0x50]
call fcn.00408f80
mov eax, dword [ebp - 0x50]
push eax
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0059743c
push dword [ebp - 0x5c]
push 0x58cf60
push 0x58cff8
lea eax, [ebp - 0x58]
mov edx, 3
call fcn.00404250
mov edx, dword [ebp - 0x58]
pop eax
call fcn.004042a0
je 0x58bebc
lea edx, [ebp - 0x64]
mov eax, dword [ebp - 0x18]
call fcn.00409adc
mov eax, dword [ebp - 0x64]
lea edx, [ebp - 0x60]
call fcn.00408f80
mov eax, dword [ebp - 0x60]
push eax
lea edx, [ebp - 0x68]
xor eax, eax
call fcn.0059743c
lea eax, [ebp - 0x68]
mov edx, 0x58cf60
call fcn.00404198
mov edx, dword [ebp - 0x68]
pop eax
call fcn.004042a0
jne 0x58c126
lea edx, [ebp - 0x6c]
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x31c]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x6c]
push eax
lea edx, [ebp - 0x70]
mov eax, dword [ebp - 0x18]
call fcn.00409c00
mov eax, dword [ebp - 0x70]
pop edx
call fcn.0040447c
test eax, eax
jne 0x58c126
lea edx, [ebp - 0x74]
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x320]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x74]
push eax
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0x18]
call fcn.00409c00
mov eax, dword [ebp - 0x78]
pop edx
call fcn.0040447c
test eax, eax
jne 0x58c126
mov eax, dword [0x6450fc]
mov eax, dword [eax]
cmp byte [eax + 0x312], 0
jne 0x58bf46
mov eax, dword [0x6450fc]
mov eax, dword [eax]
cmp byte [eax + 0x311], 0
je 0x58bf73
lea eax, [ebp - 0x7c]
mov ecx, 0x58d00c
mov edx, dword [ebp - 0x18]
call fcn.004041dc
mov edx, dword [ebp - 0x7c]
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
call fcn.00413a78
jmp 0x58bfad
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
mov edx, 0x58d070
call fcn.00413a78
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
mov edx, 0x58d090
call fcn.00413a78
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x430]
mov edx, dword [ebp - 0x18]
mov ecx, dword [eax]
call dword [ecx + 0x50]
inc eax
jne 0x58bfea
lea eax, [ebp - 0x80]
mov ecx, dword [ebp - 0x18]
mov edx, 0x58d0f0
call fcn.004041dc
mov edx, dword [ebp - 0x80]
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x430]
call fcn.00413a78
mov eax, dword [0x6450fc]
mov eax, dword [eax]
cmp byte [eax + 0x311], 0
jne 0x58c027
mov eax, dword [0x6450fc]
mov eax, dword [eax]
cmp byte [eax + 0x312], 0
jne 0x58c027
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
mov edx, 0x58d100
call fcn.00413a78
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2fc]
cmp byte [eax + 0x47], 1
jne 0x58c126
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2fc]
cmp byte [eax + 0x2c8], 0
je 0x58c126
mov eax, dword [0x6456c8]
mov eax, dword [eax]
call fcn.0061b8c8
test al, al
je 0x58c126
mov eax, dword [ebp - 0x18]
call fcn.0040998c
test al, al
jne 0x58c0af
push 4
lea eax, [ebp - 0x84]
mov ecx, 0x58cf88
mov edx, dword [ebp - 0x18]
call fcn.004041dc
mov eax, dword [ebp - 0x84]
call fcn.00404354
push eax
mov eax, dword [ebp - 0x18]
call fcn.00404354
push eax
call sub.kernel32.dll_MoveFileExA
mov eax, dword [ebp - 0x18]
call fcn.00589e04
lea eax, [ebp - 0x88]
mov ecx, 0x58d168
mov edx, dword [ebp - 0x18]
call fcn.004041dc
mov edx, dword [ebp - 0x88]
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
call fcn.00413a78
mov eax, dword [0x6456e0]
cmp byte [eax], 0
je 0x58c109
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
mov edx, 0x58cfa8
call fcn.00413a78
jmp 0x58c126
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
mov edx, 0x58cfc0
call fcn.00413a78
mov edx, dword [ebp - 0x18]
mov eax, 0x58cf50
call fcn.0040447c
test eax, eax
jle 0x58c385
push 0
lea eax, [ebp - 0x8c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb0]
mov ecx, dword [ebp - 0x18]
mov edx, 0x58cf50
call fcn.0050af8c
cmp dword [ebp - 0x8c], 0
jne 0x58c385
lea edx, [ebp - 0x94]
mov eax, dword [ebp - 0x18]
call fcn.00409adc
mov eax, dword [ebp - 0x94]
lea edx, [ebp - 0x90]
call fcn.00408f80
mov eax, dword [ebp - 0x90]
push eax
lea edx, [ebp - 0x9c]
xor eax, eax
call fcn.0059743c
push dword [ebp - 0x9c]
push 0x58cf60
push 0x58cff8
lea eax, [ebp - 0x98]
mov edx, 3
call fcn.00404250
mov edx, dword [ebp - 0x98]
pop eax
call fcn.004042a0
jne 0x58c385
lea edx, [ebp - 0xa0]
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x31c]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0xa0]
push eax
lea edx, [ebp - 0xa4]
mov eax, dword [ebp - 0x18]
call fcn.00409c00
mov eax, dword [ebp - 0xa4]
pop edx
call fcn.0040447c
test eax, eax
jne 0x58c385
lea edx, [ebp - 0xa8]
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x320]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0xa8]
push eax
lea edx, [ebp - 0xac]
mov eax, dword [ebp - 0x18]
call fcn.00409c00
mov eax, dword [ebp - 0xac]
pop edx
call fcn.0040447c
test eax, eax
jne 0x58c385
mov eax, dword [0x6450fc]
mov eax, dword [eax]
cmp byte [eax + 0x311], 0
jne 0x58c280
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
mov edx, 0x58d184
call fcn.00413a78
jmp 0x58c385
lea eax, [ebp - 0xb0]
mov ecx, 0x58d1b4
mov edx, dword [ebp - 0x18]
call fcn.004041dc
mov edx, dword [ebp - 0xb0]
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
call fcn.00413a78
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2fc]
cmp byte [eax + 0x2c8], 0
je 0x58c385
mov eax, dword [ebp - 0x18]
call fcn.0040998c
test al, al
jne 0x58c30e
push 4
lea eax, [ebp - 0xb4]
mov ecx, 0x58cf88
mov edx, dword [ebp - 0x18]
call fcn.004041dc
mov eax, dword [ebp - 0xb4]
call fcn.00404354
push eax
mov eax, dword [ebp - 0x18]
call fcn.00404354
push eax
call sub.kernel32.dll_MoveFileExA
mov eax, dword [ebp - 0x18]
call fcn.00589e04
lea eax, [ebp - 0xb8]
mov ecx, 0x58d210
mov edx, dword [ebp - 0x18]
call fcn.004041dc
mov edx, dword [ebp - 0xb8]
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
call fcn.00413a78
mov eax, dword [0x6456e0]
cmp byte [eax], 0
je 0x58c368
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
mov edx, 0x58cfa8
call fcn.00413a78
jmp 0x58c385
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
mov edx, 0x58cfc0
call fcn.00413a78
xor eax, eax
push ebp
push 0x58c502
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x10]
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
mov edx, dword [eax + 0x2c8]
mov eax, dword [ebp - 4]
call fcn.0058b69c
mov eax, dword [ebp - 0x10]
call fcn.00404190
cmp eax, 5
jge 0x58c4f8
lea edx, [ebp - 0xbc]
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
call fcn.004f32b8
mov eax, dword [ebp - 0xbc]
lea edx, [ebp - 0xc]
call fcn.00408fbc
push 0
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb0]
mov ecx, dword [ebp - 0xc]
mov edx, 0x58d22c
call fcn.0050af8c
mov edx, dword [ebp - 8]
mov eax, 0x58d244
call fcn.0040447c
test eax, eax
jg 0x58c42a
mov edx, dword [ebp - 8]
mov eax, 0x58d274
call fcn.0040447c
test eax, eax
jle 0x58c4f8
lea edx, [ebp - 0xc0]
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
mov eax, dword [eax + 0x2c8]
call fcn.00408fbc
mov edx, dword [ebp - 0xc0]
mov eax, 0x58d2a4
call fcn.0040447c
test eax, eax
jne 0x58c4f8
mov eax, dword [0x6456e0]
cmp byte [eax], 0
je 0x58c4ad
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
mov edx, dword [eax + 0x2c8]
lea eax, [ebp - 0xc4]
mov ecx, 0x58d2b8
call fcn.004041dc
mov edx, dword [ebp - 0xc4]
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
call fcn.00413a78
jmp 0x58c4f8
push 0x58d2cc
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
push dword [eax + 0x2c8]
push 0x58d2dc
lea eax, [ebp - 0xc8]
mov edx, 3
call fcn.00404250
mov edx, dword [ebp - 0xc8]
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
call fcn.00413a78
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x58c50c
xor edx, edx
push ebp
push 0x58ccfc
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
mov eax, dword [eax + 0x2c8]
call fcn.0040985c
test al, 2
je 0x58c61c
mov edx, dword [ebp - 0x18]
mov eax, 0x58d308
call fcn.0040447c
test eax, eax
jne 0x58c61c
mov edx, dword [ebp - 0x18]
mov eax, 0x58d320
call fcn.0040447c
test eax, eax
jne 0x58c61c
mov edx, dword [ebp - 0x18]
mov eax, 0x58d338
call fcn.0040447c
test eax, eax
jne 0x58c61c
mov edx, dword [ebp - 0x18]
mov eax, 0x58d34c
call fcn.0040447c
test eax, eax
jne 0x58c61c
mov eax, dword [0x6456e0]
cmp byte [eax], 0
je 0x58c5db
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
mov edx, dword [eax + 0x2c8]
lea eax, [ebp - 0xcc]
mov ecx, 0x58d360
call fcn.004041dc
mov edx, dword [ebp - 0xcc]
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
call fcn.00413a78
jmp 0x58c61c
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
mov ecx, dword [eax + 0x2c8]
lea eax, [ebp - 0xd0]
mov edx, 0x58d388
call fcn.004041dc
mov edx, dword [ebp - 0xd0]
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
call fcn.00413a78
mov edx, dword [ebp - 0x18]
mov eax, 0x58d3a4
call fcn.0040447c
test eax, eax
jne 0x58ccf2
mov edx, dword [ebp - 0x18]
mov eax, 0x58d3b4
call fcn.0040447c
test eax, eax
jne 0x58ccf2
mov edx, dword [ebp - 0x18]
mov eax, 0x58d3c4
call fcn.0040447c
test eax, eax
jne 0x58ccf2
mov edx, dword [ebp - 0x18]
mov eax, 0x58d3d4
call fcn.0040447c
test eax, eax
jne 0x58ccf2
lea edx, [ebp - 0xd4]
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
call fcn.004f32b8
mov eax, dword [ebp - 0xd4]
lea edx, [ebp - 0x14]
call fcn.00408f80
lea edx, [ebp - 0xd8]
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
call fcn.004f32b8
mov edx, dword [ebp - 0xd8]
mov eax, 0x58d3ec
call fcn.0040447c
test eax, eax
jle 0x58c703
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
mov edx, dword [eax + 0x2c8]
lea eax, [ebp - 0xdc]
mov ecx, 0x58d3fc
call fcn.004041dc
mov edx, dword [ebp - 0xdc]
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
call fcn.00413a78
lea edx, [ebp - 0xe0]
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
call fcn.004f32b8
mov edx, dword [ebp - 0xe0]
mov eax, 0x58d414
call fcn.0040447c
test eax, eax
jle 0x58c770
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
mov edx, dword [eax + 0x2c8]
lea eax, [ebp - 0xe4]
mov ecx, 0x58d3fc
call fcn.004041dc
mov edx, dword [ebp - 0xe4]
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
call fcn.00413a78
lea edx, [ebp - 0xe8]
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
call fcn.004f32b8
mov edx, dword [ebp - 0xe8]
mov eax, 0x58d424
call fcn.0040447c
test eax, eax
jle 0x58c7dd
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
mov edx, dword [eax + 0x2c8]
lea eax, [ebp - 0xec]
mov ecx, 0x58d3fc
call fcn.004041dc
mov edx, dword [ebp - 0xec]
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
call fcn.00413a78
mov edx, dword [ebp - 0x14]
mov eax, 0x58d434
call fcn.0040447c
test eax, eax
jle 0x58c82f
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
mov edx, dword [eax + 0x2c8]
lea eax, [ebp - 0xf0]
mov ecx, 0x58d3fc
call fcn.004041dc
mov edx, dword [ebp - 0xf0]
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
call fcn.00413a78
lea edx, [ebp - 0xf4]
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
call fcn.004f32b8
mov edx, dword [ebp - 0xf4]
mov eax, 0x58d444
call fcn.0040447c
test eax, eax
jle 0x58c89c
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
mov edx, dword [eax + 0x2c8]
lea eax, [ebp - 0xf8]
mov ecx, 0x58d458
call fcn.004041dc
mov edx, dword [ebp - 0xf8]
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
call fcn.00413a78
lea edx, [ebp - 0xfc]
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
call fcn.004f32b8
mov edx, dword [ebp - 0xfc]
mov eax, 0x58d474
call fcn.0040447c
test eax, eax
jle 0x58c909
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
mov edx, dword [eax + 0x2c8]
lea eax, [ebp - 0x100]
mov ecx, 0x58d3fc
call fcn.004041dc
mov edx, dword [ebp - 0x100]
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
call fcn.00413a78
mov edx, dword [ebp - 0x14]
mov eax, 0x58d484
call fcn.0040447c
test eax, eax
jle 0x58c95b
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
mov edx, dword [eax + 0x2c8]
lea eax, [ebp - 0x104]
mov ecx, 0x58d494
call fcn.004041dc
mov edx, dword [ebp - 0x104]
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
call fcn.00413a78
mov edx, dword [ebp - 0x14]
mov eax, 0x58d4ac
call fcn.0040447c
test eax, eax
jle 0x58c9ad
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
mov edx, dword [eax + 0x2c8]
lea eax, [ebp - 0x108]
mov ecx, 0x58d494
call fcn.004041dc
mov edx, dword [ebp - 0x108]
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
call fcn.00413a78
mov edx, dword [ebp - 0x14]
mov eax, 0x58d4bc
call fcn.0040447c
test eax, eax
jle 0x58ca71
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
mov edx, dword [eax + 0x2c8]
mov eax, 0x58d4cc
call fcn.0040447c
test eax, eax
jne 0x58ca71
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
mov edx, dword [eax + 0x2c8]
lea eax, [ebp - 0x10c]
mov ecx, 0x58d4e8
call fcn.004041dc
mov edx, dword [ebp - 0x10c]
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
call fcn.00413a78
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
mov eax, dword [eax + 0x2c8]
call fcn.0057a154
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2fc]
cmp byte [eax + 0x2c8], 0
je 0x58ca71
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
mov edx, dword [eax + 0x2c8]
mov eax, dword [ebp - 4]
call fcn.0057a398
mov edx, dword [ebp - 0x14]
mov eax, 0x58d504
call fcn.0040447c
test eax, eax
jle 0x58cb10
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
mov edx, dword [eax + 0x2c8]
lea eax, [ebp - 0x110]
mov ecx, 0x58d518
call fcn.004041dc
mov edx, dword [ebp - 0x110]
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
call fcn.00413a78
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
mov eax, dword [eax + 0x2c8]
call fcn.0057a154
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2fc]
cmp byte [eax + 0x2c8], 0
je 0x58cb10
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
mov edx, dword [eax + 0x2c8]
mov eax, dword [ebp - 4]
call fcn.0057a398
mov edx, dword [ebp - 0x14]
mov eax, 0x58d538
call fcn.0040447c
test eax, eax
jle 0x58cbaf
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
mov edx, dword [eax + 0x2c8]
lea eax, [ebp - 0x114]
mov ecx, 0x58d548
call fcn.004041dc
mov edx, dword [ebp - 0x114]
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
call fcn.00413a78
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
mov eax, dword [eax + 0x2c8]
call fcn.0057a154
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2fc]
cmp byte [eax + 0x2c8], 0
je 0x58cbaf
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
mov edx, dword [eax + 0x2c8]
mov eax, dword [ebp - 4]
call fcn.0057a398
mov edx, dword [ebp - 0x14]
mov eax, 0x58d564
call fcn.0040447c
test eax, eax
jle 0x58cc01
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
mov edx, dword [eax + 0x2c8]
lea eax, [ebp - 0x118]
mov ecx, 0x58d574
call fcn.004041dc
mov edx, dword [ebp - 0x118]
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
call fcn.00413a78
mov edx, dword [ebp - 0x14]
mov eax, 0x58d590
call fcn.0040447c
test eax, eax
jle 0x58cc53
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
mov edx, dword [eax + 0x2c8]
lea eax, [ebp - 0x11c]
mov ecx, 0x58d5a0
call fcn.004041dc
mov edx, dword [ebp - 0x11c]
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
call fcn.00413a78
mov edx, dword [ebp - 0x14]
mov eax, 0x58d5bc
call fcn.0040447c
test eax, eax
jle 0x58ccf2
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
mov edx, dword [eax + 0x2c8]
lea eax, [ebp - 0x120]
mov ecx, 0x58d5cc
call fcn.004041dc
mov edx, dword [ebp - 0x120]
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
call fcn.00413a78
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
mov eax, dword [eax + 0x2c8]
call fcn.0057a154
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2fc]
cmp byte [eax + 0x2c8], 0
je 0x58ccf2
mov eax, dword [0x6456c8]
mov eax, dword [eax]
mov eax, dword [eax + 0x380]
mov edx, dword [eax + 0x2c8]
mov eax, dword [ebp - 4]
call fcn.0057a398
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x58cd06
mov edx, dword [ebp - 0x18]
mov eax, 0x58d5e8
call fcn.0040447c
test eax, eax
jg 0x58cda7
mov edx, dword [ebp - 0x18]
mov eax, 0x58d5fc
call fcn.0040447c
test eax, eax
jg 0x58cda7
mov edx, dword [ebp - 0x18]
mov eax, 0x58d614
call fcn.0040447c
test eax, eax
jg 0x58cda7
mov edx, dword [ebp - 0x18]
mov eax, 0x58d630
call fcn.0040447c
test eax, eax
jle 0x58cd5f
mov edx, dword [ebp - 0x18]
mov eax, 0x58d644
call fcn.0040447c
test eax, eax
je 0x58cda7
mov edx, dword [ebp - 0x18]
mov eax, 0x58d650
call fcn.0040447c
test eax, eax
jg 0x58cda7
mov edx, dword [ebp - 0x18]
mov eax, 0x58d670
call fcn.0040447c
test eax, eax
jg 0x58cda7
mov edx, dword [ebp - 0x18]
mov eax, 0x58d690
call fcn.0040447c
test eax, eax
jg 0x58cda7
mov edx, dword [ebp - 0x18]
mov eax, 0x58d6a4
call fcn.0040447c
test eax, eax
jle 0x58ce76
mov edx, dword [ebp - 0x18]
mov eax, 0x58d6b0
call fcn.0040447c
test eax, eax
jne 0x58ce76
mov edx, dword [ebp - 0x18]
mov eax, 0x58d6c8
call fcn.0040447c
test eax, eax
jne 0x58ce76
mov edx, dword [ebp - 0x18]
mov eax, 0x58d6e0
call fcn.0040447c
test eax, eax
jne 0x58ce76
mov edx, dword [ebp - 0x18]
mov eax, 0x58d6f4
call fcn.0040447c
test eax, eax
jne 0x58ce76
mov edx, dword [ebp - 0x18]
mov eax, 0x58d70c
call fcn.0040447c
test eax, eax
jne 0x58ce76
mov eax, dword [0x6456e0]
cmp byte [eax], 0
je 0x58ce45
lea eax, [ebp - 0x124]
mov ecx, 0x58d724
mov edx, dword [ebp - 0x18]
call fcn.004041dc
mov edx, dword [ebp - 0x124]
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
call fcn.00413a78
jmp 0x58ce76
lea eax, [ebp - 0x128]
mov ecx, dword [ebp - 0x18]
mov edx, 0x58d73c
call fcn.004041dc
mov edx, dword [ebp - 0x128]
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
call fcn.00413a78
mov edx, dword [ebp - 0x18]
mov eax, 0x58d754
call fcn.0040447c
test eax, eax
jle 0x58cf1a
mov edx, dword [ebp - 0x18]
mov eax, 0x58d760
call fcn.0040447c
test eax, eax
jne 0x58cf1a
mov edx, dword [ebp - 0x18]
mov eax, 0x58d774
call fcn.0040447c
test eax, eax
jne 0x58cf1a
mov edx, dword [ebp - 0x18]
mov eax, 0x58d78c
call fcn.0040447c
test eax, eax
jne 0x58cf1a
mov eax, dword [0x6456e0]
cmp byte [eax], 0
je 0x58cf1a
lea eax, [ebp - 0x12c]
mov ecx, 0x58d7a0
mov edx, dword [ebp - 0x18]
call fcn.004041dc
mov edx, dword [ebp - 0x12c]
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2d0]
mov eax, dword [eax + 0x208]
call fcn.00413a78
mov eax, dword [0x645780]
mov eax, dword [eax]
mov eax, dword [eax + 0x2fc]
cmp byte [eax + 0x2c8], 0
je 0x58cf1a
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
call fcn.0057a398
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x58cf3f
lea eax, [ebp - 0x12c]
mov edx, 0x4a
call fcn.00403f34
ret