Function at 0x54d2b0
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 0x54d2f0
mov ecx, dword [esp + 0x64]
mov edx, dword [ecx]
mov dword [esp + 0x2c], edx
mov dword [ecx], 0
cmp dword [ebx], 0
jne 0x54d307
mov byte [ebx + 4], 0
mov ecx, dword [eax + 0x74]
call fcn.005531a0
mov dword [ebx], eax
test eax, eax
je 0x54d344
mov ecx, dword [esp + 0x68]
mov edx, 0x54ca60
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 0x54d351
cmp dword [esi + 0x70], 0
jne 0x54d351
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 0x54d351
pop esi
mov eax, 2
pop ebx
add esp, 0x50
ret 0x20
cmp byte [ebx + 4], 0
jne 0x54d394
mov ecx, dword [ebx]
lea edx, [esi + 8]
mov dword [esp + 0x28], 5
call fcn.00553a10
test eax, eax
jne 0x54d60e
mov ecx, dword [ebx]
lea eax, [esp + 0x28]
push eax
lea edx, [esp + 0x34]
call fcn.00553b80
test eax, eax
jne 0x54d60e
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 0x54d49c
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 0x54d460
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x6c]
mov ebx, dword [esp + 0x24]
cmp eax, dword [esp + 0x18]
jb 0x54d460
ja 0x54d44f
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 0x54d460
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 0x54d477
cmp esi, edi
jb 0x54d477
ja 0x54d473
cmp edx, ecx
jbe 0x54d477
mov edx, ecx
xor esi, esi
mov ecx, dword [ebx]
push esi
push edx
call fcn.005539f0
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.00553740
jmp 0x54d4db
sub edx, eax
mov eax, ecx
and eax, edi
mov dword [esp + 0x1c], edx
cmp eax, 0xffffffff
je 0x54d4bd
xor eax, eax
cmp eax, edi
jb 0x54d4bd
ja 0x54d4b7
cmp edx, ecx
jbe 0x54d4bd
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.005536f0
test eax, eax
jne 0x54d60c
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 0x54d50f
mov eax, dword [esp + 0x34]
lea edx, [edi + ebp]
sub eax, ebp
mov dword [esp + 0x28], eax
jmp 0x54d516
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x70]
push ecx
lea eax, [esp + 0x2c]
mov ecx, ebx
push eax
call fcn.0054caf0
mov esi, eax
test esi, esi
jne 0x54d587
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 0x54d547
mov eax, dword [esp + 0x6c]
mov dword [eax], ebp
mov edx, dword [esp + 0x80]
test edx, edx
je 0x54d575
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 0x54d5fe
mov ecx, dword [esp + 0x38]
xor esi, esi
test edi, edi
mov edi, dword [esp + 0x68]
jne 0x54d4f4
mov ecx, dword [ebx]
call fcn.00553460
mov ecx, dword [ebx + 8]
add dword [esp + 0x14], ecx
mov edx, dword [ebx + 0xc]
adc dword [esp + 0x18], edx
test esi, esi
jne 0x54d60a
mov esi, dword [esp + 0x70]
test esi, esi
je 0x54d5b6
mov eax, dword [esp + 0x50]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x54]
jmp 0x54d5b8
xor eax, eax
cmp ecx, dword [esp + 0x1c]
jne 0x54d676
cmp edx, eax
jne 0x54d676
test esi, esi
je 0x54d5e2
cmp dword [esp + 0x58], 0
jne 0x54d616
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
jmp 0x54d3b2
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x78]
cmp eax, edx
jne 0x54d5f5
cmp dword [esp + 0x18], 0
je 0x54d616
mov esi, dword [esp + 0x10]
jmp 0x54d3c0
mov ecx, dword [ebx]
mov esi, 0xa
call fcn.00553460
mov eax, esi
pop edi
pop ebp
pop esi
pop ebx
add esp, 0x50
ret 0x20
cmp dword [esp + 0x7c], 0
je 0x54d643
test edi, edi
je 0x54d64f
mov ecx, dword [esp + 0x6c]
mov eax, dword [ecx]
cmp eax, dword [esp + 0x34]
jb 0x54d63c
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