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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x54f403
sub esp, 0x74
mov ecx, dword [esp + 0x7c]
test ecx, ecx
jbe 0x54f3f9
mov edx, dword [esp + 0x78]
mov ebx, dword [edx]
lea ebx, [ebx + ebx*4]
cmp ecx, 1
jbe 0x54f3ed
shl ebx, 3
add ebx, dword [edx + 4]
mov dword [esp + 0x5c], ebx
test ebx, ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov esi, ebx
sar ebx, 0x1f
test ebx, ebx
xchg edi, ebx
sete bl
xchg edi, ebx
and ebp, edi
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x54f097
mov eax, 1
jmp 0x54f0ec
mov eax, ebx
mov ebp, esi
xor edi, edi
jmp 0x54f0bd
shr esi, 7
mov edx, ebx
shl ebx, 0x19
or esi, ebx
sar edx, 7
mov ebx, dword [esp + 0x28]
lea edi, [ebx + 1]
mov ebp, dword [esp + 0x5c]
mov ebx, edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x28], edi
test ebx, ebx
setg dl
xchg ebp, ebx
sete bl
xchg ebp, ebx
test esi, esi
xchg edi, ebx
seta bl
xchg edi, ebx
and edi, ebp
or edx, edi
test dl, dl
jne 0x54f09f
mov edx, dword [esp + 0x78]
mov ebx, eax
mov esi, dword [esp + 0x5c]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x30], ebx
lea ebp, [eax - 1]
mov edi, dword [esp + 0x84]
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x60], eax
xor eax, eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x60]
jmp 0x54f12e
mov byte [esi + edi - 1], dl
lea edx, [ebx - 1]
mov ecx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x30]
mov ebp, edx
mov dword [esp + 0x44], esi
mov edx, dword [esp + 0x78]
mov esi, dword [esp + 0x5c]
test ebp, ebp
jl 0x54f220
mov dword [esp + 0x38], ebp
mov dword [esp + 0x6c], edi
lea edx, [ebp + ebp*2]
lea edi, [ebp + edx*2 - 0x20]
mov dword [esp + 0x58], edi
cmp edi, 0x20
sbb ebx, ebx
xchg edi, ebx
neg ebx
xchg edi, ebx
mov dword [esp + 0x54], edi
cmp edi, 0x20
sbb edi, edi
mov dword [esp + 0x50], edi
lea edx, [ebp + edx*2]
mov dword [esp + 0x4c], edx
shr edx, 5
cmp edx, 1
sbb edx, edx
mov ebp, dword [esp + 0x4c]
cmp ebp, 0x20
sbb edi, edi
mov ecx, ebp
mov ebp, esi
shr esi, cl
not ebx
mov ecx, dword [esp + 0x58]
or ecx, ebx
mov ebx, dword [esp + 0x30]
sar ebx, cl
xor edx, 0xffffffff
and ebx, edx
and esi, edi
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x30]
mov edi, edx
shl edx, cl
mov ecx, edi
mov edi, dword [esp + 0x50]
and edx, edi
or esi, edx
or esi, ebx
mov edx, esi
and esi, 0x7f
mov ebx, dword [esp + 0x38]
test ebx, ebx
je 0x54f1c0
or edx, 0xffffff80
jmp 0x54f1c2
mov edx, esi
mov esi, dword [esp + 0x44]
inc esi
cmp eax, esi
jb 0x54f1d4
mov edi, dword [esp + 0x6c]
jmp 0x54f111
mov byte [esp + 0x23], dl
mov ecx, dword [esp + 0x6c]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x698da0]
mov dword [esp + 0x10], eax
call fcn.0044b130
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
movzx edx, byte [esp + 0x23]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x5c]
jmp 0x54f111
mov ebx, dword [esp + 0x44]
mov ebp, 2
jmp 0x54f236
mov esi, dword [esp + 0x3c]
lea ebp, [esi + 1]
mov edx, dword [esp + 0x78]
cmp ecx, ebp
jle 0x54f29c
jbe 0x54f3e6
mov dword [esp + 0x3c], ebp
mov esi, dword [edx + ebp*4]
mov dword [esp + 0x5c], esi
test esi, esi
sete dl
sar esi, 0x1f
mov dword [esp + 0x2c], esi
test esi, esi
xchg ebp, ebx
sete bl
xchg ebp, ebx
and edx, ebp
test dl, dl
je 0x54f26d
mov edx, 1
jmp 0x54f295
mov dword [esp + 0x68], edi
mov dword [esp + 0x40], ebx
mov edx, dword [esp + 0x5c]
mov ebp, esi
xor ebp, ebp
mov dword [esp + 0x24], ebp
mov ebp, esi
jmp 0x54f2c4
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x68]
mov edx, dword [esp + 0x24]
dec edx
mov ebp, dword [esp + 0x5c]
jmp 0x54f2fa
add esp, 0x74
ret
shr edx, 7
mov ebx, esi
shl esi, 0x19
or edx, esi
sar ebx, 7
mov ebp, dword [esp + 0x24]
inc ebp
mov edi, dword [esp + 0x68]
mov dword [esp + 0x24], ebp
mov esi, ebx
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x2c]
test esi, esi
xchg ebp, ebx
sete bl
xchg ebp, ebx
setg bl
test edx, edx
xchg edi, ebx
seta bl
xchg edi, ebx
and edi, ebp
or ebx, edi
test bl, bl
jne 0x54f2a0
jmp 0x54f285
mov byte [ebp + edi - 1], dl
lea edx, [esi - 1]
mov ecx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x7c]
mov esi, ebx
mov ebx, ebp
mov ebp, dword [esp + 0x5c]
test edx, edx
jl 0x54f22b
mov dword [esp + 0x48], ebx
mov dword [esp + 0x34], edx
mov dword [esp + 0x70], edi
lea edi, [edx + edx*2]
lea ebx, [edx + edi*2]
mov dword [esp + 0x4c], ebx
cmp ebx, 0x20
sbb esi, esi
mov dword [esp + 0x58], esi
lea edi, [edx + edi*2 - 0x20]
mov dword [esp + 0x54], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
cmp edi, 0x20
sbb edx, edx
mov dword [esp + 0x50], edx
mov esi, dword [esp + 0x54]
cmp esi, 0x20
sbb edx, edx
shr ebx, 5
cmp ebx, 1
sbb ebx, ebx
mov ecx, dword [esp + 0x4c]
shr ebp, cl
not edx
or edx, esi
mov ecx, edx
mov edx, dword [esp + 0x2c]
mov esi, edx
sar edx, cl
xor ebx, 0xffffffff
and edx, ebx
mov ecx, edi
mov ebx, esi
shl esi, cl
mov edi, dword [esp + 0x50]
and edi, esi
mov esi, dword [esp + 0x58]
and ebp, esi
or ebp, edi
or ebp, edx
mov edx, ebp
and ebp, 0x7f
mov esi, dword [esp + 0x34]
test esi, esi
je 0x54f38a
or edx, 0xffffff80
jmp 0x54f38c
mov edx, ebp
mov ebp, dword [esp + 0x48]
inc ebp
cmp eax, ebp
jb 0x54f39e
mov edi, dword [esp + 0x70]
jmp 0x54f2e3
mov byte [esp + 0x22], dl
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x698da0]
mov dword [esp + 0x10], eax
call fcn.0044b130
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
movzx edx, byte [esp + 0x22]
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x34]
jmp 0x54f2e3
mov eax, ebp
call fcn.00464360
mov eax, 1
mov ecx, eax
call fcn.00464360
xor eax, eax
mov ecx, eax
call fcn.00464360
nop
call fcn.00462ed0
jmp fcn.0054f030