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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5157cd
sub esp, 0x68
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0x94]
mov ebx, edx
sub edx, ecx
lea eax, [ecx - 1]
cmp ecx, eax
jbe 0x5157c7
mov ebp, dword [esp + 0x90]
mov ebp, dword [ebp + ecx*4 - 4]
nop
nop
cmp ebp, 0x10000
jb 0x5153c5
shr ebp, 0x10
mov eax, 0x10
jmp 0x5153c7
xor eax, eax
cmp ebp, 0x100
jb 0x5153d5
shr ebp, 8
add eax, 8
cmp ebp, 0x100
jae 0x5157bb
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], eax
lea eax, [0x6aa9e0]
movzx eax, byte [eax + ebp]
mov dword [esp + 0x54], eax
mov dword [esp], ecx
call fcn.005103e0
mov eax, dword [esp + 4]
mov dword [esp + 0x60], eax
mov ecx, dword [eax]
mov dword [esp + 0x64], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x38], edx
mov ebx, dword [eax + 8]
mov dword [esp + 0x3c], ebx
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x90]
mov dword [esp + 0xc], ebp
mov ebp, dword [esp + 0x94]
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0x98]
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x54]
lea esi, [edi + esi - 0x20]
xchg esi, ebx
neg ebx
xchg esi, ebx
mov dword [esp + 0x34], esi
mov dword [esp + 0x18], esi
call fcn.00517330
mov ecx, dword [esp + 0x88]
lea eax, [ecx + 1]
mov edx, dword [esp + 0x80]
cmp edx, eax
jl 0x515487
jb 0x5157b4
mov ebx, dword [esp + 0x78]
jmp 0x5154f8
test ecx, ecx
jne 0x5154c2
lea eax, [0x65a4c0]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.004480c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x88]
mov edx, 1
mov ebx, eax
mov eax, 1
jmp 0x5154f8
mov dword [esp + 0x44], eax
lea edx, [0x65a4c0]
mov dword [esp], edx
mov dword [esp + 4], eax
lea ebx, [ecx + 5]
mov dword [esp + 0x30], ebx
mov dword [esp + 8], ebx
call fcn.004480c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x30]
mov ebx, eax
mov eax, dword [esp + 0x44]
cmp ecx, edx
ja 0x5157af
mov dword [esp + 0x30], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x5c], ebx
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov eax, dword [esp + 0x84]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x18], eax
call fcn.00517330
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x28]
cmp ecx, edx
jae 0x5157a6
mov ebx, dword [esp + 0x5c]
mov dword [ebx + ecx*4], eax
mov eax, dword [esp + 0x74]
test eax, eax
je 0x515580
mov ebp, dword [esp + 0x6c]
lea esi, [ebp + eax*4 - 4]
mov edi, dword [esp + 0x30]
mov ecx, edi
lea edi, [ebx + edi*4 - 4]
cmp edi, esi
jne 0x515588
xor eax, eax
xor ebp, ebp
jmp 0x515588
mov ecx, dword [esp + 0x30]
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x4c]
lea edi, [esi + 1]
cmp eax, edi
jl 0x51559a
jae 0x515611
jmp 0x51579d
test esi, esi
jne 0x5155d8
lea eax, [0x65a4c0]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.004480c0
mov ebp, dword [esp + 0xc]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x5c]
mov edi, 1
mov eax, 1
jmp 0x515611
mov dword [esp + 0x40], edi
lea eax, [0x65a4c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esi + 5]
mov dword [esp + 0x2c], eax
mov dword [esp + 8], eax
call fcn.004480c0
mov ebp, dword [esp + 0xc]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x5c]
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x24], edi
mov dword [esp + 0x58], ebp
mov dword [esp + 0x2c], eax
mov esi, dword [esp + 0x94]
cmp esi, 0x64
jge 0x51565f
mov dword [esp], ebp
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov esi, dword [esp + 0x64]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x20], esi
call fcn.005157e0
jmp 0x515693
mov dword [esp], ebp
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov esi, dword [esp + 0x64]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x20], esi
call fcn.00515d20
lea eax, [0x8ae350]
mov dword [esp], eax
lea eax, [0x68f280]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.00468840
nop
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x58]
mov edx, eax
jmp 0x5156c2
mov eax, ebx
test eax, eax
jle 0x5156d9
lea ebx, [eax - 1]
cmp edx, ebx
jbe 0x515794
mov ebp, dword [ecx + eax*4 - 4]
test ebp, ebp
je 0x5156c0
mov edx, dword [esp + 0x2c]
cmp eax, edx
ja 0x51578d
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x30]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x18], ebx
call fcn.00517380
nop
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x5c]
mov edx, eax
jmp 0x515728
mov eax, ebx
test eax, eax
jle 0x51573b
lea ebx, [eax - 1]
cmp edx, ebx
jbe 0x515784
mov ebp, dword [ecx + eax*4 - 4]
test ebp, ebp
je 0x515726
mov edx, dword [esp + 0x30]
cmp eax, edx
ja 0x51577d
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x9c], ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0xa0], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], edx
add esp, 0x68
ret
mov ecx, eax
call fcn.0045f070
mov eax, ebx
mov ecx, edx
call fcn.0045f030
mov ecx, eax
call fcn.0045f070
mov eax, ebx
mov ecx, edx
call fcn.0045f030
mov ecx, edi
mov edx, eax
call fcn.0045f070
mov eax, ecx
mov ecx, edx
call fcn.0045f030
call fcn.0045f070
mov ecx, eax
call fcn.0045f070
mov eax, ebp
mov ecx, 0x100
call fcn.0045f040
call fcn.0045f030
nop
call fcn.0045dba0
jmp fcn.00515370