Function at 0x58e430
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x70]
cmp eax, dword [ecx + 8]
jbe 0x58faf9
sub esp, 0xf0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov ecx, dword [esp + 0xf8]
mov dword [esp + 4], ecx
mov byte [esp + 8], 0x2f
call fcn.00402870
mov ecx, dword [esp + 0xc]
cmp ecx, 0xffffffff
jne 0x58e5f8
mov eax, dword [esp + 0xf8]
test eax, eax
je 0x58e5db
mov ecx, dword [esp + 0xf4]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x656318]
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.004bf190
mov eax, dword [esp + 0x10]
test eax, eax
jge 0x58e5db
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 4], eax
call fcn.004bede0
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x58e523
lea ebx, [esp + 0xb0]
cmp edx, ebx
je 0x58e531
jmp 0x58fae0
lea edx, [esp + 0xb0]
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0xb8]
lea ebx, [edx + eax]
mov dword [esp + 0x6c], ebx
mov ebp, dword [esp + 0xbc]
mov esi, dword [esp + 0xb4]
cmp ebp, ebx
jae 0x58e595
mov dword [esp + 0x30], eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x68], edx
lea eax, [0x60da40]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.004476d0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x68], ebp
mov dword [esp + 0xac], esi
add edx, esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045ef80
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0xb4], eax
jmp 0x58e935
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
add esp, 0xf0
ret
mov edx, dword [esp + 0xf8]
cmp edx, ecx
jb 0x58fadb
lea eax, [ecx + 1]
cmp edx, eax
jb 0x58fad4
mov dword [esp + 0x24], ecx
sub edx, ecx
lea ebx, [edx - 1]
mov dword [esp + 0x2c], ebx
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and eax, ebx
mov ebx, dword [esp + 0xf4]
add eax, ebx
mov dword [esp + 0x74], eax
test ecx, ecx
jne 0x58e63d
xor esi, esi
jmp 0x58e67e
mov dword [esp + 0x6c], edx
mov dword [esp], ebx
mov dword [esp + 4], ecx
lea eax, [0x656318]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.004bf190
mov eax, dword [esp + 0x10]
test eax, eax
setl al
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0x2c]
mov esi, eax
mov eax, dword [esp + 0x74]
xchg esi, eax
test al, al
xchg esi, eax
je 0x58e9b0
cmp edx, 1
jne 0x58e691
xor edx, edx
jmp 0x58e6ca
mov dword [esp], eax
mov dword [esp + 4], ebp
lea ecx, [0x656318]
mov dword [esp + 8], ecx
mov byte [esp + 0xc], 1
call fcn.004bf190
mov eax, dword [esp + 0x10]
test eax, eax
setl al
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0x2c]
mov edx, eax
mov eax, dword [esp + 0x74]
test dl, dl
je 0x58e9b0
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.004bede0
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x58e702
lea ebx, [esp + 0xb0]
cmp edx, ebx
je 0x58e717
jmp 0x58fabc
lea edx, [esp + 0xb0]
mov dword [esp + 0xb0], edx
lea ebx, [esp + 0xb0]
mov edx, dword [esp + 0xb8]
lea ebp, [edx + eax]
mov dword [esp + 0x6c], ebp
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xb4]
cmp esi, ebp
jae 0x58e77b
mov dword [esp + 0x34], eax
mov dword [esp + 0x94], ecx
mov dword [esp + 0x68], edx
lea eax, [0x60da40]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.004476d0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x68], esi
mov dword [esp + 0xac], edi
add edx, edi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045ef80
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0xb4], eax
nop
nop
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x58e7d9
lea ecx, [esp + 0xb0]
cmp eax, ecx
je 0x58e7ee
jmp 0x58faa4
lea eax, [esp + 0xb0]
mov dword [esp + 0xb0], eax
lea ecx, [esp + 0xb0]
mov eax, dword [esp + 0xb8]
lea edx, [eax + 1]
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xbc]
cmp ebp, edx
jae 0x58e842
lea ecx, [0x60da40]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.004476d0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xb4], ebx
lea ecx, [eax + 1]
mov dword [esp + 0xb8], ecx
mov byte [ebx + eax], 0x2f
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
call fcn.004bede0
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x58e888
lea ebx, [esp + 0xb0]
cmp edx, ebx
je 0x58e896
jmp 0x58fa8c
lea edx, [esp + 0xb0]
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0xb8]
lea ebx, [edx + eax]
mov dword [esp + 0x6c], ebx
mov ebp, dword [esp + 0xbc]
mov esi, dword [esp + 0xb4]
cmp ebp, ebx
jae 0x58e8f4
mov dword [esp + 0x40], eax
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x68], edx
lea eax, [0x60da40]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.004476d0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x68], ebp
mov dword [esp + 0xac], esi
add edx, esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045ef80
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xfc]
test eax, eax
je 0x58e944
mov ecx, dword [eax]
jmp 0x58e946
xor ecx, ecx
mov dword [esp + 0x50], ecx
lea eax, [0x60d840]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
call fcn.00447550
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa8], eax
lea edi, [esp + 0xc0]
xor eax, eax
call fcn.0045e874
lea eax, [0x60f2e0]
mov dword [esp], eax
mov ecx, dword [esp + 0xfc]
mov dword [esp + 4], ecx
lea edx, [esp + 0xc0]
mov dword [esp + 8], edx
call fcn.0040d270
xor eax, eax
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0xa8]
jmp 0x58e9eb
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
add esp, 0xf0
ret
lea eax, [esp + 0xc0]
mov dword [esp], eax
call fcn.0040d4c0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x98]
mov dword [esp + 0x4c], eax
mov ebx, dword [esp + 0xc0]
test ebx, ebx
je 0x58ea88
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
lea esi, [eax + 1]
cmp ecx, esi
jae 0x58ea51
mov dword [esp + 0x58], ebx
mov dword [esp + 0xa0], ebp
lea ebx, [0x60d840]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], esi
call fcn.004476d0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea esi, [eax + 1]
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0xa0]
mov dword [esp + 0x98], edx
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], ecx
lea ecx, [edx + eax*8 + 4]
mov dword [ecx], ebx
mov ecx, dword [0x816df0]
lea ebx, [edx + eax*8]
test ecx, ecx
jne 0x58ea7a
mov dword [ebx], ebp
jmp 0x58e9cd
mov eax, ebp
mov edi, ebx
call fcn.0045e5d0
jmp 0x58e9cd
mov dword [esp + 0xa4], edx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408f30
mov eax, dword [esp + 0xc]
lea ecx, [0x6a32a8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00481190
xor eax, eax
jmp 0x58eac0
mov ecx, dword [esp + 0x6c]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x4c]
cmp eax, ecx
jge 0x58f138
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0xa4]
lea edx, [ecx + eax*8]
mov ebx, dword [edx + 4]
mov dword [esp + 0x54], ebx
mov edx, dword [edx]
mov dword [esp + 0x9c], edx
lea ebp, [0x60f2e0]
mov dword [esp], ebp
mov esi, dword [esp + 0xfc]
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.0040fae0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
nop
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x58eb30
lea ebx, [esp + 0xb0]
cmp edx, ebx
je 0x58eb45
jmp 0x58fa74
lea edx, [esp + 0xb0]
mov dword [esp + 0xb0], edx
lea ebx, [esp + 0xb0]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0xb8]
lea ebp, [edx + 1]
mov esi, dword [esp + 0xb4]
mov edi, dword [esp + 0xbc]
cmp edi, ebp
jae 0x58ebb0
lea eax, [0x60da40]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.004476d0
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xb4], esi
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x28]
lea ebx, [esp + 0xb0]
lea ebp, [edx + 1]
mov dword [esp + 0xb8], ebp
mov byte [esi + edx], 0x3b
nop
nop
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x58ebd4
cmp edx, ebx
je 0x58ebdb
jmp 0x58fa5c
mov dword [esp + 0xb0], ebx
mov edx, dword [esp + 0xb8]
lea ebp, [edx + 1]
mov esi, dword [esp + 0xb4]
mov edi, dword [esp + 0xbc]
cmp edi, ebp
jae 0x58ec3e
lea eax, [0x60da40]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.004476d0
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xb4], esi
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x28]
lea ebx, [esp + 0xb0]
lea ebp, [edx + 1]
mov dword [esp + 0xb8], ebp
mov byte [esi + edx], 0x20
mov edx, dword [esp + 0x54]
test edx, edx
je 0x58f11b
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
mov dword [esp + 4], edx
lea ecx, [0x656318]
mov dword [esp + 8], ecx
mov byte [esp + 0xc], 1
call fcn.004bf190
mov eax, dword [esp + 0x10]
test eax, eax
jge 0x58f11b
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
call fcn.004bede0
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x58ecc1
lea ebx, [esp + 0xb0]
cmp edx, ebx
je 0x58ecd6
jmp 0x58fa44
lea edx, [esp + 0xb0]
mov dword [esp + 0xb0], edx
lea ebx, [esp + 0xb0]
mov edx, dword [esp + 0xb8]
lea ebp, [eax + edx]
mov dword [esp + 0x68], ebp
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xb4]
cmp esi, ebp
jae 0x58ed3a
mov dword [esp + 0x64], edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x90], ecx
lea eax, [0x60da40]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.004476d0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x64], esi
mov dword [esp + 0xac], edi
add edx, edi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045ef80
mov eax, dword [esp + 0x68]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], ecx
call fcn.0058e350
movzx eax, byte [esp + 8]
mov byte [esp + 0x20], al
test al, al
je 0x58ee42
nop
nop
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x58edbd
lea ebx, [esp + 0xb0]
cmp edx, ebx
je 0x58edd2
jmp 0x58fa2c
lea edx, [esp + 0xb0]
mov dword [esp + 0xb0], edx
lea ebx, [esp + 0xb0]
mov edx, dword [esp + 0xb8]
lea ebp, [edx + 1]
mov esi, dword [esp + 0xb4]
mov edi, dword [esp + 0xbc]
cmp edi, ebp
jae 0x58ee32
lea eax, [0x60da40]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.004476d0
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xb4], esi
movzx eax, byte [esp + 0x20]
lea ebx, [esp + 0xb0]
lea ebp, [edx + 1]
mov dword [esp + 0xb8], ebp
mov byte [esi + edx], 0x2a
jmp 0x58ee49
lea ebx, [esp + 0xb0]
nop
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x58ee5e
cmp edx, ebx
je 0x58ee65
jmp 0x58fa14
mov dword [esp + 0xb0], ebx
mov edx, dword [esp + 0xb8]
lea ebp, [edx + 1]
mov esi, dword [esp + 0xb4]
mov edi, dword [esp + 0xbc]
cmp edi, ebp
jae 0x58eec5
lea eax, [0x60da40]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.004476d0
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xb4], esi
movzx eax, byte [esp + 0x20]
lea ebx, [esp + 0xb0]
lea ebp, [edx + 1]
mov dword [esp + 0xb8], ebp
mov byte [esi + edx], 0x3d
test al, al
je 0x58ef85
nop
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x58eef0
cmp edx, ebx
je 0x58eef7
jmp 0x58f9fc
mov dword [esp + 0xb0], ebx
mov edx, dword [esp + 0xb8]
lea ebp, [edx + 7]
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xb4]
cmp esi, ebp
jae 0x58ef50
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], edx
lea eax, [0x60da40]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.004476d0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x64]
lea ebx, [esp + 0xb0]
mov ebp, dword [esp + 0x68]
mov dword [edi + edx], 0x2d667475
mov dword [edi + edx + 3], 0x2727382d
mov dword [esp + 0xb8], ebp
mov dword [esp + 0xbc], esi
mov dword [esp + 0xb4], edi
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x70]
xor eax, eax
xor ebp, ebp
jmp 0x58f50e
mov ecx, dword [esp + 0x28]
test ecx, ecx
jne 0x58ef91
xor eax, eax
jmp 0x58efc4
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea edx, [0x656318]
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.004bf190
mov eax, dword [esp + 0x10]
test eax, eax
setl al
mov ecx, dword [esp + 0x28]
lea ebx, [esp + 0xb0]
test al, al
jne 0x58f062
nop
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x58efe1
cmp edx, ebx
je 0x58efe8
jmp 0x58f4f5
mov dword [esp + 0xb0], ebx
mov edx, dword [esp + 0xb8]
lea ebp, [edx + 1]
mov esi, dword [esp + 0xb4]
mov edi, dword [esp + 0xbc]
cmp edi, ebp
jae 0x58f047
lea eax, [0x60da40]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.004476d0
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xb4], esi
mov ecx, dword [esp + 0x28]
lea ebx, [esp + 0xb0]
lea ebp, [edx + 1]
mov dword [esp + 0xb8], ebp
mov byte [esi + edx], 0x22
mov edx, dword [esp + 0x70]
xor eax, eax
xor ebp, ebp
jmp 0x58f174
nop
nop
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x58f078
cmp eax, ebx
je 0x58f07f
jmp 0x58f15b
mov dword [esp + 0xb0], ebx
mov eax, dword [esp + 0xb8]
lea edx, [ecx + eax]
mov dword [esp + 0x68], edx
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xb4]
cmp ebx, edx
jae 0x58f0d1
mov dword [esp + 0x64], eax
lea ecx, [0x60da40]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.004476d0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x64], ebx
mov dword [esp + 0xac], ebp
add eax, ebp
mov dword [esp], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0045ef80
mov eax, dword [esp + 0x68]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0xb4], eax
jmp 0x58eab9
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
add esp, 0xf0
ret
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x100], eax
mov dword [esp + 0x104], ecx
add esp, 0xf0
ret
lea eax, [0x60d840]
mov dword [esp], eax
lea eax, [0x69dad8]
mov dword [esp + 4], eax
call fcn.004334d0
inc eax
cmp eax, ecx
jge 0x58f31a
jae 0x58f4f0
movzx esi, byte [eax + edx]
xchg esi, eax
cmp al, 0x22
xchg esi, eax
je 0x58f194
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
jne 0x58f173
cmp ebp, eax
ja 0x58f4e7
mov esi, eax
sub eax, ebp
mov edi, eax
neg eax
sar eax, 0x1f
and ebp, eax
lea eax, [ebp + edx]
nop
mov ebp, dword [esp + 0xb0]
test ebp, ebp
je 0x58f1c2
cmp ebp, ebx
je 0x58f1c9
jmp 0x58f4cf
mov dword [esp + 0xb0], ebx
mov dword [esp + 0x68], esi
mov ebp, dword [esp + 0xb8]
lea edx, [edi + ebp]
mov dword [esp + 0x64], edx
mov ecx, dword [esp + 0xbc]
mov esi, dword [esp + 0xb4]
cmp ecx, edx
jae 0x58f22b
mov dword [esp + 0x60], ebp
mov dword [esp + 0x5c], edi
mov dword [esp + 0x78], eax
lea eax, [0x60da40]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call fcn.004476d0
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x78]
mov ebp, dword [esp + 0x60]
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x60], ecx
mov dword [esp + 0xac], esi
lea edx, [esi + ebp]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.0045ef80
mov eax, dword [esp + 0x64]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0xb4], eax
nop
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x58f289
lea edx, [esp + 0xb0]
cmp eax, edx
je 0x58f297
jmp 0x58f4b7
lea edx, [esp + 0xb0]
mov dword [esp + 0xb0], edx
mov ebx, dword [esp + 0xb8]
lea ebp, [ebx + 1]
mov esi, dword [esp + 0xb4]
mov edi, dword [esp + 0xbc]
cmp edi, ebp
jae 0x58f2f2
lea eax, [0x60da40]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.004476d0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xb4], esi
lea edx, [esp + 0xb0]
lea ebp, [ebx + 1]
mov dword [esp + 0xb8], ebp
mov byte [esi + ebx], 0x5c
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x70]
lea ebx, [esp + 0xb0]
mov ebp, eax
jmp 0x58f173
cmp ebp, ecx
ja 0x58f4b0
sub ecx, ebp
mov eax, ecx
neg ecx
sar ecx, 0x1f
and ebp, ecx
lea ecx, [ebp + edx]
nop
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x58f346
cmp edx, ebx
je 0x58f34d
jmp 0x58f498
mov dword [esp + 0xb0], ebx
mov edx, dword [esp + 0xb8]
lea ebp, [eax + edx]
mov dword [esp + 0x68], ebp
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xb4]
cmp esi, ebp
jae 0x58f3b1
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], eax
mov dword [esp + 0x80], ecx
lea eax, [0x60da40]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.004476d0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x64], esi
mov dword [esp + 0xac], edi
add edx, edi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045ef80
mov eax, dword [esp + 0x68]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0xb4], eax
nop
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x58f40b
lea ecx, [esp + 0xb0]
cmp eax, ecx
je 0x58f419
jmp 0x58f480
lea eax, [esp + 0xb0]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb8]
lea ecx, [eax + 1]
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0xbc]
cmp ebx, ecx
jae 0x58f46d
lea ebp, [0x60da40]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.004476d0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xb4], edx
lea ecx, [eax + 1]
mov dword [esp + 0xb8], ecx
mov byte [edx + eax], 0x22
jmp 0x58eab9
lea eax, [0x60d840]
mov dword [esp], eax
lea eax, [0x69dad8]
mov dword [esp + 4], eax
call fcn.004334d0
lea eax, [0x60d840]
mov dword [esp], eax
lea eax, [0x69dad8]
mov dword [esp + 4], eax
call fcn.004334d0
mov eax, ebp
call fcn.0045e6b0
lea eax, [0x60d840]
mov dword [esp], eax
lea eax, [0x69dad8]
mov dword [esp + 4], eax
call fcn.004334d0
lea eax, [0x60d840]
mov dword [esp], eax
lea eax, [0x69dad8]
mov dword [esp + 4], eax
call fcn.004334d0
mov ecx, eax
mov eax, ebp
call fcn.0045e6b0
call fcn.0045e650
lea eax, [0x60d840]
mov dword [esp], eax
lea eax, [0x69dad8]
mov dword [esp + 4], eax
call fcn.004334d0
inc eax
cmp eax, ecx
jge 0x58f893
jae 0x58f9f7
mov dword [esp + 0x48], eax
movzx esi, byte [edx + eax]
xchg esi, eax
mov byte [esp + 0x21], al
xchg esi, eax
lea edi, [esi - 0x21]
xchg edi, eax
cmp al, 0x5e
xchg edi, eax
jb 0x58f53b
mov edi, 1
jmp 0x58f5b0
xchg esi, eax
cmp al, 0x2a
xchg esi, eax
jne 0x58f549
mov edi, 1
jmp 0x58f5b0
xchg esi, eax
cmp al, 0x27
xchg esi, eax
jne 0x58f557
mov edi, 1
jmp 0x58f5b0
xchg esi, eax
cmp al, 0x25
xchg esi, eax
jne 0x58f565
mov edi, 1
jmp 0x58f5b0
mov dword [esp + 0x44], ebp
nop
lea eax, [0x63f53b]
mov dword [esp], eax
mov dword [esp + 4], 0xf
xchg esi, eax
movzx ecx, al
xchg esi, eax
mov dword [esp + 8], ecx
call fcn.004bdd60
mov eax, dword [esp + 0xc]
test eax, eax
setge al
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x70]
lea ebx, [esp + 0xb0]
mov ebp, dword [esp + 0x44]
movzx esi, byte [esp + 0x21]
mov edi, eax
mov eax, dword [esp + 0x48]
xchg edi, eax
test al, al
xchg edi, eax
je 0x58f50d
cmp ebp, eax
ja 0x58f9ee
mov edi, eax
sub eax, ebp
mov dword [esp + 0x38], eax
neg eax
sar eax, 0x1f
and ebp, eax
lea eax, [edx + ebp]
nop
mov ebp, dword [esp + 0xb0]
test ebp, ebp
je 0x58f5e9
cmp ebp, ebx
je 0x58f5f0
jmp 0x58f9d6
mov dword [esp + 0xb0], ebx
mov ebp, dword [esp + 0xb8]
mov edx, dword [esp + 0x38]
lea ecx, [edx + ebp]
mov dword [esp + 0x68], ecx
mov edi, dword [esp + 0xbc]
mov esi, dword [esp + 0xb4]
cmp edi, ecx
jae 0x58f654
mov dword [esp + 0x64], ebp
mov dword [esp + 0x88], eax
lea eax, [0x60da40]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ecx
call fcn.004476d0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x38]
mov ebp, dword [esp + 0x64]
mov dword [esp + 0x64], edi
mov dword [esp + 0xac], esi
lea ecx, [esi + ebp]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0045ef80
mov eax, dword [esp + 0x68]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0xb4], eax
nop
nop
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x58f6b3
lea edx, [esp + 0xb0]
cmp eax, edx
je 0x58f6c1
jmp 0x58f9be
lea edx, [esp + 0xb0]
mov dword [esp + 0xb0], edx
mov ebx, dword [esp + 0xb8]
lea ebp, [ebx + 1]
mov esi, dword [esp + 0xb4]
mov edi, dword [esp + 0xbc]
cmp edi, ebp
jae 0x58f71c
lea eax, [0x60da40]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.004476d0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xb4], esi
lea edx, [esp + 0xb0]
lea ebp, [ebx + 1]
mov dword [esp + 0xb8], ebp
mov byte [esi + ebx], 0x25
movzx ebx, byte [esp + 0x21]
mov ebp, ebx
shr bl, 4
movzx ebx, bl
lea esi, [0x63fb5b]
movzx ebx, byte [esi + ebx]
nop
mov edi, dword [esp + 0xb0]
test edi, edi
je 0x58f756
cmp edi, edx
je 0x58f75d
jmp 0x58f9a6
mov dword [esp + 0xb0], edx
mov edi, dword [esp + 0xb8]
lea edx, [edi + 1]
mov esi, dword [esp + 0xb4]
mov eax, ebp
mov ebp, dword [esp + 0xbc]
cmp ebp, edx
jae 0x58f7c1
mov byte [esp + 0x22], bl
lea eax, [0x60da40]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.004476d0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xb4], esi
movzx eax, byte [esp + 0x21]
movzx ebx, byte [esp + 0x22]
lea edx, [edi + 1]
mov dword [esp + 0xb8], edx
mov byte [esi + edi], bl
and eax, 0xf
lea edx, [0x63fb5b]
movzx edx, byte [eax + edx]
nop
mov ebx, dword [esp + 0xb0]
test ebx, ebx
je 0x58f7f7
lea ebp, [esp + 0xb0]
cmp ebx, ebp
je 0x58f80c
jmp 0x58f98e
lea ebx, [esp + 0xb0]
mov dword [esp + 0xb0], ebx
lea ebp, [esp + 0xb0]
mov ebx, dword [esp + 0xb8]
lea esi, [ebx + 1]
mov edi, dword [esp + 0xb4]
mov ebp, dword [esp + 0xbc]
cmp ebp, esi
jae 0x58f869
mov byte [esp + 0x23], dl
lea eax, [0x60da40]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.004476d0
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xb4], edi
movzx edx, byte [esp + 0x23]
lea esi, [ebx + 1]
mov dword [esp + 0xb8], esi
mov byte [edi + ebx], dl
mov edx, dword [esp + 0x48]
lea ebp, [edx + 1]
mov eax, edx
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x70]
lea ebx, [esp + 0xb0]
jmp 0x58f50d
cmp ebp, ecx
ja 0x58f987
sub ecx, ebp
mov eax, ecx
neg ecx
sar ecx, 0x1f
and ebp, ecx
lea ecx, [edx + ebp]
nop
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x58f8be
cmp edx, ebx
je 0x58f8c5
jmp 0x58f96f
mov dword [esp + 0xb0], ebx
mov edx, dword [esp + 0xb8]
lea ebx, [eax + edx]
mov dword [esp + 0x68], ebx
mov ebp, dword [esp + 0xbc]
mov esi, dword [esp + 0xb4]
cmp ebp, ebx
jae 0x58f929
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], eax
mov dword [esp + 0x8c], ecx
lea eax, [0x60da40]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.004476d0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x64], ebp
mov dword [esp + 0xac], esi
add edx, esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045ef80
mov eax, dword [esp + 0x68]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0xb4], eax
jmp 0x58eab9
lea eax, [0x60d840]
mov dword [esp], eax
lea eax, [0x69dad8]
mov dword [esp + 4], eax
call fcn.004334d0
mov eax, ebp
call fcn.0045e6b0
lea eax, [0x60d840]
mov dword [esp], eax
lea eax, [0x69dad8]
mov dword [esp + 4], eax
call fcn.004334d0
lea eax, [0x60d840]
mov dword [esp], eax
lea eax, [0x69dad8]
mov dword [esp + 4], eax
call fcn.004334d0
lea eax, [0x60d840]
mov dword [esp], eax
lea eax, [0x69dad8]
mov dword [esp + 4], eax
call fcn.004334d0
lea eax, [0x60d840]
mov dword [esp], eax
lea eax, [0x69dad8]
mov dword [esp + 4], eax
call fcn.004334d0
mov ecx, eax
mov eax, ebp
call fcn.0045e6b0
call fcn.0045e650
lea eax, [0x60d840]
mov dword [esp], eax
lea eax, [0x69dad8]
mov dword [esp + 4], eax
call fcn.004334d0
lea eax, [0x60d840]
mov dword [esp], eax
lea eax, [0x69dad8]
mov dword [esp + 4], eax
call fcn.004334d0
lea eax, [0x60d840]
mov dword [esp], eax
lea eax, [0x69dad8]
mov dword [esp + 4], eax
call fcn.004334d0
lea eax, [0x60d840]
mov dword [esp], eax
lea eax, [0x69dad8]
mov dword [esp + 4], eax
call fcn.004334d0
lea eax, [0x60d840]
mov dword [esp], eax
lea eax, [0x69dad8]
mov dword [esp + 4], eax
call fcn.004334d0
lea eax, [0x60d840]
mov dword [esp], eax
lea eax, [0x69dad8]
mov dword [esp + 4], eax
call fcn.004334d0
lea eax, [0x60d840]
mov dword [esp], eax
lea eax, [0x69dad8]
mov dword [esp + 4], eax
call fcn.004334d0
lea eax, [0x60d840]
mov dword [esp], eax
lea eax, [0x69dad8]
mov dword [esp + 4], eax
call fcn.004334d0
lea eax, [0x60d840]
mov dword [esp], eax
lea eax, [0x69dad8]
mov dword [esp + 4], eax
call fcn.004334d0
mov ecx, edx
call fcn.0045e6b0
call fcn.0045e670
lea eax, [0x60d840]
mov dword [esp], eax
lea eax, [0x69dad8]
mov dword [esp + 4], eax
call fcn.004334d0
nop
call fcn.0045d190
jmp fcn.0058e430