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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xa8
mov ebp, dword [ecx + 0x1c8]
test ebp, ebp
je 0x560493
mov eax, dword [ecx + 0x1c0]
mov edi, dword [ecx + 0x124]
shl ebp, 4
mov edx, dword [ecx + 0x148]
movaps xmm3, xmm2
movaps xmm4, xmm0
pcmpeqd xmm5, xmm5
movups xmmword [esp + 0x98], xmm0
movups xmmword [esp + 0x78], xmm1
shufps xmm3, xmm2, 0
unpcklps xmm4, xmm1
movups xmmword [esp + 0x88], xmm3
add ebp, eax
mov dword [esp + 0x5c], eax
mov eax, dword [ecx + 0x13c]
mov dword [esp + 0x18], edi
mov edi, dword [ecx + 0x144]
mov esi, edx
not edx
bswap esi
mov dword [esp + 0x50], edx
mov edx, dword [ecx + 0x134]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x60], eax
mov eax, dword [ecx + 0x14c]
mov dword [esp + 0x44], edi
mov edi, dword [ecx + 0x140]
mov dword [esp + 0x1c], edx
mov edx, dword [ecx + 0x16c]
mov esi, eax
mov dword [esp + 0x40], edi
mov edi, dword [ecx + 0x174]
not eax
bswap esi
mov dword [esp + 0x54], eax
mov eax, dword [ecx + 0x130]
mov dword [esp + 0x38], edx
mov edx, dword [ecx + 0x160]
mov dword [esp + 0x48], esi
mov esi, dword [ecx + 0x164]
mov dword [esp + 0x34], edi
mov edi, dword [ecx + 0x170]
mov dword [esp + 0x68], eax
lea eax, [eax - 0x10]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x14], esi
mov esi, dword [ecx + 0x12c]
mov dword [esp + 0x74], eax
lea eax, [edx - 0x10]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x30], edi
mov edi, dword [ecx + 0x17c]
mov dword [esp + 0x58], esi
mov esi, dword [ecx + 0x120]
mov ecx, dword [ecx + 0x178]
mov ebx, ecx
not ecx
lea eax, [esi - 0x20]
mov dword [esp + 0x64], esi
bswap ebx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x70], eax
mov dword [esp + 0x24], ebx
mov ebx, edi
not edi
bswap ebx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x20], ebx
jmp 0x55fffd
add ebp, 0xfffffff0
cmp dword [esp + 0x5c], ebp
je 0x560493
cmp dword [esp + 0x60], 0
je 0x5601a0
movzx edi, byte [ebp - 8]
mov esi, dword [esp + 0x44]
mov ecx, 0x2df45158
mov dword [esp], ebp
mov eax, edi
mov dword [esp + 4], edi
xor edi, dword [esp + 0x40]
imul ebx, esi, 0x2df45158
bswap esi
mov eax, edi
mul ecx
mov ecx, eax
imul eax, edi, 0x2d7f954c
bswap edi
add eax, edx
mov edx, 0xb36a80d2
add ebx, eax
mov eax, esi
mul edx
mov ebp, eax
imul eax, esi, 0xa7ae0bd2
add eax, edx
mov edx, dword [esp]
bswap ebp
mov esi, dword [edx - 0x10]
imul edx, edi, 0xb36a80d2
add edx, eax
mov eax, dword [esp]
bswap edx
xor ecx, esi
mov dword [esp + 8], esi
mov eax, dword [eax - 0xc]
xor ecx, edx
mov edx, 0x2df45158
xor ebp, eax
mov dword [esp + 0xc], eax
mov eax, ecx
mul edx
xor ebp, ebx
mov esi, eax
imul eax, ecx, 0x2d7f954c
imul edi, ebp, 0x2df45158
bswap ebp
bswap ecx
add eax, edx
mov edx, 0xb36a80d2
imul ecx, ecx, 0xb36a80d2
add edi, eax
mov eax, ebp
mul edx
mov ebx, eax
imul eax, ebp, 0xa7ae0bd2
mov ebp, dword [esp + 0x50]
add eax, edx
bswap ebx
add ecx, eax
xor ebx, edi
bswap ecx
xor ecx, esi
mov esi, dword [esp + 0x48]
mov eax, ecx
imul eax, dword [esp + 0x4c]
mov edi, eax
mov eax, ecx
mul esi
add edx, edi
mov edi, ebx
bswap ebx
mov dword [esp + 0x10], eax
imul edi, esi
mov esi, ebx
mov eax, ebx
mov ebx, ecx
imul esi, dword [esp + 0x54]
bswap ebx
add edi, edx
mul ebp
imul ebx, ebp
bswap eax
mov ebp, dword [esp]
xor eax, edi
add edx, esi
add ebx, edx
mov edx, eax
bswap ebx
xor ebx, dword [esp + 0x10]
test cl, 0x20
cmovne edx, ebx
cmovne ebx, eax
xor edi, edi
shld ebx, edx, cl
mov eax, ebx
shr eax, 0x19
movd xmm6, eax
punpcklbw xmm6, xmm6
pshuflw xmm6, xmm6, 0
pshufd xmm3, xmm6, 0
and ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x68]
movdqa xmm6, xmm3
movdqu xmm7, xmmword [ecx + ebx]
pcmpeqb xmm6, xmm7
pmovmskb ecx, xmm6
test cx, cx
je 0x560180
mov edx, ecx
mov eax, dword [esp + 4]
tzcnt esi, edx
lea ecx, [edx - 1]
add esi, ebx
and ecx, edx
mov edx, dword [esp + 0x74]
and esi, dword [esp + 0x1c]
shl esi, 4
sub edx, esi
cmp al, byte [edx + 8]
jne 0x560140
mov esi, dword [edx]
mov edx, dword [edx + 4]
xor esi, dword [esp + 8]
xor edx, dword [esp + 0xc]
or edx, esi
jne 0x560140
jmp 0x560350
pcmpeqb xmm7, xmm5
pmovmskb ecx, xmm7
test ecx, ecx
jne 0x5601a0
lea ebx, [ebx + edi + 0x10]
add edi, 0x10
jmp 0x560127
cmp dword [esp + 0x38], 0
je 0x55fff0
movzx edi, byte [ebp - 8]
mov esi, dword [esp + 0x34]
mov ecx, 0x2df45158
mov dword [esp], ebp
mov eax, edi
mov dword [esp + 4], edi
xor edi, dword [esp + 0x30]
imul ebx, esi, 0x2df45158
bswap esi
mov eax, edi
mul ecx
mov ecx, eax
imul eax, edi, 0x2d7f954c
bswap edi
add eax, edx
mov edx, 0xb36a80d2
add ebx, eax
mov eax, esi
mul edx
mov ebp, eax
imul eax, esi, 0xa7ae0bd2
add eax, edx
mov edx, dword [esp]
bswap ebp
mov esi, dword [edx - 0x10]
imul edx, edi, 0xb36a80d2
add edx, eax
mov eax, dword [esp]
bswap edx
xor ecx, esi
mov dword [esp + 8], esi
mov eax, dword [eax - 0xc]
xor ecx, edx
mov edx, 0x2df45158
xor ebp, eax
mov dword [esp + 0xc], eax
mov eax, ecx
mul edx
xor ebp, ebx
mov esi, eax
imul eax, ecx, 0x2d7f954c
imul edi, ebp, 0x2df45158
bswap ebp
bswap ecx
add eax, edx
mov edx, 0xb36a80d2
imul ecx, ecx, 0xb36a80d2
add edi, eax
mov eax, ebp
mul edx
mov ebx, eax
imul eax, ebp, 0xa7ae0bd2
mov ebp, dword [esp + 0x28]
add eax, edx
bswap ebx
add ecx, eax
xor ebx, edi
bswap ecx
xor ecx, esi
mov esi, dword [esp + 0x20]
mov eax, ecx
imul eax, dword [esp + 0x24]
mov edi, eax
mov eax, ecx
mul esi
add edx, edi
mov edi, ebx
bswap ebx
mov dword [esp + 0x10], eax
imul edi, esi
mov esi, ebx
mov eax, ebx
mov ebx, ecx
imul esi, dword [esp + 0x2c]
bswap ebx
add edi, edx
mul ebp
imul ebx, ebp
bswap eax
mov ebp, dword [esp]
xor eax, edi
add edx, esi
add ebx, edx
mov edx, eax
bswap ebx
xor ebx, dword [esp + 0x10]
test cl, 0x20
cmovne edx, ebx
cmovne ebx, eax
xor edi, edi
shld ebx, edx, cl
mov eax, ebx
shr eax, 0x19
movd xmm3, eax
punpcklbw xmm3, xmm3
pshuflw xmm3, xmm3, 0
pshufd xmm6, xmm3, 0
and ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
movdqa xmm3, xmm6
movdqu xmm7, xmmword [ecx + ebx]
pcmpeqb xmm3, xmm7
pmovmskb ecx, xmm3
nop word cs:[eax + eax]
nop dword [eax]
test cx, cx
je 0x560330
mov edx, ecx
mov eax, dword [esp + 4]
tzcnt esi, edx
lea ecx, [edx - 1]
add esi, ebx
and ecx, edx
mov edx, dword [esp + 0x6c]
and esi, dword [esp + 0x14]
shl esi, 4
sub edx, esi
cmp al, byte [edx + 8]
jne 0x5602f0
mov esi, dword [edx]
mov edx, dword [edx + 4]
xor esi, dword [esp + 8]
xor edx, dword [esp + 0xc]
or edx, esi
jne 0x5602f0
jmp 0x560350
pcmpeqb xmm7, xmm5
pmovmskb ecx, xmm7
test ecx, ecx
jne 0x55fff0
lea ebx, [ebx + edi + 0x10]
add edi, 0x10
jmp 0x5602ca
cmp dword [esp + 0x58], 0
je 0x55fff0
mov ecx, dword [esp + 8]
mov eax, ecx
shr eax, 0x19
movd xmm3, eax
xor eax, eax
punpcklbw xmm3, xmm3
pshuflw xmm3, xmm3, 0
pshufd xmm6, xmm3, 0
and ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x64]
movdqa xmm3, xmm6
movdqu xmm7, xmmword [edx + ecx]
pcmpeqb xmm3, xmm7
pmovmskb ebx, xmm3
nop word cs:[eax + eax]
nop dword [eax + eax]
test bx, bx
je 0x5603e0
tzcnt esi, ebx
mov edx, dword [esp + 0x70]
lea edi, [ebx - 1]
add esi, ecx
and edi, ebx
and esi, dword [esp + 0x18]
shl esi, 5
sub edx, esi
mov esi, dword [edx + 4]
mov ebx, dword [edx]
xor esi, dword [esp + 0xc]
xor ebx, dword [esp + 8]
or ebx, esi
mov ebx, edi
jne 0x5603a0
jmp 0x560400
pcmpeqb xmm7, xmm5
pmovmskb edx, xmm7
test edx, edx
jne 0x55fff0
lea ecx, [ecx + eax + 0x10]
add eax, 0x10
jmp 0x560378
cmp byte [edx + 0x1a], 0
je 0x55fff0
movsx eax, byte [edx + 0x19]
movsx ecx, byte [edx + 0x18]
movsd xmm7, qword [edx + 0x10]
movsd xmm6, qword [edx + 8]
movups xmm0, xmmword [esp + 0x98]
movss xmm3, dword [eax*4 + 0x8f894c]
movss xmm1, dword [ecx*4 + 0x8f8940]
unpcklps xmm1, xmm3
mulps xmm1, xmm7
subps xmm6, xmm1
movaps xmm1, xmm6
subss xmm1, xmm2
ucomiss xmm0, xmm1
jb 0x55fff0
movups xmm0, xmmword [esp + 0x88]
addps xmm7, xmm6
movaps xmm1, xmm4
addps xmm7, xmm0
cmpleps xmm1, xmm7
unpcklps xmm1, xmm1
movmskpd eax, xmm1
test al, 1
je 0x55fff0
movups xmm1, xmmword [esp + 0x78]
shufps xmm6, xmm6, 0x55
subss xmm6, xmm2
ucomiss xmm1, xmm6
jb 0x55fff0
shr al, 1
je 0x55fff0
jmp 0x560499
mov al, 6
mov dword [esp + 4], eax
mov eax, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 4]
add esp, 0xa8
pop esi
pop edi
pop ebx
pop ebp
ret