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

Disassembly:
sub esp, 0x54
push ebx
push esi
mov esi, dword [0x10185028]
push edi
test byte [esi + 8], 2
mov byte [esi + 0x9b], 0
je 0x100277b6
test byte [esi + 0xc], 1
je 0x100277b6
movaps xmm0, xmmword [0x100d93f0]
lea edi, [esp + 0x40]
movups xmmword [esp + 0x40], xmm0
mov bl, 1
movaps xmm0, xmmword [0x100d9400]
mov byte [esp + 0xc], bl
movups xmmword [esp + 0x50], xmm0
push dword [edi]
call fcn.10013b20
add esp, 4
test al, al
je 0x100277a9
mov dword [esi + 0x47f0], 3
add edi, 4
lea eax, [esp + 0x60]
cmp edi, eax
jne 0x10027791
jmp 0x100277bc
xor bl, bl
mov byte [esp + 0xc], bl
mov bh, byte [esi + 8]
movaps xmm0, xmmword [0x100d93e0]
and bh, 1
mov byte [esp + 0xd], bh
movups xmmword [esp + 0x24], xmm0
mov dword [esp + 0x34], 0x201
mov dword [esp + 0x38], 0x203
mov dword [esp + 0x3c], 0x204
je 0x10027813
lea edi, [esp + 0x24]
push dword [edi]
call fcn.10013b20
add esp, 4
test al, al
je 0x10027808
mov dword [esi + 0x47f0], 2
add edi, 4
lea eax, [esp + 0x40]
cmp edi, eax
jne 0x100277f0
cmp dword [esi + 0x4800], 0
mov byte [esp + 0xf], bl
je 0x10027825
call fcn.1001c780
cmp byte [esi + 0x4814], 0
mov word [esi + 0x47fd], 0
mov dword [esi + 0x4800], 0
mov dword [esi + 0x47dc], 0
je 0x10027850
call fcn.1001cab0
xor al, al
mov dword [esi + 0x4858], 0
mov word [esi + 0x4814], 0
mov dword [esp + 0x18], eax
cmp byte [esi + 0x47f9], al
je 0x1002789f
cmp byte [esi + 0x47f8], al
je 0x1002789f
cmp byte [esi + 0x47fa], al
jne 0x1002789f
cmp byte [esi + 0x47fb], al
je 0x1002789f
cmp dword [esi + 0x47c0], 0
mov ecx, 1
movzx eax, al
cmovne eax, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x47c0]
mov byte [esi + 0x47f9], 0
test eax, eax
je 0x100278b9
push eax
call fcn.10027260
add esp, 4
mov eax, dword [esi + 0x47c0]
test eax, eax
je 0x100278df
cmp dword [eax + 0x310], 0
je 0x100278df
cmp dword [esi + 0x47f4], 0
jne 0x100278df
mov dword [eax + 0x310], 0
call fcn.10028e00
test bh, bh
jne 0x100278f0
test bl, bl
je 0x10027a83
mov eax, dword [esi + 0x47c0]
test eax, eax
je 0x10027a83
test dword [eax + 0xc], 0x40000
jne 0x10027a83
mov al, byte [esp + 0xf]
mov byte [esi + 0x9d], 1
cmp dword [esi + 0x47c4], 0
mov byte [esp + 0xc], al
je 0x10027a8a
cmp byte [esi + 0x47fa], 0
lea ebx, [esi + 0x47fa]
mov byte [esp + 0xc], al
jne 0x10027a8a
lea ecx, [esi + 0x4914]
mov byte [esp + 0xc], al
mov al, 1
mov dword [esp + 0x10], ecx
mov byte [esi + 0x9e], al
call fcn.10027ed0
cmp dword [esi + 0x47c4], 0
mov dword [esi + 0x47d4], 0
mov dword [esi + 0x47d0], 0
mov dword [esi + 0x47cc], 0
mov dword [esi + 0x47d8], 0
je 0x10027b6e
cmp byte [esi + 0x47fa], 0
lea edi, [esi + 0x47fa]
mov ebx, edi
jne 0x10027b6e
mov eax, dword [esp + 0x10]
cmp dword [eax], 0
jne 0x10027b6e
mov eax, dword [esi + 0x47c0]
test eax, eax
je 0x10027b6e
test dword [eax + 0xc], 0x40000
jne 0x10027b6e
mov bh, byte [esp + 0xd]
test bh, bh
je 0x100279e8
push 0x20c
call fcn.10013b20
add esp, 4
test al, al
jne 0x10027aae
mov bl, byte [esp + 0xc]
test bl, bl
je 0x10027a05
push 0x26e
call fcn.10013b20
add esp, 4
test al, al
jne 0x10027ab2
mov byte [esp + 0xe], 0
xor bh, bh
cmp byte [esp + 0xd], 0
mov byte [esp + 0xf], bh
je 0x10027a28
push 0x20d
call fcn.10013b20
add esp, 4
test al, al
jne 0x10027a45
test bl, bl
je 0x10027af4
push 0x26d
call fcn.10013b20
add esp, 4
test al, al
je 0x10027af4
cmp byte [esp + 0xd], 0
mov bl, 1
je 0x10027a61
push 0
push 0x20d
call fcn.10013b30
add esp, 8
test al, al
jne 0x10027a7f
cmp byte [esp + 0xc], 0
je 0x10027af6
push 0
push 0x26d
call fcn.10013b30
add esp, 8
test al, al
je 0x10027af6
mov cl, 1
jmp 0x10027af8
mov byte [esi + 0x9d], 0
cmp dword [esi + 0x4914], 0
lea ecx, [esi + 0x4914]
mov dword [esp + 0x10], ecx
lea ebx, [esi + 0x47fa]
jne 0x10027948
xor al, al
jmp 0x1002794e
mov bl, byte [esp + 0xc]
mov byte [esp + 0xe], 1
test bh, bh
je 0x10027ace
push 0
push 0x20c
call fcn.10013b30
add esp, 8
test al, al
jne 0x10027aed
test bl, bl
je 0x10027a0a
push 0
push 0x26e
call fcn.10013b30
add esp, 8
test al, al
je 0x10027a0a
mov bh, 1
jmp 0x10027a0c
xor bl, bl
xor cl, cl
mov eax, dword [esi + 0x3e8c]
mov edx, dword [esi + 0x47c4]
test eax, eax
jne 0x10027b1e
test bh, bh
je 0x10027b22
mov dword [esi + 0x47cc], edx
mov dword [esi + 0x47d8], 2
jmp 0x10027b22
cmp eax, edx
jne 0x10027b53
test cl, cl
je 0x10027b36
mov dword [esi + 0x47cc], edx
mov dword [esi + 0x47d8], 1
test eax, eax
je 0x10027b3e
cmp eax, edx
jne 0x10027b53
cmp byte [esp + 0xe], 0
jne 0x10027b49
test bl, bl
je 0x10027b4f
mov dword [esi + 0x47d0], edx
test eax, eax
je 0x10027b59
mov ebx, edi
cmp eax, edx
jne 0x10027b6e
cmp byte [esp + 0xf], 0
jne 0x10027b66
mov ebx, edi
test cl, cl
je 0x10027b6e
mov dword [esi + 0x47d4], edx
mov ebx, edi
mov eax, dword [esi + 0x47c0]
test eax, eax
je 0x10027b84
test dword [eax + 0xc], 0x40000
je 0x10027b84
mov byte [ebx], 1
mov eax, dword [esi + 0x47e8]
test eax, eax
je 0x10027bac
mov dword [esi + 0x47d4], eax
mov dword [esi + 0x47d0], eax
mov dword [esi + 0x47cc], eax
mov eax, dword [esi + 0x47ec]
mov dword [esi + 0x47d8], eax
mov dword [esi + 0x47e8], 0
call fcn.100280c0
cmp dword [esi + 0x4824], 0xffffffff
jne 0x10027bc9
call fcn.10028830
mov eax, dword [0x10185028]
cmp byte [eax + 0x4815], 0
jne 0x10027be4
cmp byte [eax + 0x47fd], 0
jne 0x10027be4
xor cl, cl
jmp 0x10027be6
mov cl, 1
mov byte [eax + 0x47fc], cl
mov edi, dword [esi + 0x47c0]
mov byte [esi + 0x47f8], 0
test edi, edi
je 0x10027e0b
test dword [edi + 0xc], 0x40000
jne 0x10027e0b
mov eax, dword [esp + 0x10]
cmp dword [eax], 0
jne 0x10027e0b
mov eax, dword [edi]
movss xmm0, dword [eax + 0x3bd4]
mov eax, dword [edi + 0x2f8]
mulss xmm0, dword [edi + 0x25c]
test eax, eax
je 0x10027c3f
mulss xmm0, dword [eax + 0x25c]
cmp word [edi + 0x14c], 0
mulss xmm0, dword [0x100d9380]
mulss xmm0, dword [esi + 0x18]
addss xmm0, dword [0x100d5910]
cvttss2si eax, xmm0
movd xmm2, eax
mov eax, dword [esi + 0x4824]
cvtdq2ps xmm2, xmm2
mov dword [esp + 0x1c], eax
movss dword [esp + 0x10], xmm2
jne 0x10027d1c
cmp byte [edi + 0x151], 0
je 0x10027d1c
cmp eax, 0xffffffff
je 0x10027d1c
test eax, eax
je 0x10027cb1
movaps xmm0, xmm2
xorps xmm0, xmmword [0x100d9460]
cmp eax, 1
jne 0x10027cf0
movaps xmm1, xmm2
movss dword [esp + 0x14], xmm0
jmp 0x10027cc1
movaps xmm1, xmm2
xorps xmm1, xmmword [0x100d9460]
movss dword [esp + 0x14], xmm1
addss xmm1, dword [edi + 0x78]
push ecx
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push edi
call fcn.1001a4d0
movss xmm0, dword [esp + 0x1c]
add esp, 8
movss xmm2, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
cmp eax, 2
je 0x10027cfd
cmp eax, 3
jne 0x10027d1c
movaps xmm0, xmm2
addss xmm0, dword [edi + 0x7c]
push ecx
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push edi
call fcn.1001a500
add esp, 8
mov al, byte [esp + 0xc]
test al, al
je 0x10027e0f
push 0x27c
push 0x27b
push 0x27a
lea eax, [esp + 0x28]
push 0x279
push eax
call fcn.1001cfa0
push 0x273
call fcn.10013b20
add esp, 0x18
test al, al
je 0x10027d61
movss xmm1, dword [0x100d9310]
jmp 0x10027d84
push 0x274
call fcn.10013b20
add esp, 4
test al, al
je 0x10027d7c
movss xmm1, dword [0x100d5938]
jmp 0x10027d84
movss xmm1, dword [0x100d5914]
movss xmm0, dword [esp + 0x1c]
xorps xmm2, xmm2
ucomiss xmm0, xmm2
movss dword [esp + 0x14], xmm1
lahf
test ah, 0x44
jnp 0x10027dd1
cmp byte [edi + 0xa8], 0
je 0x10027dd1
mulss xmm0, dword [esp + 0x10]
push ecx
mulss xmm0, xmm1
addss xmm0, dword [edi + 0x78]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push edi
call fcn.1001a4d0
add esp, 8
xorps xmm2, xmm2
movss xmm0, dword [esp + 0x20]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jnp 0x10027e0b
mulss xmm0, dword [esp + 0x10]
push ecx
mulss xmm0, dword [esp + 0x18]
addss xmm0, dword [edi + 0x7c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push edi
call fcn.1001a500
add esp, 8
mov al, byte [esp + 0xc]
cmp byte [esp + 0xd], 0
jne 0x10027e34
test al, al
jne 0x10027e34
pop edi
mov byte [esi + 0x47fb], al
mov dword [esi + 0x4850], 0
pop esi
mov byte [ebx], 1
pop ebx
add esp, 0x54
ret
cmp byte [esp + 0x18], 0
je 0x10027e84
test byte [esi + 8], 4
je 0x10027e84
test byte [esi + 0xc], 4
je 0x10027e84
lea eax, [esp + 0x1c]
push eax
call fcn.10026b50
add esp, 4
movss xmm0, dword [eax]
movss xmm1, dword [eax + 4]
movss dword [esi + 0x36a4], xmm0
movss dword [esi + 0x36a8], xmm1
movss dword [esi + 0xdc0], xmm0
movss dword [esi + 0xdc4], xmm1
mov byte [esi + 0x9b], 1
pop edi
mov dword [esi + 0x4850], 0
pop esi
pop ebx
add esp, 0x54
ret