Function at 0x501290
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 0x5020bf
sub esp, 0x190
mov ecx, dword [esp + 0x1bc]
mov edx, dword [esp + 0x1a4]
cmp ecx, edx
jl 0x502016
mov eax, dword [esp + 0x1a0]
mov ebx, dword [esp + 0x1a8]
cmp edx, ecx
jl 0x501fe8
test ecx, ecx
jbe 0x5020b7
mov dword [esp + 0x1a4], edx
mov dword [esp + 0x1a8], ebx
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 + 0x94], eax
mov eax, 1
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x94]
jmp 0x50133f
shl ebx, 1
imul esi, esi
lea edx, [esi + 1]
imul edi, edx
mov edx, dword [esp + 0x1a4]
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x1a8]
mov ebx, dword [esp + 0x74]
cmp ebx, 0x20
jl 0x501322
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x68], edi
nop
nop
lea eax, [0x5507c0]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.00441b50
mov eax, dword [esp + 0xc]
mov dword [esp + 0xcc], 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.004ff7a0
mov eax, dword [esp + 0x24]
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xb8], ecx
mov edx, dword [esp + 0x20]
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov ebx, dword [esp + 0xcc]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x1b8]
mov dword [esp + 0x24], edx
mov ebx, dword [esp + 0x1bc]
mov dword [esp + 0x28], ebx
mov ebp, dword [esp + 0x1c0]
mov dword [esp + 0x2c], ebp
call fcn.004fd800
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x1bc]
cmp eax, ebx
jge 0x501fd0
mov edx, dword [esp + 0x54]
cmp edx, ebx
jl 0x501f3f
mov ebp, ebx
mov esi, dword [esp + 0xb8]
cmp eax, ebx
jge 0x501f38
mov dword [esp + 0x54], edx
mov dword [esp + 0xb8], esi
mov dword [esp + 0x4c], ebx
cmp ecx, esi
je 0x50149b
mov dword [esp], esi
mov dword [esp + 4], ecx
shl eax, 2
mov dword [esp + 8], eax
call fcn.0045aa60
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0xb8]
mov ebx, eax
mov ebp, edx
mov dword [esp + 0x50], ebx
mov dword [esp + 0xbc], ebp
mov dword [esp + 0x80], eax
mov dword [esp + 0x7c], ecx
mov dword [esp + 0xc4], edx
lea esi, [0x5507c0]
mov dword [esp], esi
mov edi, dword [esp + 0x1bc]
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call fcn.00441b50
mov eax, dword [esp + 0xc]
mov dword [esp + 0xcc], eax
mov dword [eax], 1
lea edi, [esp + 0xd0]
xor eax, eax
call fcn.0045a330
mov eax, dword [esp + 0xd0]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x1bc]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0xc4]
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.004fb070
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x38]
mov dword [esp + 0xd0], edx
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], ecx
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0xe4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov eax, dword [esp + 0x1a0]
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 + 0xc4]
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.004fb070
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x38]
mov dword [esp + 0xdc], edx
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], ecx
mov eax, dword [esp + 0x1bc]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x1c0]
mov ebx, dword [esp + 0x1b8]
mov ebp, 2
jmp 0x50176a
mov dword [esp + 0x88], esi
mov ebp, dword [esp + esi*4 + 0xc8]
mov ecx, dword [esp + esi*4 + 0xcc]
mov esi, dword [esp + esi*4 + 0xc4]
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0xe4]
mov dword [esp], edi
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x1c], ecx
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.004fb070
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x88]
mov dword [esp + ebx*4 + 0xd0], eax
mov dword [esp + ebx*4 + 0xd4], ecx
mov dword [esp + ebx*4 + 0xd8], edx
mov eax, dword [esp + 0x78]
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 0x5017a1
jae 0x5020ab
mov dword [esp + 0x78], ebp
lea esi, [ebp + ebp*2]
mov edi, dword [esp + esi*4 + 0xd0]
mov edx, dword [esp + esi*4 + 0xd4]
mov ebx, dword [esp + esi*4 + 0xd8]
dec ebp
cmp ebp, 0x10
jb 0x501680
jmp 0x50209f
mov ebp, dword [esp + 0x19c]
cmp eax, ebp
jg 0x501ea4
mov esi, eax
mov edi, dword [esp + 0x194]
mov edx, dword [esp + 0xd0]
mov ebx, dword [esp + 0xd4]
cmp ebx, eax
jge 0x501e9d
mov dword [esp + 0x58], ebp
mov dword [esp + 0xb4], edi
mov dword [esp + 0x48], eax
cmp edx, edi
je 0x5017f5
mov dword [esp], edi
mov dword [esp + 4], edx
shl ebx, 2
mov dword [esp + 8], ebx
call fcn.0045aa60
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x1bc]
cmp edx, ebx
jl 0x501e2d
mov eax, ebx
mov ecx, dword [esp + 0xbc]
mov ebp, dword [esp + 0x1b0]
lea esi, [ebp - 1]
mov dword [esp + 0x70], esi
mov edi, dword [esp + 0x68]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x19c], eax
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x198], ecx
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x194], ecx
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0xac]
jmp 0x501bc0
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 + 0xc8], edx
mov edx, dword [esp + edi*4 + 0xd4]
mov edi, dword [esp + edi*4 + 0xd8]
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x14], ebx
mov ebp, dword [esp + 0xc8]
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.004fb070
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 + 0x88]
mov edi, dword [esp + 0x68]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x19c], ebx
mov dword [esp + 0x198], edx
mov dword [esp + 0x194], ecx
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x5c]
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0x1bc]
mov dword [esp + 0x64], ebp
mov ebp, dword [esp + 0x6c]
cmp ebp, 0x20
jge 0x501bb4
mov edi, dword [esp + 0x70]
cmp edi, esi
je 0x501b8e
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov ecx, dword [esp + 0x194]
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.004fb070
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc0], 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.004fb070
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 + 0xc0]
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.004fb070
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc0], 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.004fb070
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0xc0]
jmp 0x501876
test ebp, ebp
jne 0x50197c
mov eax, dword [esp + 0x194]
mov ebp, edx
mov esi, ecx
mov edx, dword [esp + 0x19c]
mov ecx, dword [esp + 0x198]
jmp 0x501876
dec esi
mov ebp, dword [esp + 0x70]
mov ebp, dword [esp + 0x1b0]
test esi, esi
jl 0x501bf7
cmp esi, ebp
jae 0x502096
mov dword [esp + 0x88], esi
mov ebp, dword [esp + 0x1ac]
mov ebp, dword [ebp + esi*4]
mov dword [esp + 0x9c], eax
xor eax, eax
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x9c]
jmp 0x50195f
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov ecx, dword [esp + 0x194]
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 + 0xcc]
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.004fb070
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc0], 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.004fad10
mov eax, dword [esp + 0x18]
test eax, eax
jge 0x501cf8
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0xc0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004fa8a0
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 + 0xc0]
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.004faa10
mov eax, dword [esp + 0x24]
mov dword [esp + 0xc0], 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.004fad10
mov eax, dword [esp + 0x18]
test eax, eax
jge 0x501dac
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0xc0]
jmp 0x501cc0
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 + 0xc0]
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.004fd800
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
jmp 0x501cc0
cmp ebx, 1
jne 0x501e6a
lea eax, [0x5507c0]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.00441b50
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x1bc]
mov edx, 1
mov ebx, 1
jmp 0x501811
lea eax, [0x5507c0]
mov dword [esp], eax
mov dword [esp + 4], ebx
lea eax, [ebx + 4]
mov dword [esp + 0x50], eax
mov dword [esp + 8], eax
call fcn.00441b50
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x1bc]
mov edx, dword [esp + 0x50]
mov ebx, eax
jmp 0x501811
mov ebx, eax
jmp 0x5017cf
cmp eax, 1
jne 0x501ef3
lea eax, [0x5507c0]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.00441b50
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 eax, 1
mov ebp, 1
jmp 0x5017b9
lea ecx, [0x5507c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [eax + 4]
mov dword [esp + 0x58], edx
mov dword [esp + 8], edx
call fcn.00441b50
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 eax, esi
mov ebp, dword [esp + 0x58]
jmp 0x5017b9
mov eax, ebx
jmp 0x501475
mov dword [esp + 0x7c], eax
mov dword [esp + 0xc4], ecx
cmp ebx, 1
jne 0x501f92
lea eax, [0x5507c0]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.00441b50
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0xc4]
mov ebp, dword [esp + 0x1bc]
mov ebx, 1
mov edx, 1
jmp 0x50146d
lea eax, [0x5507c0]
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.00441b50
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0xc4]
mov ebp, dword [esp + 0x1bc]
mov ebx, ebp
mov edx, dword [esp + 0x54]
jmp 0x50146d
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0xb8]
mov esi, eax
mov eax, edx
mov edx, ecx
mov ecx, esi
jmp 0x5014ae
lea ebx, [0x5507c0]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
call fcn.00441a00
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1bc]
mov edx, ecx
mov ebx, edx
jmp 0x5012df
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.004fd800
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp + 0x1bc]
jmp 0x5012d7
mov eax, esi
mov ecx, ebp
call fcn.0045a170
mov eax, ebp
mov ecx, 0x10
call fcn.0045a170
mov eax, ebp
mov ecx, 0x10
call fcn.0045a170
xor eax, eax
call fcn.0045a170
nop
call fcn.00458ba0
jmp fcn.00501290