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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x54b843
sub esp, 0x50
mov eax, dword [esp + 0x60]
test eax, eax
jne 0x54b723
xor eax, eax
mov ecx, dword [esp + 0x68]
xor edx, edx
xor ebx, ebx
xor ebp, ebp
test edx, edx
jne 0x54b6fc
mov dword [esp + 0x38], ebx
mov edx, dword [esp + 0x5c]
mov ebp, dword [edx]
lea esi, [ecx + eax]
mov edi, dword [ebp + 8]
mov ebp, dword [ebp + 4]
lea edx, [edi - 1]
test edx, edx
jl 0x54b6f5
mov ebp, dword [ebp + edi*4 - 4]
nop
cmp ebp, 0x10000
jb 0x54b6ee
shr ebp, 0x10
mov edi, 0x10
cmp ebp, 0x100
jb 0x54b46e
shr ebp, 8
add edi, 8
cmp ebp, 0x100
jae 0x54b819
shl edx, 5
lea ebx, [0x7e6380]
movzx ebx, byte [ebp + ebx]
add ebx, edi
add edx, ebx
lea ebx, [ecx + eax + 0xb]
lea ebp, [edx + 7]
sar ebp, 0x1f
shr ebp, 0x1d
lea edx, [ebp + edx + 7]
sar edx, 3
cmp edx, ebx
jl 0x54b6bb
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x24], esi
mov dword [esp + 0x30], edx
mov dword [esp + 0x28], eax
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 ecx, dword [esp + 0x30]
cmp ecx, 1
jbe 0x54b80f
mov byte [eax + 1], 1
mov ebx, dword [esp + 0x24]
mov edx, 2
jmp 0x54b4f5
mov byte [eax + edx], 0xff
inc edx
mov ecx, ebp
mov ebp, ecx
sub ecx, ebx
lea esi, [ecx - 1]
cmp edx, esi
jge 0x54b509
cmp ebp, edx
ja 0x54b4ee
jmp 0x54b806
mov ebx, dword [esp + 0x2c]
mov edx, ebp
sub ebp, ebx
cmp edx, ebp
jb 0x54b7ff
cmp ecx, ebp
ja 0x54b7f6
mov ebx, ebp
sub ebp, ecx
mov esi, edx
sub edx, ecx
neg edx
sar edx, 0x1f
and ecx, edx
add ecx, eax
mov edx, dword [esp + 0x28]
cmp ebp, edx
jle 0x54b6b4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x34], ebx
mov ebp, dword [esp + 0x38]
cmp ecx, ebp
je 0x54b55e
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
call fcn.0045b690
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov edx, eax
sub eax, ecx
mov ebx, eax
neg eax
sar eax, 0x1f
and ecx, eax
mov eax, dword [esp + 0x3c]
add ecx, eax
mov ebp, dword [esp + 0x68]
cmp ebx, ebp
jle 0x54b6ad
mov ebx, dword [esp + 0x64]
cmp ecx, ebx
je 0x54b59d
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.0045b690
mov byte [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ecx
call fcn.00516bd0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
mov byte [esp + 0x40], 0
mov eax, dword [esp + 0x54]
mov dword [esp], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
lea eax, [esp + 0x40]
mov dword [esp + 0xc], eax
call fcn.0054deb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
test eax, eax
je 0x54b662
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], edx
add esp, 0x50
ret
mov dword [esp], ecx
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
call fcn.0050be00
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
add esp, 0x50
ret
mov ebp, ebx
jmp 0x54b585
mov edx, ebp
jmp 0x54b53e
mov eax, dword [0x81b970]
mov ecx, dword [0x81b974]
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
add esp, 0x50
ret
xor edi, edi
jmp 0x54b460
xor edx, edx
jmp 0x54b48c
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], ebp
add esp, 0x50
ret
nop
cmp eax, 0x14
jae 0x54b82a
mov ecx, dword [0x815e14]
mov edx, dword [0x815e10]
cmp eax, ecx
jae 0x54b825
movzx ecx, byte [edx + eax]
mov edx, dword [esp + 0x68]
cmp ecx, edx
je 0x54b781
nop
lea eax, [0x63eca0]
mov dword [esp], eax
call fcn.0040b4f0
mov ebp, dword [esp + 4]
mov dword [ebp + 4], 0x28
lea eax, [0x67dbcb]
mov dword [ebp], eax
xor eax, eax
xor ecx, ecx
lea edx, [0x6c8150]
xor ebx, ebx
jmp 0x54b421
mov dword [esp + 0x34], ecx
lea ecx, [0x635180]
mov dword [esp], ecx
mov ecx, dword [0x81a830]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040e220
mov eax, dword [esp + 0xc]
movzx ecx, byte [esp + 0x10]
mov edx, dword [eax]
mov eax, dword [eax + 4]
test cl, cl
je 0x54b7c2
mov ecx, dword [esp + 0x34]
mov ebx, edx
xor ebp, ebp
xor edx, edx
jmp 0x54b421
nop
lea eax, [0x63eca0]
mov dword [esp], eax
call fcn.0040b4f0
mov ebp, dword [esp + 4]
mov dword [ebp + 4], 0x25
lea eax, [0x67ccab]
mov dword [ebp], eax
xor eax, eax
xor ecx, ecx
lea edx, [0x6c8150]
xor ebx, ebx
jmp 0x54b421
mov eax, ecx
mov ecx, ebp
call fcn.0045adc0
mov ecx, ebp
call fcn.0045ada0
mov eax, edx
mov ecx, ebp
call fcn.0045ad60
mov eax, 1
call fcn.0045ad60
mov eax, ebp
mov ecx, 0x100
call fcn.0045ad70
call fcn.0045ad70
lea eax, [0x633ac0]
mov dword [esp], eax
lea eax, [0x6c4858]
mov dword [esp + 4], eax
call fcn.00430630
nop
call fcn.00459790
jmp fcn.0054b3f0