Function at 0x50fb70
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 0x5109cf
sub esp, 0x190
mov edx, dword [esp + 0x1a4]
mov ecx, dword [esp + 0x1bc]
cmp edx, ecx
jg 0x510926
mov eax, dword [esp + 0x1a0]
mov ebx, dword [esp + 0x1a8]
cmp edx, ecx
jl 0x5108bb
test ecx, ecx
jbe 0x5109c7
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 0x50fc1f
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 0x50fc02
mov dword [esp + 0xc0], eax
mov dword [esp + 0x68], edi
nop
nop
lea eax, [0x8eb040]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.00440500
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.0050cd30
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.0050bf40
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x1bc]
cmp ecx, ebx
jge 0x5108a5
mov eax, dword [esp + 0x54]
cmp ebx, eax
jg 0x510814
mov ebp, ebx
mov esi, dword [esp + 0xb0]
cmp ebx, ecx
jle 0x51080d
mov dword [esp + 0x54], eax
mov dword [esp + 0x4c], ebx
mov dword [esp + 0xcc], esi
cmp esi, edx
je 0x50fd7b
mov dword [esp], esi
mov dword [esp + 4], edx
shl ecx, 2
mov dword [esp + 8], ecx
call fcn.004579b0
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, [0x8eb040]
mov dword [esp], esi
mov edi, dword [esp + 0x1bc]
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call fcn.00440500
mov eax, dword [esp + 0xc]
mov dword [esp + 0xbc], eax
mov dword [eax], 1
lea edi, [esp + 0xd0]
xor eax, eax
call fcn.00457280
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.00509480
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.00509480
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 0x51004a
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.00509480
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 0x510081
jae 0x5109bb
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 0x50ff60
jmp 0x5109af
mov ebp, dword [esp + 0x19c]
cmp eax, ebp
jg 0x510779
mov esi, eax
mov edi, dword [esp + 0x194]
mov edx, dword [esp + 0xd4]
mov ebx, dword [esp + 0xd0]
cmp eax, edx
jle 0x510772
mov dword [esp + 0x50], ebp
mov dword [esp + 0x48], eax
mov dword [esp + 0xc0], edi
cmp edi, ebx
je 0x5100d5
mov dword [esp], edi
mov dword [esp + 4], ebx
shl edx, 2
mov dword [esp + 8], edx
call fcn.004579b0
mov edx, dword [esp + 0x1bc]
mov ebx, dword [esp + 0x58]
cmp edx, ebx
jg 0x510702
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 0x51048d
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.00509480
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 0x510481
mov edi, dword [esp + 0x70]
cmp esi, edi
je 0x51045b
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.00509480
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.00509480
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.00509480
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.00509480
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 0x51013a
test ebp, ebp
jne 0x510249
mov ebp, edx
mov esi, ecx
mov edx, dword [esp + 0x19c]
mov ecx, dword [esp + 0x198]
mov eax, dword [esp + 0xc0]
jmp 0x51013a
dec esi
mov ebp, dword [esp + 0x70]
mov ebp, dword [esp + 0x1b0]
test esi, esi
jl 0x5104c4
cmp esi, ebp
jae 0x5109a6
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 0x51022c
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.00509480
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.00509120
mov eax, dword [esp + 0x18]
test eax, eax
jge 0x5105c5
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.005089d0
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.00508e30
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.00509120
mov eax, dword [esp + 0x18]
test eax, eax
jge 0x510681
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 0x51058d
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.0050bf40
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
jmp 0x510674
cmp edx, 1
jne 0x51073f
lea eax, [0x8eb040]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.00440500
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x1bc]
mov ebx, 1
mov edx, 1
jmp 0x5100f1
lea eax, [0x8eb040]
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.00440500
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x1bc]
mov ebx, dword [esp + 0x58]
mov edx, eax
jmp 0x5100f1
mov edx, eax
jmp 0x5100af
cmp eax, 1
jne 0x5107c8
lea eax, [0x8eb040]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.00440500
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 0x510099
lea ecx, [0x8eb040]
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.00440500
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 0x510099
mov ecx, ebx
jmp 0x50fd55
mov dword [esp + 0x7c], ecx
mov dword [esp + 0xb8], edx
cmp ebx, 1
jne 0x510867
lea eax, [0x8eb040]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.00440500
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 0x50fd4d
lea eax, [0x8eb040]
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.00440500
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 0x50fd4d
mov ebx, dword [esp + 0xb0]
mov ebp, dword [esp + 0x54]
mov esi, eax
mov eax, edx
mov edx, esi
jmp 0x50fd8e
mov dword [esp + 0xc0], eax
mov dword [esp + 0x8c], edx
lea eax, [0x8eb040]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00440500
mov eax, dword [esp + 0xc]
mov dword [esp + 0xbc], eax
mov ecx, dword [esp + 0xc0]
cmp ecx, eax
je 0x51090f
mov dword [esp], eax
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x8c]
shl ecx, 2
mov dword [esp + 8], ecx
call fcn.004579b0
mov ecx, dword [esp + 0x1bc]
mov ebx, ecx
mov eax, dword [esp + 0xbc]
mov edx, ebx
jmp 0x50fbbf
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.0050bf40
mov ebx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x1bc]
jmp 0x50fbb7
mov eax, esi
mov ecx, ebp
call fcn.00457060
mov eax, ebp
mov ecx, 0x10
call fcn.00457060
mov eax, ebp
mov ecx, 0x10
call fcn.00457060
xor eax, eax
call fcn.00457060
nop
call fcn.004557a0
jmp fcn.0050fb70