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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x14]
cmp eax, dword [ecx + 8]
jbe 0x539b37
sub esp, 0x94
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
call fcn.0053d500
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + 0x10]
movzx ebx, byte [esp + 0x11]
test bl, bl
je 0x539ac1
mov byte [esp + 0x42], al
mov dword [esp + 0x50], ecx
mov byte [esp + 0x43], dl
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor edi, edi
jmp 0x5396f3
mov eax, dword [esp + 0x48]
lea ebp, [eax + 1]
mov eax, ecx
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x58]
mov edi, edx
movzx edx, byte [esp + 0x43]
mov dword [esp + 0x58], esi
mov dword [esp + 0x48], ebp
mov esi, dword [esp + 0x9c]
cmp ebx, esi
jge 0x539951
mov eax, dword [esp + 0x98]
mov dword [esp], eax
mov dword [esp + 4], esi
mov ecx, dword [esp + 0xa0]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
call fcn.00539060
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
movzx ebx, byte [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
test ecx, ecx
jne 0x53991b
mov dword [esp + 0x58], ecx
cmp esi, 0x14
jg 0x5398e5
cmp esi, 0xc
jne 0x5398ce
mov esi, 0x13
movzx ecx, byte [esp + 0x42]
test cl, cl
je 0x53981a
nop
lea ebx, [ebp + eax]
cmp ebx, eax
jge 0x539809
mov eax, 1
test al, al
je 0x5396db
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
lea eax, [0x819e2e]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], 0x12
lea eax, [0x8b4610]
mov dword [esp], eax
lea eax, [esp + 0x6c]
mov dword [esp + 4], eax
call fcn.00407b00
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], ecx
add esp, 0x94
ret
mov ebp, dword [esp + 0x9c]
cmp ebx, ebp
setg al
jmp 0x53978b
test edi, edi
je 0x5398a5
mov ebx, 1
test bl, bl
je 0x539779
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
lea eax, [0x81bcaa]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], 0x15
lea eax, [0x8b45f0]
mov dword [esp], eax
lea eax, [esp + 0x74]
mov dword [esp + 4], eax
call fcn.00407b00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], eax
add esp, 0x94
ret
movzx edi, byte [esp + 0x43]
xchg edi, eax
cmp bl, al
xchg edi, eax
je 0x5398ba
mov ebx, 1
jmp 0x539827
mov edi, dword [esp + 0x50]
cmp esi, edi
xchg esi, ebx
setne bl
xchg esi, ebx
mov ebx, esi
jmp 0x539827
cmp esi, 0x12
je 0x539767
cmp esi, 0x14
je 0x539767
jmp 0x53976c
cmp esi, 0x16
je 0x539767
lea ecx, [esi - 0x17]
cmp ecx, 1
ja 0x539904
mov ecx, dword [esp + 0x58]
mov esi, 0x17
jmp 0x53976c
cmp esi, 0x1b
jne 0x539912
mov ecx, dword [esp + 0x58]
jmp 0x539767
mov ecx, dword [esp + 0x58]
jmp 0x53976c
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
add esp, 0x94
ret
mov dword [esp + 0x68], edi
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebp
call fcn.0047b530
mov eax, dword [esp + 0x14]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x60], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x54], edx
lea edi, [esp + 0x7c]
mov ebx, eax
xor eax, eax
call fcn.0044f1ca
lea eax, [esp + 0x1c]
mov dword [esp + 0x5c], eax
xor ecx, ecx
xor ebp, ebp
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x58]
jmp 0x5399cb
mov ebx, dword [esp + 0x4c]
inc ebx
mov ebp, eax
mov esi, ecx
mov edi, edx
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x54]
mov ecx, ebx
mov ebx, dword [esp + 0x64]
mov eax, dword [esp + 0x48]
cmp ecx, eax
jge 0x539a93
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x44], ebp
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
call fcn.00477ad0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [esp + 0x98]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x18], ebx
mov edi, dword [esp + 0x5c]
lea esi, [esp + 0x7c]
call fcn.0044f6a4
call fcn.00539b50
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
test edx, edx
je 0x5399b2
mov eax, dword [esp + 0x60]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], edx
mov dword [esp + 0xc4], ecx
add esp, 0x94
ret
mov eax, dword [esp + 0x60]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], edx
mov dword [esp + 0xc0], edi
mov dword [esp + 0xc4], esi
add esp, 0x94
ret
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
lea eax, [0x81e906]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], 0x19
lea eax, [0x8b45f0]
mov dword [esp], eax
lea eax, [esp + 0x74]
mov dword [esp + 4], eax
call fcn.00407b00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], eax
add esp, 0x94
ret
call fcn.0044d880
jmp fcn.00539670