Function at 0x5059b0
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 0x507079
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.004025c0
mov ecx, dword [esp + 0xc]
cmp ecx, 0xffffffff
jne 0x505b78
mov eax, dword [esp + 0xf8]
test eax, eax
je 0x505b5b
mov ecx, dword [esp + 0xf4]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x5606f8]
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.0046d750
mov eax, dword [esp + 0x10]
test eax, eax
jge 0x505b5b
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 4], eax
call fcn.0046d3a0
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x505aa3
lea ebx, [esp + 0xb0]
cmp edx, ebx
je 0x505ab1
jmp 0x507060
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 0x505b15
mov dword [esp + 0x30], eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x68], edx
lea eax, [0x5317a0]
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.004464a0
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.0045d2d0
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 0x505eb5
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
add esp, 0xf0
ret
mov edx, dword [esp + 0xf8]
cmp edx, ecx
jb 0x50705b
lea eax, [ecx + 1]
cmp edx, eax
jb 0x507054
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 0x505bbd
xor esi, esi
jmp 0x505bfe
mov dword [esp + 0x6c], edx
mov dword [esp], ebx
mov dword [esp + 4], ecx
lea eax, [0x5606f8]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.0046d750
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 0x505f30
cmp edx, 1
jne 0x505c11
xor edx, edx
jmp 0x505c4a
mov dword [esp], eax
mov dword [esp + 4], ebp
lea ecx, [0x5606f8]
mov dword [esp + 8], ecx
mov byte [esp + 0xc], 1
call fcn.0046d750
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 0x505f30
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.0046d3a0
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x505c82
lea ebx, [esp + 0xb0]
cmp edx, ebx
je 0x505c97
jmp 0x50703c
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 0x505cfb
mov dword [esp + 0x34], eax
mov dword [esp + 0x94], ecx
mov dword [esp + 0x68], edx
lea eax, [0x5317a0]
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.004464a0
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.0045d2d0
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 0x505d59
lea ecx, [esp + 0xb0]
cmp eax, ecx
je 0x505d6e
jmp 0x507024
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 0x505dc2
lea ecx, [0x5317a0]
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.004464a0
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.0046d3a0
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x505e08
lea ebx, [esp + 0xb0]
cmp edx, ebx
je 0x505e16
jmp 0x50700c
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 0x505e74
mov dword [esp + 0x40], eax
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x68], edx
lea eax, [0x5317a0]
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.004464a0
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.0045d2d0
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 0x505ec4
mov ecx, dword [eax]
jmp 0x505ec6
xor ecx, ecx
mov dword [esp + 0x50], ecx
lea eax, [0x5315e0]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
call fcn.00446320
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa8], eax
lea edi, [esp + 0xc0]
xor eax, eax
call fcn.0045cbc4
lea eax, [0x5323e0]
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.0040cf10
xor eax, eax
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0xa8]
jmp 0x505f6b
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
add esp, 0xf0
ret
lea eax, [esp + 0xc0]
mov dword [esp], eax
call fcn.0040d160
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 0x506008
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
lea esi, [eax + 1]
cmp ecx, esi
jae 0x505fd1
mov dword [esp + 0x58], ebx
mov dword [esp + 0xa0], ebp
lea ebx, [0x5315e0]
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.004464a0
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 [0x68ad40]
lea ebx, [edx + eax*8]
test ecx, ecx
jne 0x505ffa
mov dword [ebx], ebp
jmp 0x505f4d
mov eax, ebp
mov edi, ebx
call fcn.0045c980
jmp 0x505f4d
mov dword [esp + 0xa4], edx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408bd0
mov eax, dword [esp + 0xc]
lea ecx, [0x589b0c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004a45e0
xor eax, eax
jmp 0x506040
mov ecx, dword [esp + 0x6c]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x4c]
cmp eax, ecx
jge 0x5066b8
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, [0x5323e0]
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.0040e9c0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
nop
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x5060b0
lea ebx, [esp + 0xb0]
cmp edx, ebx
je 0x5060c5
jmp 0x506ff4
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 0x506130
lea eax, [0x5317a0]
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.004464a0
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 0x506154
cmp edx, ebx
je 0x50615b
jmp 0x506fdc
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 0x5061be
lea eax, [0x5317a0]
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.004464a0
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 0x50669b
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
mov dword [esp + 4], edx
lea ecx, [0x5606f8]
mov dword [esp + 8], ecx
mov byte [esp + 0xc], 1
call fcn.0046d750
mov eax, dword [esp + 0x10]
test eax, eax
jge 0x50669b
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
call fcn.0046d3a0
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x506241
lea ebx, [esp + 0xb0]
cmp edx, ebx
je 0x506256
jmp 0x506fc4
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 0x5062ba
mov dword [esp + 0x64], edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x90], ecx
lea eax, [0x5317a0]
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.004464a0
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.0045d2d0
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.005058d0
movzx eax, byte [esp + 8]
mov byte [esp + 0x20], al
test al, al
je 0x5063c2
nop
nop
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x50633d
lea ebx, [esp + 0xb0]
cmp edx, ebx
je 0x506352
jmp 0x506fac
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 0x5063b2
lea eax, [0x5317a0]
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.004464a0
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 0x5063c9
lea ebx, [esp + 0xb0]
nop
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x5063de
cmp edx, ebx
je 0x5063e5
jmp 0x506f94
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 0x506445
lea eax, [0x5317a0]
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.004464a0
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 0x506505
nop
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x506470
cmp edx, ebx
je 0x506477
jmp 0x506f7c
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 0x5064d0
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], edx
lea eax, [0x5317a0]
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.004464a0
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 0x506a8e
mov ecx, dword [esp + 0x28]
test ecx, ecx
jne 0x506511
xor eax, eax
jmp 0x506544
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea edx, [0x5606f8]
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.0046d750
mov eax, dword [esp + 0x10]
test eax, eax
setl al
mov ecx, dword [esp + 0x28]
lea ebx, [esp + 0xb0]
test al, al
jne 0x5065e2
nop
mov edx, dword [esp + 0xb0]
test edx, edx
je 0x506561
cmp edx, ebx
je 0x506568
jmp 0x506a75
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 0x5065c7
lea eax, [0x5317a0]
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.004464a0
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 0x5066f4
nop
nop
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x5065f8
cmp eax, ebx
je 0x5065ff
jmp 0x5066db
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 0x506651
mov dword [esp + 0x64], eax
lea ecx, [0x5317a0]
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.004464a0
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.0045d2d0
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 0x506039
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, [0x5315e0]
mov dword [esp], eax
lea eax, [0x586be8]
mov dword [esp + 4], eax
call fcn.00432520
inc eax
cmp eax, ecx
jge 0x50689a
jae 0x506a70
movzx esi, byte [eax + edx]
xchg esi, eax
cmp al, 0x22
xchg esi, eax
je 0x506714
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
jne 0x5066f3
cmp ebp, eax
ja 0x506a67
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 0x506742
cmp ebp, ebx
je 0x506749
jmp 0x506a4f
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 0x5067ab
mov dword [esp + 0x60], ebp
mov dword [esp + 0x5c], edi
mov dword [esp + 0x78], eax
lea eax, [0x5317a0]
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.004464a0
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.0045d2d0
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 0x506809
lea edx, [esp + 0xb0]
cmp eax, edx
je 0x506817
jmp 0x506a37
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 0x506872
lea eax, [0x5317a0]
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.004464a0
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 0x5066f3
cmp ebp, ecx
ja 0x506a30
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 0x5068c6
cmp edx, ebx
je 0x5068cd
jmp 0x506a18
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 0x506931
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], eax
mov dword [esp + 0x80], ecx
lea eax, [0x5317a0]
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.004464a0
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.0045d2d0
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 0x50698b
lea ecx, [esp + 0xb0]
cmp eax, ecx
je 0x506999
jmp 0x506a00
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 0x5069ed
lea ebp, [0x5317a0]
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.004464a0
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 0x506039
lea eax, [0x5315e0]
mov dword [esp], eax
lea eax, [0x586be8]
mov dword [esp + 4], eax
call fcn.00432520
lea eax, [0x5315e0]
mov dword [esp], eax
lea eax, [0x586be8]
mov dword [esp + 4], eax
call fcn.00432520
mov eax, ebp
call fcn.0045ca60
lea eax, [0x5315e0]
mov dword [esp], eax
lea eax, [0x586be8]
mov dword [esp + 4], eax
call fcn.00432520
lea eax, [0x5315e0]
mov dword [esp], eax
lea eax, [0x586be8]
mov dword [esp + 4], eax
call fcn.00432520
mov ecx, eax
mov eax, ebp
call fcn.0045ca60
call fcn.0045ca00
lea eax, [0x5315e0]
mov dword [esp], eax
lea eax, [0x586be8]
mov dword [esp + 4], eax
call fcn.00432520
inc eax
cmp eax, ecx
jge 0x506e13
jae 0x506f77
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 0x506abb
mov edi, 1
jmp 0x506b30
xchg esi, eax
cmp al, 0x2a
xchg esi, eax
jne 0x506ac9
mov edi, 1
jmp 0x506b30
xchg esi, eax
cmp al, 0x27
xchg esi, eax
jne 0x506ad7
mov edi, 1
jmp 0x506b30
xchg esi, eax
cmp al, 0x25
xchg esi, eax
jne 0x506ae5
mov edi, 1
jmp 0x506b30
mov dword [esp + 0x44], ebp
nop
lea eax, [0x55086c]
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.0046c320
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 0x506a8d
cmp ebp, eax
ja 0x506f6e
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 0x506b69
cmp ebp, ebx
je 0x506b70
jmp 0x506f56
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 0x506bd4
mov dword [esp + 0x64], ebp
mov dword [esp + 0x88], eax
lea eax, [0x5317a0]
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.004464a0
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.0045d2d0
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 0x506c33
lea edx, [esp + 0xb0]
cmp eax, edx
je 0x506c41
jmp 0x506f3e
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 0x506c9c
lea eax, [0x5317a0]
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.004464a0
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, [0x550cc8]
movzx ebx, byte [esi + ebx]
nop
mov edi, dword [esp + 0xb0]
test edi, edi
je 0x506cd6
cmp edi, edx
je 0x506cdd
jmp 0x506f26
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 0x506d41
mov byte [esp + 0x22], bl
lea eax, [0x5317a0]
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.004464a0
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, [0x550cc8]
movzx edx, byte [eax + edx]
nop
mov ebx, dword [esp + 0xb0]
test ebx, ebx
je 0x506d77
lea ebp, [esp + 0xb0]
cmp ebx, ebp
je 0x506d8c
jmp 0x506f0e
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 0x506de9
mov byte [esp + 0x23], dl
lea eax, [0x5317a0]
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.004464a0
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 0x506a8d
cmp ebp, ecx
ja 0x506f07
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 0x506e3e
cmp edx, ebx
je 0x506e45
jmp 0x506eef
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 0x506ea9
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], eax
mov dword [esp + 0x8c], ecx
lea eax, [0x5317a0]
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.004464a0
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.0045d2d0
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 0x506039
lea eax, [0x5315e0]
mov dword [esp], eax
lea eax, [0x586be8]
mov dword [esp + 4], eax
call fcn.00432520
mov eax, ebp
call fcn.0045ca60
lea eax, [0x5315e0]
mov dword [esp], eax
lea eax, [0x586be8]
mov dword [esp + 4], eax
call fcn.00432520
lea eax, [0x5315e0]
mov dword [esp], eax
lea eax, [0x586be8]
mov dword [esp + 4], eax
call fcn.00432520
lea eax, [0x5315e0]
mov dword [esp], eax
lea eax, [0x586be8]
mov dword [esp + 4], eax
call fcn.00432520
lea eax, [0x5315e0]
mov dword [esp], eax
lea eax, [0x586be8]
mov dword [esp + 4], eax
call fcn.00432520
mov ecx, eax
mov eax, ebp
call fcn.0045ca60
call fcn.0045ca00
lea eax, [0x5315e0]
mov dword [esp], eax
lea eax, [0x586be8]
mov dword [esp + 4], eax
call fcn.00432520
lea eax, [0x5315e0]
mov dword [esp], eax
lea eax, [0x586be8]
mov dword [esp + 4], eax
call fcn.00432520
lea eax, [0x5315e0]
mov dword [esp], eax
lea eax, [0x586be8]
mov dword [esp + 4], eax
call fcn.00432520
lea eax, [0x5315e0]
mov dword [esp], eax
lea eax, [0x586be8]
mov dword [esp + 4], eax
call fcn.00432520
lea eax, [0x5315e0]
mov dword [esp], eax
lea eax, [0x586be8]
mov dword [esp + 4], eax
call fcn.00432520
lea eax, [0x5315e0]
mov dword [esp], eax
lea eax, [0x586be8]
mov dword [esp + 4], eax
call fcn.00432520
lea eax, [0x5315e0]
mov dword [esp], eax
lea eax, [0x586be8]
mov dword [esp + 4], eax
call fcn.00432520
lea eax, [0x5315e0]
mov dword [esp], eax
lea eax, [0x586be8]
mov dword [esp + 4], eax
call fcn.00432520
lea eax, [0x5315e0]
mov dword [esp], eax
lea eax, [0x586be8]
mov dword [esp + 4], eax
call fcn.00432520
mov ecx, edx
call fcn.0045ca60
call fcn.0045ca20
lea eax, [0x5315e0]
mov dword [esp], eax
lea eax, [0x586be8]
mov dword [esp + 4], eax
call fcn.00432520
nop
call fcn.0045b540
jmp fcn.005059b0