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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5434bc
sub esp, 0x48
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x18]
mov edx, dword [esp + 0x6c]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x58]
lea edx, [ecx + 7]
sar edx, 0x1f
shr edx, 0x1d
lea edx, [edx + ecx + 7]
mov ebx, dword [esp + 0x50]
cmp eax, ebx
jne 0x543432
sar edx, 3
mov ebp, dword [esp + 0x60]
lea esi, [eax + ebp + 2]
cmp edx, esi
jl 0x5433e4
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], edx
lea eax, [0x5a5da0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.004451f0
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x60]
mov ebx, edx
sub edx, ecx
mov ebp, dword [esp + 0x20]
sub edx, ebp
lea ebp, [edx + ecx]
lea esi, [edx + ecx - 1]
cmp ebx, esi
jb 0x5434b2
lea edi, [ebx - 1]
cmp ebx, edi
jb 0x5434a9
cmp esi, edi
ja 0x5434a0
mov dword [esp + 0x44], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], ebp
lea eax, [0x5a2da0]
mov dword [esp], eax
call fcn.0040b910
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x6c]
mov dword [esp], edx
mov dword [esp + 8], 8
mov dword [esp + 0xc], 8
call ecx
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x6c]
mov dword [esp], edx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x6c]
mov dword [esp], edx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x60]
mov dword [esp + 8], ebp
mov esi, dword [esp + 0x64]
mov dword [esp + 0xc], esi
call ecx
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x6c]
mov dword [esp], edx
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x34]
sub ebx, ebp
inc ebx
mov ebp, ebx
neg ebx
sar ebx, 0x1f
mov edi, dword [esp + 0x2c]
and ebx, edi
mov esi, dword [esp + 0x44]
add ebx, esi
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov dword [esp + 0xc], ebp
call ecx
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x40], edx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x24], ebx
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x28], ebp
mov esi, dword [esp + 0x6c]
mov dword [esp], esi
call ecx
mov eax, dword [esp + 0x3c]
lea ecx, [eax - 2]
mov edx, dword [esp + 0x2c]
cmp ecx, edx
jae 0x543497
mov ebx, dword [esp + 0x44]
mov byte [eax + ebx - 2], 1
lea ebp, [eax - 1]
cmp edx, ebp
jb 0x54348e
mov ecx, dword [esp + 0x30]
sub ecx, eax
lea eax, [ecx + 1]
neg eax
sar eax, 0x1f
and ebp, eax
lea eax, [ebp + ebx]
mov ecx, dword [esp + 0x5c]
cmp ecx, eax
je 0x543332
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.0045eba0
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov ecx, dword [esp + 0x2c]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x68]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x1c], edx
call fcn.00544100
mov eax, dword [esp + 0x44]
movzx ecx, byte [eax]
mov edx, dword [esp + 0x30]
mov ebx, edx
shl edx, 3
mov ebp, dword [esp + 0x58]
sub edx, ebp
test edx, edx
jl 0x543489
cmp edx, 8
sbb ebp, ebp
mov esi, ecx
mov ecx, edx
mov edi, 0xffffffff
xchg edi, eax
shr al, cl
xchg edi, eax
and ebp, edi
and esi, ebp
xchg esi, ebx
mov byte [eax], bl
xchg esi, ebx
mov edx, dword [esp + 0x38]
cmp ebx, edx
jbe 0x543480
mov byte [ebx + eax - 1], 0xbc
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
add esp, 0x48
ret
lea eax, [0x5abc80]
mov dword [esp], eax
call fcn.0040b910
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x30
lea ecx, [0x5dc61e]
mov dword [eax], ecx
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
lea ecx, [0x61098c]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
add esp, 0x48
ret
lea eax, [0x5abc80]
mov dword [esp], eax
call fcn.0040b910
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x30
lea ecx, [0x5dc5ee]
mov dword [eax], ecx
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
lea ecx, [0x61098c]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
add esp, 0x48
ret
mov eax, edx
mov ecx, ebx
call fcn.0045e2a0
call fcn.00430560
mov eax, ebp
mov ecx, edx
call fcn.0045e300
mov eax, ecx
mov ecx, edx
call fcn.0045e2a0
mov eax, esi
mov ecx, edi
call fcn.0045e300
mov ecx, edi
mov edx, ebx
call fcn.0045e2e0
mov ecx, esi
mov edx, ebx
call fcn.0045e2e0
nop
call fcn.0045ccc0
jmp fcn.00543130