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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc0
push esi
mov esi, ecx
mov dword [esp + 0x48], 0xffffffff
xorps xmm1, xmm1
mov dword [esp + 0xc], esi
mov eax, edx
mov dword [esp + 0x3c], 1
push edi
mov ecx, dword [esi + 0x1c]
mov dword [esp + 0x80], ecx
mov ecx, dword [esi + 0x20]
mov dword [esp + 0x84], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0xc], eax
mov dword [esp + 0x54], 0
movss xmm2, dword [ecx]
comiss xmm2, xmm1
jbe 0x10027bdd
mov edi, dword [eax + 4]
mov edx, dword [eax + 0x1c]
mov eax, pe_nt_image_headers32
cwde
movzx ecx, byte [edx + edi + 6]
movsx ecx, cx
imul ecx, eax
movzx eax, byte [edx + edi + 7]
movzx edx, byte [edx + edi + 5]
add cx, ax
movsx esi, cx
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x1c]
movzx ecx, byte [eax + edi + 4]
mov eax, pe_nt_image_headers32
cwde
movsx ecx, cx
imul ecx, eax
add dx, cx
movsx eax, dx
sub eax, esi
mov esi, dword [esp + 0x10]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
jmp 0x10027c04
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 4]
movzx ecx, byte [edx + eax + 0x12]
movzx eax, byte [edx + eax + 0x13]
shl ecx, 8
add ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
xorps xmm2, xmmword [0x100a1d50]
mov edx, dword [ebp + 8]
movss xmm3, dword [0x100a18c4]
movss dword [esp + 0x1c], xmm2
movaps xmm2, xmm3
movzx edi, byte [edx + 0x14]
mov eax, edi
mov dword [esi + 0x1c], edi
movzx ecx, byte [edx + 0x15]
shr eax, 0x1f
movd xmm0, edi
cvtdq2pd xmm0, xmm0
mov dword [esi + 0x20], ecx
addsd xmm0, qword [eax*8 + 0x100a1d20]
mov eax, ecx
shr eax, 0x1f
cvtpd2ps xmm0, xmm0
divss xmm2, xmm0
movd xmm0, ecx
movss dword [esp + 0x74], xmm2
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x100a1d20]
mov eax, 1
cvtpd2ps xmm0, xmm0
divss xmm3, xmm0
movss dword [esp + 0x7c], xmm3
test edi, edi
jne 0x10027c7c
xorps xmm2, xmm2
jmp 0x10027c99
movd xmm0, edi
sub eax, edi
cvtdq2ps xmm0, xmm0
movd xmm2, eax
mov eax, 1
cvtdq2ps xmm2, xmm2
addss xmm0, xmm0
divss xmm2, xmm0
movss dword [esp + 0x44], xmm2
test ecx, ecx
je 0x10027cbb
movd xmm0, ecx
sub eax, ecx
cvtdq2ps xmm0, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm0, xmm0
divss xmm1, xmm0
xor ecx, ecx
movss dword [esp + 0x48], xmm1
mov dword [esp + 0x20], ecx
cmp dword [edx + 0xc], ecx
jle 0x10028318
mov edi, dword [ebp + 0x10]
xor edx, edx
mov dword [esp + 0x3c], edx
add edi, 0xc
mov dword [esp + 0x50], 0xffffffe4
mov eax, dword [edi + 8]
test eax, eax
je 0x100282a8
cmp dword [edi - 8], 0
je 0x100282a8
cmp dword [edi - 4], 0
je 0x100282a8
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x10]
add esi, edx
mov edx, dword [eax + 8]
mov dword [esp + 0x18], esi
test edx, edx
jne 0x10027d1d
mov edx, dword [eax + 4]
add edx, ecx
jmp 0x10027d20
mov edx, dword [edx + ecx*4]
mov ecx, dword [esp + 0xc]
call fcn.10022ba0
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
add dword [edi], eax
add dword [edi + 4], eax
sub dword [edi - 8], eax
sub dword [edi - 4], eax
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 4]
mov eax, dword [eax + 0x1c]
movzx ecx, byte [eax + edx + 0x22]
movzx eax, byte [eax + edx + 0x23]
shl ecx, 8
add ecx, eax
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x20]
mov eax, dword [esp + 0x14]
cmp eax, ecx
jge 0x10027d86
mov ecx, dword [esp + 0xc]
lea edx, [edx + eax*4]
mov eax, pe_nt_image_headers32
cwde
add edx, dword [ecx + 4]
movzx ecx, byte [edx]
movsx ecx, cx
imul ecx, eax
movzx eax, byte [edx + 1]
jmp 0x10027db1
mov esi, dword [esp + 0xc]
lea edx, [edx + ecx*4]
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 4]
movzx ecx, byte [edx + eax - 4]
mov eax, pe_nt_image_headers32
cwde
movsx ecx, cx
imul ecx, eax
mov eax, dword [esi + 4]
mov esi, dword [esp + 0x18]
movzx eax, byte [edx + eax - 3]
add cx, ax
mov edx, dword [esp + 0x14]
movzx eax, cx
mov ecx, dword [esp + 0x10]
cwde
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x80]
push eax
lea eax, [esp + 0x7c]
push eax
mov eax, dword [ecx + 0x20]
sub esp, 8
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
mov dword [esp + 4], 0
mov dword [esp], 0
addsd xmm0, qword [eax*8 + 0x100a1d20]
mov eax, dword [ecx + 0x1c]
mov ecx, dword [esp + 0x24]
cvtpd2ps xmm3, xmm0
movd xmm0, eax
mulss xmm3, dword [esp + 0x34]
shr eax, 0x1f
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x100a1d20]
cvtpd2ps xmm2, xmm0
mulss xmm2, dword [esp + 0x34]
call fcn.10025470
mov ecx, dword [esp + 0x28]
mov eax, dword [edi + 4]
mov edx, dword [ecx + 0x10]
imul eax, edx
mov dword [esp + 0x70], edx
mov edx, dword [edi - 8]
add eax, dword [edi]
add eax, dword [ecx + 0x24]
mov dword [esp + 0x7c], eax
mov eax, dword [ecx + 0x1c]
sub edx, eax
mov ecx, dword [ecx + 0x20]
inc edx
mov dword [esp + 0x80], edx
mov edx, dword [edi - 4]
movd xmm0, eax
sub edx, ecx
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
inc edx
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x2c]
addsd xmm0, qword [eax*8 + 0x100a1d20]
lea eax, [esp + 0x50]
push eax
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [esp + 0x38]
movss dword [esp + 0x50], xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x100a1d20]
mov ecx, dword [esp + 0x28]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [esp + 0x38]
movss dword [esp + 0x4c], xmm0
call fcn.10025360
mov edx, dword [esp + 0x30]
add esp, 0x1c
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x40], 0
je 0x10027f49
lea ecx, [esp + 0x98]
mov dword [esp + 0x98], 1
xorps xmm0, xmm0
mov dword [esp + 0x9c], 0
push ecx
mov ecx, eax
mov dword [esp + 0xc4], 0
movups xmmword [esp + 0xa4], xmm0
mov dword [esp + 0xc8], 0
movups xmmword [esp + 0xb4], xmm0
call fcn.10023fa0
xor ecx, ecx
add esp, 4
test eax, eax
cmovne ecx, dword [esp + 0xb0]
xor edx, edx
test eax, eax
cmovne edx, dword [esp + 0xbc]
jmp 0x10027fab
mov ecx, eax
call fcn.10022f10
mov dword [esp + 0x24], eax
test eax, eax
js 0x1002802f
mov ecx, dword [esp + 0xc]
mov esi, dword [ecx + 4]
movzx edx, byte [esi + eax + 3]
movzx ecx, byte [esi + eax + 2]
mov eax, pe_nt_image_headers32
movsx ecx, cx
cwde
imul ecx, eax
add dx, cx
movsx eax, dx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x28], eax
mov eax, pe_nt_image_headers32
cwde
movzx ecx, byte [esi + edx + 8]
movsx ecx, cx
imul ecx, eax
movzx eax, byte [esi + edx + 9]
mov esi, dword [esp + 0x18]
add cx, ax
movsx edx, cx
mov ecx, dword [esp + 0x28]
movss xmm2, dword [esp + 0x34]
xorps xmm4, xmm4
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm2
addss xmm1, xmm4
comiss xmm1, xmm4
cvttss2si ecx, xmm1
jae 0x10027fdd
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10027fdd
dec ecx
movss xmm3, dword [esp + 0x30]
xorps xmm1, xmm1
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
cvttss2si eax, xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x28], eax
mulss xmm0, xmm3
subss xmm1, xmm0
comiss xmm1, xmm4
cvttss2si ecx, xmm1
jae 0x1002801e
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1002801e
dec ecx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
cvttss2si eax, xmm0
mov dword [esp + 0x5c], eax
jmp 0x1002804b
movss xmm2, dword [esp + 0x34]
movss xmm3, dword [esp + 0x30]
mov dword [esp + 0x28], 0
mov dword [esp + 0x5c], 0
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
test ecx, ecx
mov edx, dword [esp + 0x58]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], edx
je 0x1002816a
test eax, eax
je 0x1002816a
movaps xmm0, xmm3
mov edx, dword [esp + 0x2c]
minss xmm0, xmm2
mov dword [esp + 0x24], 0
movss xmm2, dword [0x100a1880]
lea eax, [esp + 0x24]
push ecx
push eax
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 0
divss xmm2, xmm0
push eax
call fcn.10027220
add esp, 0xc
mov dword [esp + 0x2c], eax
test eax, eax
je 0x10028166
movss xmm0, dword [esp + 0x30]
lea ecx, [esp + 0x88]
sub esp, 8
mov edx, eax
push dword [esp + 0x64]
push dword [esp + 0x34]
sub esp, 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
movss dword [esp + 4], xmm0
movss xmm0, dword [esp + 0x54]
movss dword [esp], xmm0
push dword [esp + 0x44]
push dword [esp + 0x3c]
call fcn.10026950
mov ecx, dword [esp + 0x40]
add esp, 0x28
test ecx, ecx
je 0x10028136
mov eax, dword [0x100aeea8]
test eax, eax
je 0x10028136
dec dword [eax + 0xac]
push dword [0x100aeea0]
push ecx
call fcn.100064e0
mov eax, dword [0x100aeea8]
add esp, 8
test eax, eax
je 0x10028154
dec dword [eax + 0xac]
push dword [0x100aeea0]
push dword [esp + 0x30]
call fcn.100064e0
add esp, 8
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x1002817d
mov eax, dword [0x100aeea8]
test eax, eax
je 0x1002817d
dec dword [eax + 0xac]
push dword [0x100aeea0]
push ecx
call fcn.100064e0
mov edx, dword [esp + 0x18]
add esp, 8
mov ecx, dword [edx + 0x1c]
cmp ecx, 1
jbe 0x100281ba
mov eax, dword [edx + 0x10]
push ecx
mov ecx, dword [edi + 4]
imul ecx, eax
push eax
push dword [edi - 4]
add ecx, dword [edi]
add ecx, dword [edx + 0x24]
mov edx, dword [edi - 8]
call fcn.10027670
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [edx + 0x20]
cmp ecx, 1
jbe 0x100281e0
mov eax, dword [edx + 0x10]
push ecx
mov ecx, dword [edi + 4]
imul ecx, eax
push eax
push dword [edi - 4]
add ecx, dword [edi]
add ecx, dword [edx + 0x24]
mov edx, dword [edi - 8]
call fcn.100278c0
add esp, 0xc
movzx eax, word [edi]
movd xmm0, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
cvtdq2ps xmm0, xmm0
mov word [esi], ax
movzx eax, word [edi + 4]
mov word [esi + 2], ax
movzx eax, word [edi - 8]
add ax, word [edi]
mulss xmm0, dword [esp + 0x1c]
mov edx, dword [esp + 0x78]
mov word [esi + 4], ax
movzx eax, word [edi + 4]
add ax, word [edi - 4]
movss dword [esi + 0x10], xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mov word [esi + 6], ax
mulss xmm0, dword [esp + 0x74]
addss xmm0, dword [esp + 0x44]
movss dword [esi + 8], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esp + 0x7c]
addss xmm0, dword [esp + 0x48]
movss dword [esi + 0xc], xmm0
mov eax, dword [edi - 8]
add eax, ecx
mov ecx, dword [esp + 0x20]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esp + 0x74]
addss xmm0, dword [esp + 0x44]
movss dword [esi + 0x14], xmm0
mov eax, dword [edi - 4]
add eax, edx
cmp dword [esp + 0x14], 0
mov edx, dword [esp + 0x3c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esp + 0x7c]
addss xmm0, dword [esp + 0x48]
movss dword [esi + 0x18], xmm0
mov esi, dword [esp + 0x10]
jne 0x100282f9
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], edx
jmp 0x100282f9
cmp dword [esi + 0x18], 0
jne 0x100282f1
test eax, eax
je 0x100282f1
cmp dword [edi - 8], 0
jne 0x100282f1
cmp dword [edi - 4], 0
jne 0x100282f1
cmp dword [esp + 0x4c], 0
jl 0x100282f1
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x50]
mov ecx, dword [ecx + 0x10]
movups xmm0, xmmword [eax + ecx]
movups xmmword [edx + ecx], xmm0
movq xmm0, qword [eax + ecx + 0x10]
movq qword [edx + ecx + 0x10], xmm0
mov eax, dword [eax + ecx + 0x18]
mov dword [edx + ecx + 0x18], eax
mov ecx, dword [esp + 0x20]
jmp 0x100282f9
mov dword [esp + 0x40], 0
mov eax, dword [ebp + 8]
inc ecx
inc dword [esp + 0x54]
add edx, 0x1c
add edi, 0x18
mov dword [esp + 0x20], ecx
mov dword [esp + 0x3c], edx
cmp ecx, dword [eax + 0xc]
jl 0x10027ce4
mov eax, dword [esp + 0x80]
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x84]
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x40]
pop edi
pop esi
mov esp, ebp
pop ebp
ret