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

Disassembly:
mov ecx, dword [0x6d0e30]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x78]
cmp eax, dword [ecx + 8]
jbe 0x53a167
sub esp, 0xf8
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax]
mov dword [esp + 0x5c], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x24], edx
call fcn.0040d4d0
mov eax, dword [esp]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x24]
jmp 0x539713
mov dword [ebp], ebx
mov edx, ecx
mov ecx, eax
mov eax, dword [esp + 0x60]
test edx, edx
je 0x539908
xor ebx, ebx
jmp 0x53992d
cmp ebx, edx
ja 0x53a15d
sub edx, ebx
mov ebp, edx
neg edx
sar edx, 0x1f
and ebx, edx
add ebx, ecx
test ebp, ebp
je 0x539908
xor ecx, ecx
jmp 0x539944
cmp ecx, ebp
jmp 0x539750
cmp ecx, ebp
jmp 0x539750
cmp ecx, ebp
jge 0x539ca4
jae 0x53a154
xchg esi, eax
cmp al, 0x3a
xchg esi, eax
jne 0x539b80
lea esi, [ecx + 1]
cmp ebp, esi
jle 0x539a96
jbe 0x53a14b
movzx edi, byte [ecx + ebx + 1]
xchg edi, eax
cmp al, 0x22
xchg edi, eax
jne 0x539972
sub ebp, ecx
mov dword [esp + 0x54], ebp
lea edx, [ebp - 1]
mov edi, edx
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, esi
lea esi, [ebx + edi]
mov edi, 1
jmp 0x539d93
cmp edi, edx
jge 0x53a051
lea ebp, [edi + 1]
cmp ebp, edx
ja 0x53a13b
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x44], ecx
mov dword [esp + 0xd4], esi
mov dword [esp + 0x50], edi
mov dword [esp + 0x4c], ebp
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.00479e70
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x14]
test eax, eax
jne 0x539ee5
mov dword [esp + 0x20], edx
mov dword [esp + 0x58], ecx
lea eax, [0x5590a0]
mov dword [esp], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x5c]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0xc], edx
call fcn.00410920
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
sub eax, ecx
add eax, 0xfffffffe
mov ecx, eax
neg eax
sar eax, 0x1f
mov edx, dword [esp + 0x4c]
and eax, edx
mov edx, dword [esp + 0x10]
mov ebx, dword [edx + 8]
mov ebp, dword [edx + 4]
inc ebp
mov esi, dword [esp + 0xd4]
add eax, esi
mov esi, dword [edx]
cmp ebx, ebp
jae 0x5398ce
mov dword [esp + 0x54], ecx
mov dword [esp + 0xd0], eax
mov dword [esp + 0xcc], edx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x557540]
mov dword [esp + 0x10], eax
call fcn.0044b6b0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xcc]
mov dword [ebx + 8], eax
mov eax, dword [0x6d0ed8]
test eax, eax
je 0x5398bb
call fcn.00464b00
mov dword [edi], ecx
mov ebp, dword [ebx]
mov dword [edi + 4], ebp
mov dword [ebx], ecx
mov eax, dword [esp + 0xd0]
mov ebp, edx
mov esi, ecx
mov ecx, dword [esp + 0x54]
mov edx, ebx
mov dword [edx + 4], ebp
lea ebx, [esi + ebp*8 - 4]
mov edi, dword [esp + 0x20]
mov dword [ebx], edi
mov ebx, dword [0x6d0ed8]
lea ebp, [esi + ebp*8 - 8]
test ebx, ebx
jne 0x5398f2
mov ebx, dword [esp + 0x58]
jmp 0x539708
call fcn.00464b00
mov ebx, dword [esp + 0x58]
mov dword [edi], ebx
mov esi, dword [ebp]
mov dword [edi + 4], esi
jmp 0x539708
mov dword [esp + 0x100], eax
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
add esp, 0xf8
ret
inc ebx
cmp ebx, edx
jge 0x539724
lea ebp, [ecx + ebx]
cmp byte [ebp], 0x20
je 0x53992c
jmp 0x539722
inc ecx
cmp ecx, ebp
jge 0x539ca4
movzx esi, byte [ecx + ebx]
xchg esi, eax
cmp al, 0x20
xchg esi, eax
je 0x53974e
xchg esi, eax
cmp al, 0x3a
xchg esi, eax
je 0x53974a
xchg esi, eax
cmp al, 0x22
xchg esi, eax
jne 0x539943
jmp 0x539746
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
lea eax, [0x5575c0]
mov dword [esp + 0x9c], eax
xchg edi, ebx
movzx eax, bl
xchg edi, ebx
lea ecx, [0x6858c0]
lea eax, [ecx + eax*8]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0040a330
mov eax, dword [esp + 8]
lea ecx, [0x557540]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], eax
lea eax, [0x588bde]
mov dword [esp], eax
mov dword [esp + 4], 0x37
lea eax, [esp + 0x9c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b5ed0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x70], ecx
lea edx, [0x5606a0]
mov dword [esp], edx
call fcn.0040caa0
mov eax, dword [esp + 4]
mov dword [eax], 0xa
mov ecx, dword [esp + 0x34]
mov dword [eax + 8], ecx
mov ecx, dword [0x6d0ed8]
test ecx, ecx
jne 0x539a62
mov ecx, dword [esp + 0x70]
jmp 0x539a6d
call fcn.00464af0
mov ecx, dword [esp + 0x70]
mov dword [edi], ecx
mov dword [eax + 4], ecx
mov dword [esp + 0x100], 0
lea ecx, [0x5b6404]
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], eax
add esp, 0xf8
ret
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0040a330
mov eax, dword [esp + 8]
lea ecx, [0x557540]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], eax
lea eax, [0x588ba7]
mov dword [esp], eax
mov dword [esp + 4], 0x37
lea eax, [esp + 0xac]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004b5ed0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x74], ecx
lea edx, [0x5606a0]
mov dword [esp], edx
call fcn.0040caa0
mov eax, dword [esp + 4]
mov dword [eax], 0xa
mov ecx, dword [esp + 0x38]
mov dword [eax + 8], ecx
mov ecx, dword [0x6d0ed8]
test ecx, ecx
jne 0x539b4c
mov ecx, dword [esp + 0x74]
jmp 0x539b57
call fcn.00464af0
mov ecx, dword [esp + 0x74]
mov dword [edi], ecx
mov dword [eax + 4], ecx
mov dword [esp + 0x100], 0
lea ecx, [0x5b6404]
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], eax
add esp, 0xf8
ret
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
lea eax, [0x5575c0]
mov dword [esp + 0xb4], eax
xchg esi, ebx
movzx eax, bl
xchg esi, ebx
lea ecx, [0x6858c0]
lea eax, [ecx + eax*8]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0040a330
mov eax, dword [esp + 8]
lea ecx, [0x557540]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], eax
lea eax, [0x5885e4]
mov dword [esp], eax
mov dword [esp + 4], 0x33
lea eax, [esp + 0xb4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b5ed0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x78], ecx
lea edx, [0x5606a0]
mov dword [esp], edx
call fcn.0040caa0
mov eax, dword [esp + 4]
mov dword [eax], 0xa
mov ecx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [0x6d0ed8]
test ecx, ecx
jne 0x539c70
mov ecx, dword [esp + 0x78]
jmp 0x539c7b
call fcn.00464af0
mov ecx, dword [esp + 0x78]
mov dword [edi], ecx
mov dword [eax + 4], ecx
mov dword [esp + 0x100], 0
lea ecx, [0x5b6404]
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], eax
add esp, 0xf8
ret
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0040a330
mov eax, dword [esp + 8]
lea ecx, [0x557540]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
lea eax, [0x588f8f]
mov dword [esp], eax
mov dword [esp + 4], 0x39
lea eax, [esp + 0xc4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004b5ed0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x7c], ecx
lea edx, [0x5606a0]
mov dword [esp], edx
call fcn.0040caa0
mov eax, dword [esp + 4]
mov dword [eax], 0xa
mov ecx, dword [esp + 0x40]
mov dword [eax + 8], ecx
mov ecx, dword [0x6d0ed8]
test ecx, ecx
jne 0x539d5a
mov ecx, dword [esp + 0x7c]
jmp 0x539d65
call fcn.00464af0
mov ecx, dword [esp + 0x7c]
mov dword [edi], ecx
mov dword [eax + 4], ecx
mov dword [esp + 0x100], 0
lea ecx, [0x5b6404]
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], eax
add esp, 0xf8
ret
inc edi
mov ebp, dword [esp + 0x54]
cmp edi, edx
jge 0x53a051
jae 0x53a142
movzx ebp, byte [edi + esi]
xchg ebp, eax
cmp al, 0x22
xchg ebp, eax
je 0x5397ab
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x539dc1
xchg ebp, eax
cmp al, 0x5c
xchg ebp, eax
jne 0x539d8e
inc edi
jmp 0x539d8e
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.0040a330
mov eax, dword [esp + 8]
lea ecx, [0x557540]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0xfc]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.0040a330
mov eax, dword [esp + 8]
lea ecx, [0x557540]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
lea eax, [0x5878a7]
mov dword [esp], eax
mov dword [esp + 4], 0x2e
lea eax, [esp + 0x8c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b5ed0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x6c], ecx
lea edx, [0x5606a0]
mov dword [esp], edx
call fcn.0040caa0
mov eax, dword [esp + 4]
mov dword [eax], 0xa
mov ecx, dword [esp + 0x30]
mov dword [eax + 8], ecx
mov ecx, dword [0x6d0ed8]
test ecx, ecx
jne 0x539eb1
mov ecx, dword [esp + 0x6c]
jmp 0x539ebc
call fcn.00464af0
mov ecx, dword [esp + 0x6c]
mov dword [edi], ecx
mov dword [eax + 4], ecx
mov dword [esp + 0x100], 0
lea ecx, [0x5b6404]
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], eax
add esp, 0xf8
ret
mov dword [esp + 0x80], ebx
mov dword [esp + 0x48], eax
lea edi, [esp + 0xd8]
xor eax, eax
call fcn.00464ce8
mov ecx, dword [esp + 0x5c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 4], ecx
call fcn.0040a330
mov ecx, dword [esp + 8]
lea edx, [0x557540]
mov dword [esp + 0xd8], edx
mov dword [esp + 0xdc], ecx
mov ecx, dword [esp + 0xd4]
mov dword [esp], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 4], ecx
call fcn.0040a330
mov ecx, dword [esp + 8]
lea edx, [0x557540]
mov dword [esp + 0xe0], edx
mov dword [esp + 0xe4], ecx
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x539f66
mov eax, dword [ecx + 4]
jmp 0x539f68
mov eax, ecx
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0040a330
mov eax, dword [esp + 8]
lea ecx, [0x557540]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], eax
lea eax, [0x5878d5]
mov dword [esp], eax
mov dword [esp + 4], 0x2e
lea eax, [esp + 0xd8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 4
mov dword [esp + 0x10], 4
call fcn.004b5ed0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x64], ecx
lea edx, [0x5606a0]
mov dword [esp], edx
call fcn.0040caa0
mov eax, dword [esp + 4]
mov dword [eax], 0xa
mov ecx, dword [esp + 0x28]
mov dword [eax + 8], ecx
mov ecx, dword [0x6d0ed8]
test ecx, ecx
jne 0x53a01d
mov ecx, dword [esp + 0x64]
jmp 0x53a028
call fcn.00464af0
mov ecx, dword [esp + 0x64]
mov dword [edi], ecx
mov dword [eax + 4], ecx
mov dword [esp + 0x100], 0
lea ecx, [0x5b6404]
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], eax
add esp, 0xf8
ret
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0040a330
mov eax, dword [esp + 8]
lea ecx, [0x557540]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
lea eax, [0x588884]
mov dword [esp], eax
mov dword [esp + 4], 0x35
lea eax, [esp + 0x84]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004b5ed0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x68], ecx
lea edx, [0x5606a0]
mov dword [esp], edx
call fcn.0040caa0
mov eax, dword [esp + 4]
mov dword [eax], 0xa
mov ecx, dword [esp + 0x2c]
mov dword [eax + 8], ecx
mov ecx, dword [0x6d0ed8]
test ecx, ecx
jne 0x53a107
mov ecx, dword [esp + 0x68]
jmp 0x53a112
call fcn.00464af0
mov ecx, dword [esp + 0x68]
mov dword [edi], ecx
mov dword [eax + 4], ecx
mov dword [esp + 0x100], 0
lea ecx, [0x5b6404]
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], eax
add esp, 0xf8
ret
mov ecx, ebp
call fcn.00464b90
mov eax, edi
mov ecx, edx
call fcn.00464b70
mov eax, esi
mov ecx, ebp
call fcn.00464b70
mov eax, ecx
mov ecx, ebp
call fcn.00464b70
mov eax, ebx
mov ecx, edx
call fcn.00464bd0
nop
call fcn.004636f0
jmp fcn.005396c0