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

Disassembly:
sub esp, 0x50
push ebx
push esi
mov esi, dword [esp + 0x60]
xorps xmm0, xmm0
movlpd qword [esp + 0x20], xmm0
mov ebx, edx
mov dword [esp + 0x1c], ebx
mov eax, ecx
mov dword [esp + 8], eax
movlpd qword [esp + 0x14], xmm0
mov dword [esp + 0x2c], 0
test esi, esi
je 0x54d920
mov ecx, dword [esp + 0x64]
mov edx, dword [ecx]
mov dword [esp + 0x2c], edx
mov dword [ecx], 0
cmp dword [ebx], 0
jne 0x54d937
mov byte [ebx + 4], 0
mov ecx, dword [eax + 0x74]
call fcn.00553960
mov dword [ebx], eax
test eax, eax
je 0x54d974
mov ecx, dword [esp + 0x68]
mov edx, 0x54d090
mov eax, dword [esp + 0x38]
test ecx, ecx
mov dword [esp + 0x3c], ecx
cmovne eax, edx
test esi, esi
mov esi, dword [esp + 8]
mov dword [esp + 0x38], eax
jne 0x54d981
cmp dword [esi + 0x70], 0
jne 0x54d981
mov eax, dword [esi + 0x74]
mov edx, 0x10010
mov ecx, eax
mov eax, dword [eax]
call eax
mov dword [esi + 0x70], eax
test eax, eax
jne 0x54d981
pop esi
mov eax, 2
pop ebx
add esp, 0x50
ret 0x20
cmp byte [ebx + 4], 0
jne 0x54d9c4
mov ecx, dword [ebx]
lea edx, [esi + 8]
mov dword [esp + 0x28], 5
call fcn.00554070
test eax, eax
jne 0x54dc3e
mov ecx, dword [ebx]
lea eax, [esp + 0x28]
push eax
lea edx, [esp + 0x34]
call fcn.005541e0
test eax, eax
jne 0x54dc3e
mov al, byte [esp + 0x30]
mov byte [ebx + 5], al
mov byte [ebx + 4], 1
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
push ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x10], eax
mov dword [esp + 0x2c], ecx
push edi
mov edx, dword [esp + 0x78]
nop word [eax + eax]
cmp dword [esp + 0x70], 0
xorps xmm0, xmm0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
mov word [ebx + 6], 0x101
mov ecx, dword [esi + 0x50]
mov edi, dword [esi + 0x54]
mov dword [esp + 0x1c], 0
movlpd qword [esp + 0x50], xmm0
mov dword [esp + 0x58], 0
mov dword [esp + 0x28], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edi
je 0x54dacc
mov eax, dword [esp + 0x10]
or edx, 0xffffffff
mov ebx, dword [esp + 0x10]
or esi, 0xffffffff
mov eax, dword [eax + 0x68]
and eax, dword [ebx + 0x6c]
mov ebx, dword [esp + 0x24]
cmp eax, 0xffffffff
je 0x54da90
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x6c]
mov ebx, dword [esp + 0x24]
cmp eax, dword [esp + 0x18]
jb 0x54da90
ja 0x54da7f
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
cmp dword [ebx + 0x68], ecx
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
jb 0x54da90
mov edx, dword [esp + 0x10]
mov esi, eax
mov edx, dword [edx + 0x68]
sub edx, dword [esp + 0x14]
sbb esi, dword [esp + 0x18]
mov eax, ecx
and eax, edi
cmp eax, 0xffffffff
je 0x54daa7
cmp esi, edi
jb 0x54daa7
ja 0x54daa3
cmp edx, ecx
jbe 0x54daa7
mov edx, ecx
xor esi, esi
mov ecx, dword [ebx]
push esi
push edx
call fcn.00554050
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x40]
mov ecx, dword [ebx]
push dword [eax + 0x78]
push dword [eax + 0x74]
push 0x200000
call fcn.00553da0
jmp 0x54db0b
sub edx, eax
mov eax, ecx
and eax, edi
mov dword [esp + 0x1c], edx
cmp eax, 0xffffffff
je 0x54daed
xor eax, eax
cmp eax, edi
jb 0x54daed
ja 0x54dae7
cmp edx, ecx
jbe 0x54daed
mov edx, ecx
mov dword [esp + 0x1c], ecx
push dword [esi + 0x78]
mov ecx, dword [esp + 0x78]
push dword [esi + 0x74]
push 0x200000
push edx
mov edx, dword [esp + 0x24]
lea edx, [edx + ecx]
mov ecx, dword [ebx]
call fcn.00553d50
test eax, eax
jne 0x54dc3c
mov edi, dword [esp + 0x68]
test edi, edi
mov ecx, dword [esp + 0x64]
cmovne ecx, eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x28], 0x10010
test edi, edi
je 0x54db3f
mov eax, dword [esp + 0x34]
lea edx, [edi + ebp]
sub eax, ebp
mov dword [esp + 0x28], eax
jmp 0x54db46
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x70]
push ecx
lea eax, [esp + 0x2c]
mov ecx, ebx
push eax
call fcn.0054d120
mov esi, eax
test esi, esi
jne 0x54dbb7
mov edi, dword [esp + 0x28]
add ebp, edi
adc eax, dword [esp + 0x30]
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], eax
cmp dword [esp + 0x68], esi
je 0x54db77
mov eax, dword [esp + 0x6c]
mov dword [eax], ebp
mov edx, dword [esp + 0x80]
test edx, edx
je 0x54dba5
push dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
add ecx, dword [ebx + 8]
mov eax, dword [ebx + 0xc]
adc eax, dword [esp + 0x1c]
push ebp
push eax
mov eax, dword [edx]
push ecx
mov ecx, edx
call eax
test eax, eax
jne 0x54dc2e
mov ecx, dword [esp + 0x38]
xor esi, esi
test edi, edi
mov edi, dword [esp + 0x68]
jne 0x54db24
mov ecx, dword [ebx]
call fcn.00553ac0
mov ecx, dword [ebx + 8]
add dword [esp + 0x14], ecx
mov edx, dword [ebx + 0xc]
adc dword [esp + 0x18], edx
test esi, esi
jne 0x54dc3a
mov esi, dword [esp + 0x70]
test esi, esi
je 0x54dbe6
mov eax, dword [esp + 0x50]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x54]
jmp 0x54dbe8
xor eax, eax
cmp ecx, dword [esp + 0x1c]
jne 0x54dca6
cmp edx, eax
jne 0x54dca6
test esi, esi
je 0x54dc12
cmp dword [esp + 0x58], 0
jne 0x54dc46
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
jmp 0x54d9e2
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x78]
cmp eax, edx
jne 0x54dc25
cmp dword [esp + 0x18], 0
je 0x54dc46
mov esi, dword [esp + 0x10]
jmp 0x54d9f0
mov ecx, dword [ebx]
mov esi, 0xa
call fcn.00553ac0
mov eax, esi
pop edi
pop ebp
pop esi
pop ebx
add esp, 0x50
ret 0x20
cmp dword [esp + 0x7c], 0
je 0x54dc73
test edi, edi
je 0x54dc7f
mov ecx, dword [esp + 0x6c]
mov eax, dword [ecx]
cmp eax, dword [esp + 0x34]
jb 0x54dc6c
pop edi
pop ebp
pop esi
mov eax, 7
pop ebx
add esp, 0x50
ret 0x20
mov byte [eax + edi], 0
inc eax
mov dword [ecx], eax
pop edi
pop ebp
pop esi
xor eax, eax
pop ebx
add esp, 0x50
ret 0x20
mov eax, dword [esp + 0x64]
lea edx, [esp + 0x68]
mov ecx, eax
mov byte [esp + 0x68], 0
push 1
mov eax, dword [eax]
call eax
dec eax
pop edi
neg eax
pop ebp
sbb eax, eax
pop esi
and eax, 9
pop ebx
add esp, 0x50
ret 0x20
pop edi
pop ebp
pop esi
mov eax, 0xb
pop ebx
add esp, 0x50
ret 0x20