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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x531f35
sub esp, 0x6c
mov edx, dword [esp + 0x70]
mov ebx, dword [edx]
mov ebp, dword [ebx + 8]
mov ebx, dword [ebx + 4]
lea esi, [ebp - 1]
test esi, esi
jl 0x531c42
mov ebx, dword [ebx + ebp*4 - 4]
nop
cmp ebx, 0x10000
jb 0x531c13
shr ebx, 0x10
mov eax, 0x10
jmp 0x531c15
xor eax, eax
cmp ebx, 0x100
jb 0x531c23
shr ebx, 8
add eax, 8
cmp ebx, 0x100
jae 0x531f28
shl esi, 5
lea ecx, [0x650f2a]
movzx ebx, byte [ecx + ebx]
add eax, ebx
add eax, esi
jmp 0x531c4a
lea ecx, [0x650f2a]
xor eax, eax
lea ebx, [eax + 7]
sar ebx, 0x1f
shr ebx, 0x1d
lea eax, [eax + ebx + 7]
sar eax, 3
mov ebx, dword [esp + 0x88]
cmp ebx, eax
jne 0x531ef2
mov byte [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 0x84]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x14], eax
call fcn.004faf10
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], edx
mov byte [esp + 0x5c], 0
mov byte [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
lea eax, [esp + 0x4c]
mov dword [esp], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
lea ecx, [esp + 0x5c]
mov dword [esp + 8], ecx
call fcn.005321b0
mov eax, dword [esp + 0x70]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
mov edx, dword [eax + 8]
mov eax, dword [eax + 4]
lea ebx, [edx - 1]
test ebx, ebx
jl 0x531d70
mov edx, dword [eax + edx*4 - 4]
nop
cmp edx, 0x10000
jb 0x531d40
shr edx, 0x10
mov eax, 0x10
jmp 0x531d42
xor eax, eax
cmp edx, 0x100
jb 0x531d50
shr edx, 8
add eax, 8
cmp edx, 0x100
jae 0x531f1c
shl ebx, 5
lea ebp, [0x650f2a]
movzx edx, byte [ebp + edx]
add edx, eax
add edx, ebx
jmp 0x531d78
lea ebp, [0x650f2a]
xor edx, edx
lea ebx, [edx + 6]
sar ebx, 0x1f
shr ebx, 0x1d
lea ebx, [edx + ebx + 6]
mov esi, dword [ecx + 8]
mov edi, dword [ecx + 4]
mov eax, edx
lea edx, [esi - 1]
test edx, edx
jl 0x531dd5
mov esi, dword [edi + esi*4 - 4]
nop
cmp esi, 0x10000
jb 0x531dab
shr esi, 0x10
mov edi, 0x10
jmp 0x531dad
xor edi, edi
cmp esi, 0x100
jb 0x531dbb
shr esi, 8
add edi, 8
cmp esi, 0x100
jae 0x531f10
shl edx, 5
movzx ebp, byte [ebp + esi]
add ebp, edi
add edx, ebp
jmp 0x531dd7
xor edx, edx
sar ebx, 3
mov ebp, ebx
shl ebx, 3
cmp edx, ebx
jg 0x531ed4
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ebp
lea eax, [0x60da40]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.00447550
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x44]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
call fcn.004f24b0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x38], edx
mov ebx, dword [esp + 0x90]
test ebx, ebx
je 0x531e50
mov ebx, dword [ebx]
jmp 0x531e52
xor ebx, ebx
mov dword [esp + 0x30], ebx
mov eax, dword [esp + 0x74]
mov dword [esp], eax
call fcn.004ed290
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x78]
mov dword [esp], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x80]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x40]
dec edx
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
call fcn.00531790
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
add esp, 0x6c
ret
mov eax, dword [0x7ef6c0]
mov ecx, dword [0x7ef6c4]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
add esp, 0x6c
ret
mov eax, dword [0x7ef6c0]
mov ecx, dword [0x7ef6c4]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
add esp, 0x6c
ret
mov eax, esi
mov ecx, 0x100
call fcn.0045e660
mov eax, edx
mov ecx, 0x100
call fcn.0045e660
mov eax, ebx
mov ecx, 0x100
call fcn.0045e660
nop
call fcn.0045d190
jmp fcn.00531bd0