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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x54c0f7
sub esp, 0x44
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 0x18]
mov edx, dword [esp + 0x68]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x54]
lea edx, [ecx + 7]
sar edx, 0x1f
shr edx, 0x1d
lea edx, [edx + ecx + 7]
mov ebx, dword [esp + 0x4c]
cmp eax, ebx
jne 0x54c072
sar edx, 3
mov ebp, dword [esp + 0x5c]
lea esi, [eax + ebp + 2]
cmp edx, esi
jl 0x54c027
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], edx
lea eax, [0x633cc0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.00442930
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x5c]
mov ebx, edx
sub edx, ecx
mov ebp, dword [esp + 0x20]
sub edx, ebp
lea ebp, [edx + ecx - 1]
cmp ebx, ebp
jb 0x54c0ed
lea esi, [ebx - 1]
cmp ebx, esi
jb 0x54c0e4
cmp ebp, esi
ja 0x54c0db
mov dword [esp + 0x40], eax
mov dword [esp + 0x38], edx
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x34], esi
lea eax, [0x62fd40]
mov dword [esp], eax
call fcn.0040b4f0
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x68]
mov dword [esp], edx
mov dword [esp + 8], 8
mov dword [esp + 0xc], 8
call ecx
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x68]
mov dword [esp], edx
mov ebx, dword [esp + 0x48]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x68]
mov dword [esp], edx
mov ebx, dword [esp + 0x58]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x5c]
mov dword [esp + 8], ebp
mov esi, dword [esp + 0x60]
mov dword [esp + 0xc], esi
call ecx
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x68]
mov dword [esp], edx
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x2c]
sub ebx, ebp
mov edi, ebx
neg ebx
sar ebx, 0x1f
and ebx, ebp
mov esi, dword [esp + 0x40]
add ebx, esi
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov dword [esp + 0xc], edi
call ecx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x28], edx
mov ebx, dword [esp + 0x64]
mov ebp, dword [ebx + 0x14]
mov esi, dword [esp + 0x68]
mov dword [esp], esi
call ebp
mov eax, dword [esp + 0x38]
lea ecx, [eax - 2]
mov edx, dword [esp + 0x2c]
cmp ecx, edx
jae 0x54c0d2
mov ebx, dword [esp + 0x40]
mov byte [eax + ebx - 2], 1
dec eax
cmp edx, eax
jb 0x54c0cb
mov ecx, edx
sub edx, eax
mov ebp, dword [esp + 0x30]
mov esi, ebp
sub ebp, eax
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and eax, ebp
add eax, ebx
mov ebp, dword [esp + 0x5c]
cmp edx, ebp
jle 0x54c020
mov edx, dword [esp + 0x58]
cmp eax, edx
je 0x54bf71
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045b690
mov eax, dword [esp + 0x40]
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 + 0x64]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x3c]
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.0054d420
mov eax, dword [esp + 0x40]
movzx ecx, byte [eax]
mov edx, dword [esp + 0x30]
mov ebx, edx
shl edx, 3
mov ebp, dword [esp + 0x54]
sub edx, ebp
test edx, edx
jl 0x54c0c6
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 edi, ebp
and esi, edi
xchg esi, ebx
mov byte [eax], bl
xchg esi, ebx
mov edx, dword [esp + 0x34]
cmp ebx, edx
jbe 0x54c0bd
mov byte [ebx + eax - 1], 0xbc
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
add esp, 0x44
ret
mov ebp, edx
jmp 0x54bf59
lea eax, [0x63eca0]
mov dword [esp], eax
call fcn.0040b4f0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x30
lea ecx, [0x67fde5]
mov dword [eax], ecx
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
lea ecx, [0x6c8150]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
add esp, 0x44
ret
lea eax, [0x63eca0]
mov dword [esp], eax
call fcn.0040b4f0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x30
lea ecx, [0x67fdb5]
mov dword [eax], ecx
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
lea ecx, [0x6c8150]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
add esp, 0x44
ret
mov eax, edx
mov ecx, ebx
call fcn.0045ad60
call fcn.0042f400
mov ecx, edx
call fcn.0045adc0
mov eax, ecx
mov ecx, edx
call fcn.0045ad60
mov eax, ebp
mov ecx, esi
call fcn.0045adc0
mov ecx, esi
mov edx, ebx
call fcn.0045ada0
mov ecx, ebp
mov edx, ebx
call fcn.0045ada0
nop
call fcn.00459790
jmp fcn.0054bd70