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

Disassembly:
mov ecx, dword [0x6c4e70]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5076e1
sub esp, 0x74
mov edx, dword [esp + 0x78]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x50749c
mov ecx, dword [edx + 4]
cmp ecx, eax
jbe 0x5076db
mov ebx, dword [edx]
lea ebp, [eax + eax*2]
lea eax, [ebx + ebp*8]
cmp byte [eax], 3
jne 0x507490
lea ebp, [ebx + ebp*8 + 8]
mov ebp, dword [ebp]
xchg ebp, eax
test al, 4
xchg ebp, eax
je 0x507490
mov dword [esp + 0x10], ecx
xor eax, eax
jmp 0x5074b0
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
add ebx, 0x18
inc eax
mov ecx, dword [esp + 0x10]
cmp eax, ecx
jge 0x507556
lea edi, [esp + 0x38]
mov esi, ebx
call fcn.004615c4
mov ecx, dword [edx + 4]
mov ebp, dword [esp + 0x3c]
cmp ebp, ecx
jae 0x5076d4
mov esi, dword [edx]
lea ebp, [ebp + ebp*2]
lea ebp, [esi + ebp*8]
movzx edi, byte [esp + 0x38]
movzx ebp, byte [ebp]
xchg edi, eax
cmp al, 1
xchg edi, eax
ja 0x50750c
xchg ebp, eax
cmp al, 4
xchg ebp, eax
je 0x507532
mov ebp, dword [esp + 0x40]
cmp ebp, ecx
jae 0x5076cd
lea ecx, [ebp + ebp*2]
lea ecx, [esi + ecx*8]
cmp byte [ecx], 4
jne 0x5074a8
jmp 0x507532
xchg edi, eax
cmp al, 3
xchg edi, eax
jne 0x507525
xchg ebp, eax
cmp al, 4
xchg ebp, eax
jne 0x5074a8
mov ecx, dword [esp + 0x40]
test cl, 8
jne 0x5074a8
jmp 0x50753e
xchg ebp, eax
cmp al, 4
xchg ebp, eax
jne 0x5074a8
jmp 0x50754a
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
mov dword [esp], edx
call fcn.00505950
mov eax, dword [esp + 4]
mov dword [esp], eax
call fcn.00505cf0
mov eax, dword [esp + 4]
test eax, eax
je 0x507588
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx]
nop
mov ecx, dword [ecx + 4]
mov dword [esp + 0x10], ecx
xor ebx, ebx
jmp 0x507598
mov dword [esp + 0x7c], eax
add esp, 0x74
ret
add edx, 0x18
inc ebx
mov ecx, dword [esp + 0x10]
cmp ebx, ecx
jge 0x507588
lea edi, [esp + 0x20]
mov esi, edx
call fcn.004615c4
movzx ecx, byte [esp + 0x20]
cmp cl, 6
ja 0x5075f5
cmp cl, 1
jbe 0x507590
mov ecx, dword [eax + 4]
cmp ebx, ecx
jae 0x5076c6
mov ecx, dword [eax]
lea ebp, [ebx + ebx*8]
mov dword [ecx + ebp*4 + 0x1c], 0
mov dword [ecx + ebp*4 + 0x20], 0
mov esi, dword [0x6c4f80]
test esi, esi
je 0x5075eb
mov esi, dword [ecx + ebp*4 + 0x18]
call fcn.00460ef0
mov dword [edi], esi
mov dword [ecx + ebp*4 + 0x18], 0
jmp 0x507590
cmp cl, 7
je 0x507590
cmp cl, 0xa
ja 0x507590
mov ecx, dword [eax + 4]
cmp ebx, ecx
jae 0x5076bf
mov ecx, dword [eax]
lea ebp, [ebx + ebx*8]
mov dword [ecx + ebp*4 + 0x1c], 0
mov dword [ecx + ebp*4 + 0x20], 0
mov esi, dword [0x6c4f80]
test esi, esi
je 0x507634
mov esi, dword [ecx + ebp*4 + 0x18]
call fcn.00460ef0
mov dword [edi], esi
mov dword [ecx + ebp*4 + 0x18], 0
lea edi, [esp + 0x50]
xor eax, eax
call fcn.004610e7
lea edi, [esp + 0x50]
lea esi, [esp + 0x20]
call fcn.004615c4
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 4]
cmp ebx, eax
jae 0x5076b6
mov eax, dword [ecx]
mov esi, dword [0x6c4f80]
lea edi, [eax + ebp*4]
test esi, esi
je 0x5076a4
mov dword [esp + 0xc], ebx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], edi
lea eax, [0x56b180]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x50]
mov dword [esp + 8], eax
call fcn.00410740
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x18]
lea esi, [esp + 0x50]
call fcn.004615a6
mov eax, dword [esp + 0x14]
jmp 0x507590
mov ecx, eax
mov eax, ebx
call fcn.00460f60
mov eax, ebx
call fcn.00460f60
mov eax, ebx
call fcn.00460f60
mov eax, ebp
call fcn.00460f70
mov eax, ebp
call fcn.00460f70
call fcn.00460f60
nop
call fcn.0045faf0
jmp fcn.00507440