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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x110]
cmp eax, dword [ecx + 8]
jbe 0x50553f
sub esp, 0x190
mov edx, dword [esp + 0x1a4]
mov ecx, dword [esp + 0x1bc]
cmp edx, ecx
jg 0x505496
mov eax, dword [esp + 0x1a0]
mov ebx, dword [esp + 0x1a8]
cmp edx, ecx
jl 0x50542b
test ecx, ecx
jbe 0x505537
mov dword [esp + 0x1a8], ebx
mov dword [esp + 0x1a4], edx
mov ebp, dword [esp + 0x1b8]
mov esi, dword [ebp]
lea edi, [esi - 2]
xchg edi, ebx
neg ebx
xchg edi, ebx
dec esi
mov dword [esp + 0xa8], eax
mov eax, 1
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0xa8]
jmp 0x50478f
shl ebx, 1
imul esi, esi
lea edx, [esi + 1]
imul edi, edx
mov edx, dword [esp + 0x1a4]
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x1a8]
mov ebx, dword [esp + 0x78]
cmp ebx, 0x20
jl 0x504772
mov dword [esp + 0xc0], eax
mov dword [esp + 0x68], edi
nop
nop
lea eax, [0x659340]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.0043c2b0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xbc], eax
mov dword [eax], 1
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 1
mov ecx, dword [esp + 0x1bc]
shl ecx, 6
mov dword [esp + 0x18], ecx
call fcn.005027c0
mov eax, dword [esp + 0x24]
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0xb0], edx
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov ebx, dword [esp + 0xbc]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x1b8]
mov dword [esp + 0x24], ecx
mov ebx, dword [esp + 0x1bc]
mov dword [esp + 0x28], ebx
mov ebp, dword [esp + 0x1c0]
mov dword [esp + 0x2c], ebp
call fcn.005019d0
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x1bc]
cmp ecx, ebx
jge 0x505415
mov eax, dword [esp + 0x54]
cmp ebx, eax
jg 0x505384
mov ebp, ebx
mov esi, dword [esp + 0xb0]
cmp ebx, ecx
jle 0x50537d
mov dword [esp + 0x54], eax
mov dword [esp + 0x4c], ebx
mov dword [esp + 0xcc], esi
cmp esi, edx
je 0x5048eb
mov dword [esp], esi
mov dword [esp + 4], edx
shl ecx, 2
mov dword [esp + 8], ecx
call fcn.004516d0
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x54]
mov ebx, eax
mov ebp, edx
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xc8], eax
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x58], ebp
mov dword [esp + 0x80], edx
lea esi, [0x659340]
mov dword [esp], esi
mov edi, dword [esp + 0x1bc]
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call fcn.0043c2b0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xbc], eax
mov dword [eax], 1
lea edi, [esp + 0xd0]
xor eax, eax
call fcn.00450fa0
mov eax, dword [esp + 0xd0]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 0xbc]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x1bc]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0xc8]
mov dword [esp + 0x18], edx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x1c], ebx
mov ebp, dword [esp + 0x80]
mov dword [esp + 0x20], ebp
mov esi, dword [esp + 0x1b8]
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], ecx
mov edi, dword [esp + 0x1c0]
mov dword [esp + 0x2c], edi
mov eax, dword [esp + 0x68]
neg eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
call fcn.004ff270
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
mov dword [esp + 0xd0], edx
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0xe0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x1a4]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1b8]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x1bc]
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x1c0]
mov dword [esp + 0x2c], edx
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ecx
call fcn.004ff270
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
mov dword [esp + 0xdc], edx
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x1bc]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x1c0]
mov ebx, dword [esp + 0x1b8]
mov ebp, 2
jmp 0x504bba
mov dword [esp + 0x8c], esi
mov ebp, dword [esp + esi*4 + 0xc8]
mov ecx, dword [esp + esi*4 + 0xc4]
mov esi, dword [esp + esi*4 + 0xcc]
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0xdc]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1b8]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x1bc]
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x1c0]
mov dword [esp + 0x2c], edx
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ecx
call fcn.004ff270
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x8c]
mov dword [esp + ebx*4 + 0xd0], edx
mov dword [esp + ebx*4 + 0xd4], ecx
mov dword [esp + ebx*4 + 0xd8], eax
mov eax, dword [esp + 0x74]
lea ebp, [eax + 1]
mov eax, dword [esp + 0x1bc]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x1c0]
mov ebx, dword [esp + 0x1b8]
cmp ebp, 0x10
jge 0x504bf1
jae 0x50552b
mov dword [esp + 0x74], ebp
lea esi, [ebp + ebp*2]
mov edi, dword [esp + esi*4 + 0xd8]
mov edx, dword [esp + esi*4 + 0xd4]
mov ebx, dword [esp + esi*4 + 0xd0]
dec ebp
cmp ebp, 0x10
jb 0x504ad0
jmp 0x50551f
mov ebp, dword [esp + 0x19c]
cmp eax, ebp
jg 0x5052e9
mov esi, eax
mov edi, dword [esp + 0x194]
mov edx, dword [esp + 0xd4]
mov ebx, dword [esp + 0xd0]
cmp eax, edx
jle 0x5052e2
mov dword [esp + 0x50], ebp
mov dword [esp + 0x48], eax
mov dword [esp + 0xc0], edi
cmp edi, ebx
je 0x504c45
mov dword [esp], edi
mov dword [esp + 4], ebx
shl edx, 2
mov dword [esp + 8], edx
call fcn.004516d0
mov edx, dword [esp + 0x1bc]
mov ebx, dword [esp + 0x58]
cmp edx, ebx
jg 0x505272
mov eax, edx
mov ecx, dword [esp + 0xcc]
mov ebp, dword [esp + 0x1b0]
lea esi, [ebp - 1]
mov dword [esp + 0x70], esi
mov edi, dword [esp + 0x68]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x19c], eax
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x198], ecx
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0xa0]
jmp 0x504ffd
mov dword [esp + 0x60], edx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0xc0], eax
mov edi, dword [esp + 0x64]
shr edi, 0x1c
lea edi, [edi + edi*2]
mov edx, dword [esp + edi*4 + 0xd0]
mov dword [esp + 0xc4], edx
mov edx, dword [esp + edi*4 + 0xd4]
mov edi, dword [esp + edi*4 + 0xd8]
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x14], ebx
mov ebp, dword [esp + 0xc4]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], edi
mov edx, dword [esp + 0x1b8]
mov dword [esp + 0x24], edx
mov ebp, dword [esp + 0x1bc]
mov dword [esp + 0x28], ebp
mov esi, dword [esp + 0x1c0]
mov dword [esp + 0x2c], esi
mov edi, dword [esp + 0x68]
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], ebp
call fcn.004ff270
mov eax, dword [esp + 0x6c]
add eax, 4
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x64]
shl ebp, 4
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 0x68]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x19c], ebx
mov dword [esp + 0x198], edx
mov ebx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x1bc]
mov esi, dword [esp + 0xc0]
mov dword [esp + 0xc0], ecx
mov ecx, esi
mov esi, dword [esp + 0x8c]
mov dword [esp + 0x64], ebp
mov ebp, dword [esp + 0x6c]
cmp ebp, 0x20
jge 0x504ff1
mov edi, dword [esp + 0x70]
cmp esi, edi
je 0x504fcb
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0x198]
mov dword [esp + 0x10], edx
mov ebx, dword [esp + 0x19c]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], ebx
mov ebp, dword [esp + 0x1b8]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], eax
mov esi, dword [esp + 0x1c0]
mov dword [esp + 0x2c], esi
mov edi, dword [esp + 0x68]
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], eax
call fcn.004ff270
mov eax, dword [esp + 0x38]
mov dword [esp + 0xb4], eax
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x60], edx
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov ebx, dword [esp + 0x198]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x19c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
mov ebx, dword [esp + 0x1b8]
mov dword [esp + 0x24], ebx
mov ebp, dword [esp + 0x1bc]
mov dword [esp + 0x28], ebp
mov esi, dword [esp + 0x1c0]
mov dword [esp + 0x2c], esi
mov edi, dword [esp + 0x68]
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], ebp
call fcn.004ff270
mov eax, dword [esp + 0x38]
mov dword [esp + 0x194], eax
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x198], ecx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x19c], edx
mov ebx, dword [esp + 0xb4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
mov ebx, dword [esp + 0x1b8]
mov dword [esp + 0x24], ebx
mov ebp, dword [esp + 0x1bc]
mov dword [esp + 0x28], ebp
mov esi, dword [esp + 0x1c0]
mov dword [esp + 0x2c], esi
mov edi, dword [esp + 0x68]
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], ebp
call fcn.004ff270
mov eax, dword [esp + 0x38]
mov dword [esp + 0xb4], eax
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x60], edx
mov ebx, dword [esp + 0x194]
mov dword [esp], ebx
mov ebx, dword [esp + 0x198]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x19c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
mov ebx, dword [esp + 0x1b8]
mov dword [esp + 0x24], ebx
mov ebp, dword [esp + 0x1bc]
mov dword [esp + 0x28], ebp
mov esi, dword [esp + 0x1c0]
mov dword [esp + 0x2c], esi
mov edi, dword [esp + 0x68]
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], ebp
call fcn.004ff270
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0xb4]
jmp 0x504caa
test ebp, ebp
jne 0x504db9
mov ebp, edx
mov esi, ecx
mov edx, dword [esp + 0x19c]
mov ecx, dword [esp + 0x198]
mov eax, dword [esp + 0xc0]
jmp 0x504caa
dec esi
mov ebp, dword [esp + 0x70]
mov ebp, dword [esp + 0x1b0]
test esi, esi
jl 0x505034
cmp esi, ebp
jae 0x505516
mov dword [esp + 0x8c], esi
mov ebp, dword [esp + 0x1ac]
mov ebp, dword [ebp + esi*4]
mov dword [esp + 0x90], eax
xor eax, eax
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x90]
jmp 0x504d9c
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x198]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x19c]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x1b8]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x1c0]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], eax
call fcn.004ff270
mov eax, dword [esp + 0x38]
mov dword [esp + 0xb4], eax
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x60], edx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x1b8]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0x1bc]
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0x1c0]
mov dword [esp + 0x14], esi
call fcn.004fef10
mov eax, dword [esp + 0x18]
test eax, eax
jge 0x505135
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004fe7c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1c8], ecx
mov dword [esp + 0x1cc], edx
add esp, 0x190
ret
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov ecx, dword [esp + 0x5c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x60]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x1b8]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x1bc]
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x1c0]
mov dword [esp + 0x20], edx
call fcn.004fec20
mov eax, dword [esp + 0x24]
mov dword [esp + 0xb4], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x60], edx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x1b8]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0x1bc]
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0x1c0]
mov dword [esp + 0x14], esi
call fcn.004fef10
mov eax, dword [esp + 0x18]
test eax, eax
jge 0x5051f1
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0xb4]
mov ebx, eax
mov eax, edx
mov edx, ecx
mov ecx, ebx
jmp 0x5050fd
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1b8]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1bc]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c0]
mov dword [esp + 0x2c], eax
call fcn.005019d0
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
jmp 0x5051e4
cmp edx, 1
jne 0x5052af
lea eax, [0x659340]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.0043c2b0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x1bc]
mov ebx, 1
mov edx, 1
jmp 0x504c61
lea eax, [0x659340]
mov dword [esp], eax
mov dword [esp + 4], edx
lea eax, [edx + 4]
mov dword [esp + 0x58], eax
mov dword [esp + 8], eax
call fcn.0043c2b0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x1bc]
mov ebx, dword [esp + 0x58]
mov edx, eax
jmp 0x504c61
mov edx, eax
jmp 0x504c1f
cmp eax, 1
jne 0x505338
lea eax, [0x659340]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.0043c2b0
mov edi, dword [esp + 0xc]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x1c0]
mov ebx, dword [esp + 0x1b8]
mov esi, dword [esp + 0x1bc]
mov ebp, 1
mov eax, 1
jmp 0x504c09
lea ecx, [0x659340]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [eax + 4]
mov dword [esp + 0x50], edx
mov dword [esp + 8], edx
call fcn.0043c2b0
mov edi, dword [esp + 0xc]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x1c0]
mov ebx, dword [esp + 0x1b8]
mov esi, dword [esp + 0x1bc]
mov ebp, dword [esp + 0x50]
mov eax, esi
jmp 0x504c09
mov ecx, ebx
jmp 0x5048c5
mov dword [esp + 0x7c], ecx
mov dword [esp + 0xb8], edx
cmp ebx, 1
jne 0x5053d7
lea eax, [0x659340]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.0043c2b0
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0xb8]
mov ebp, dword [esp + 0x1bc]
mov eax, 1
mov ebx, 1
jmp 0x5048bd
lea eax, [0x659340]
mov dword [esp], eax
mov dword [esp + 4], ebx
lea ecx, [ebx + 4]
mov dword [esp + 0x54], ecx
mov dword [esp + 8], ecx
call fcn.0043c2b0
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0xb8]
mov ebp, dword [esp + 0x1bc]
mov eax, dword [esp + 0x54]
mov ebx, ebp
jmp 0x5048bd
mov ebx, dword [esp + 0xb0]
mov ebp, dword [esp + 0x54]
mov esi, eax
mov eax, edx
mov edx, esi
jmp 0x5048fe
mov dword [esp + 0xc0], eax
mov dword [esp + 0x8c], edx
lea eax, [0x659340]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.0043c2b0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xbc], eax
mov ecx, dword [esp + 0xc0]
cmp ecx, eax
je 0x50547f
mov dword [esp], eax
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x8c]
shl ecx, 2
mov dword [esp + 8], ecx
call fcn.004516d0
mov ecx, dword [esp + 0x1bc]
mov ebx, ecx
mov eax, dword [esp + 0xbc]
mov edx, ebx
jmp 0x50472f
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x1a0]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1b8]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x1c0]
mov dword [esp + 0x2c], edx
call fcn.005019d0
mov ebx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x1bc]
jmp 0x504727
mov eax, esi
mov ecx, ebp
call fcn.00450da0
mov eax, ebp
mov ecx, 0x10
call fcn.00450da0
mov eax, ebp
mov ecx, 0x10
call fcn.00450da0
xor eax, eax
call fcn.00450da0
nop
call fcn.0044f4e0
jmp fcn.005046e0