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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x74
push ebx
push esi
mov esi, dword [0x10273620]
push edi
mov eax, dword [esi]
mov edi, dword [esi + 0x10]
mov dword [esp + 0x4c], edi
mov al, byte [eax + 8]
mov byte [esp + 0x43], al
mov eax, dword [esi + 0x14]
add eax, edi
mov dword [esp + 0x64], eax
cmp edi, eax
je 0x1018146b
mov eax, dword ds:[esi + 0xc]
mov ecx, edi
dec eax
shr ecx, 1
and ecx, eax
and edi, 1
mov eax, dword [esi + 8]
mov dword [esp + 0x5c], edi
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x48], eax
mov ecx, dword [eax + edi*8]
mov eax, dword [0x10273634]
mov eax, dword [eax + 4]
cmp byte [eax + 1], 0
je 0x10181461
mov eax, dword [ecx]
test eax, eax
je 0x10181447
cmp byte [ecx + 7], 0
jne 0x10181447
cmp byte ds:[ecx + 5], 0
je 0x10181447
cmp byte [ecx + 4], 0
jne 0x10181447
mov ebx, dword ds:[eax + 0xf80]
nop
sub ebx, 0x94
je 0x10181447
mov ecx, eax
call fcn.10008c60
mov edx, dword [esp + 0x48]
movss xmm0, dword [eax + 4]
movss dword [ebx + 0x18], xmm0
mov edx, dword [edx + edi*8]
mov dword [esp + 0x60], edx
mov eax, dword [edx + 0x40]
cmp byte [eax + 5], 0
je 0x10181205
addss xmm0, dword ds:[eax]
movss dword [ebx + 0x20], xmm0
movss dword [ebx + 0x24], xmm0
jmp 0x1018143c
cmp byte [esp + 0x43], 0
je 0x10181447
cmp byte [edx + 0x38], 0
je 0x10181447
mov eax, dword [edx + 0x48]
cmp dword [eax + 0x258], 0
je 0x10181447
mov edi, dword [edx + 0x3c]
cmp byte [edi], 0
je 0x1018124f
mov ecx, dword [edi + 0x10]
lea eax, [ecx + 1]
mov dword [edi + 0x10], eax
test ecx, ecx
jle 0x10181249
mov eax, dword [edx + 0x3c]
mov dword [eax + 0x10], 0
mov eax, dword [edx + 0x3c]
mov byte [eax], 0
mov eax, dword [edx + 0x3c]
movss xmm0, dword [eax + 8]
movss dword [ebx + 0x18], xmm0
mov edx, dword [edx + 0x3c]
cmp dword [edx + 0x28], 0
mov edi, dword [edx + 0x24]
je 0x10181289
mov ecx, dword [edx + 0x20]
lea eax, [edx + 0x18]
mov dword [esp + 0x54], eax
dec ecx
mov eax, edi
shr eax, 1
and ecx, eax
mov eax, dword [edx + 0x1c]
and edi, 1
mov eax, dword [eax + ecx*4]
subss xmm0, dword [eax + edi*8]
jmp 0x1018128c
xorps xmm0, xmm0
movss dword [esp + 0x44], xmm0
sub esp, 8
movss dword [esp + 0x5c], xmm0
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.100aa68f
fstp dword [esp + 0x58]
movss xmm0, dword [esp + 0x58]
add esp, 8
comiss xmm0, dword [0x10225108]
jbe 0x10181306
movss xmm0, dword [esp + 0x44]
lea eax, [esp + 0x54]
movss xmm1, dword [0x1022526c]
lea ecx, [esp + 0x50]
comiss xmm1, xmm0
mov dword [esp + 0x48], 0x42b20000
mov dword [esp + 0x50], 0xc2b20000
cmovbe ecx, eax
lea eax, [esp + 0x48]
comiss xmm0, dword [0x10225120]
movss xmm0, dword [ebx + 0x18]
cmovbe eax, ecx
addss xmm0, dword [eax]
jmp 0x10181431
mov eax, dword [0x10273620]
mov ecx, dword [eax]
mov ecx, dword [ecx]
call fcn.10005360
mov ecx, dword [esp + 0x5c]
mov edi, eax
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + ecx*8]
mov ecx, dword [ecx]
mov edx, dword [ecx]
mov edx, dword [edx + 0x24]
call edx
movss xmm2, dword [edi]
movss xmm1, dword [edi + 4]
movss xmm0, dword [edi + 8]
subss xmm2, dword [eax]
subss xmm1, dword [eax + 4]
subss xmm0, dword [eax + 8]
push ecx
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0x70]
movss dword [esp + 0x70], xmm2
movss dword [esp + 0x74], xmm1
movss dword [esp + 0x78], xmm0
call fcn.10185860
movss xmm4, dword [0x10225278]
movss xmm1, dword [0x102251c0]
movss xmm0, dword ds:[eax + 4]
comiss xmm4, xmm0
jbe 0x1018138b
addss xmm0, xmm1
comiss xmm4, xmm0
ja 0x10181382
movss xmm3, dword [0x1022517c]
comiss xmm0, xmm3
jbe 0x101813a9
nop dword [eax + eax]
subss xmm0, xmm1
comiss xmm0, xmm3
ja 0x101813a0
comiss xmm4, xmm0
jbe 0x101813b9
nop
addss xmm0, xmm1
comiss xmm4, xmm0
ja 0x101813b0
comiss xmm0, xmm3
jbe 0x101813c9
nop
subss xmm0, xmm1
comiss xmm0, xmm3
ja 0x101813c0
movss xmm5, dword [ebx + 0x18]
movaps xmm2, xmm5
subss xmm2, xmm0
comiss xmm2, xmm3
jbe 0x101813e2
subss xmm2, xmm1
jmp 0x101813eb
comiss xmm4, xmm2
jbe 0x101813eb
addss xmm2, xmm1
xorps xmm0, xmm0
comiss xmm2, xmm0
jbe 0x101813fd
movss xmm0, dword [0x10224fac]
jmp 0x10181405
movss xmm0, dword [0x10225244]
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 0x3c]
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x1018141d
mulss xmm0, dword [0x10225114]
jmp 0x1018142d
nop dword [eax]
cmp eax, 1
jne 0x10181436
mulss xmm0, dword [0x102250e8]
addss xmm0, xmm5
movss dword [ebx + 0x24], xmm0
mov eax, dword [ebx + 0x24]
mov dword [ebx + 0x20], eax
mov byte [ebx + 0x28], 1
mov dword [ebx + 0x34], 0
mov edi, dword [esp + 0x4c]
inc edi
mov dword [esp + 0x4c], edi
cmp edi, dword [esp + 0x64]
jne 0x10181153
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ecx + 0x3c]
mov dword [eax + 0x10], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret