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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x18b4
call fcn.100ea030
push ebx
push esi
mov esi, dword [0x10137df8]
mov dword [esp + 0x40], ecx
push edi
mov dword [esp + 0x48], edx
mov ecx, dword [esi + 0x120]
mov dword [esp + 0x40], esi
call fcn.10084c80
mov ecx, dword [0x10139208]
mov ebx, eax
movss xmm0, dword [0x1012af44]
movss dword [esp + 0x4c], xmm0
movss xmm0, dword [esi + 0x124]
mov ecx, dword [ecx]
movss dword [esp + 0x54], xmm0
xorps xmm0, xmm0
movq qword [esp + 0x18], xmm0
mov dword [esp + 0x20], 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov eax, dword [0x10139208]
mov esi, dword [eax]
mov ecx, esi
call fcn.1006fc70
mov edx, dword [esi]
mov ecx, esi
mov edi, eax
mov edx, dword [edx + 0x24]
call edx
movss xmm0, dword [edi]
mov esi, dword [ebx]
mov ebx, dword [ebx + 4]
addss xmm0, dword [eax]
mov dword [esp + 0x30], esi
mov dword [esp + 0x14], ebx
movss dword [esp + 0x34], xmm0
movss xmm0, dword [edi + 4]
addss xmm0, dword [eax + 4]
movss dword [esp + 0x38], xmm0
movss xmm0, dword [edi + 8]
addss xmm0, dword [eax + 8]
mov eax, dword [esp + 0x40]
mov cl, byte [eax + 0x11c]
mov eax, dword [eax + 0x11c]
and cl, 1
shr eax, 1
and eax, 0xffffff01
movss dword [esp + 0x3c], xmm0
mov byte [esp + 0x27], cl
xorps xmm0, xmm0
mov dword [esp + 0x50], eax
cmp esi, ebx
je 0x10071283
mov eax, dword [esp + 0x14]
lea ebx, [esi + 0x24]
cmp dword [ebx + 4], 0
je 0x100713f2
cmp byte [ebx - 0x10], 0
je 0x100713f2
cmp dword [ebx - 0x20], 0
je 0x100713f2
mov eax, dword [0x10137e08]
push dword [esi]
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov edi, eax
mov dword [esp + 0x28], edi
test edi, edi
je 0x100713e2
mov ecx, edi
call fcn.1006a090
mov ecx, dword [eax]
shr ecx, 4
test cl, 1
je 0x10070bdf
cmp byte [esp + 0x27], 0
jne 0x100713e2
mov ecx, edi
call fcn.1006a090
mov eax, dword [eax]
shr eax, 5
test al, 1
jne 0x10070c2f
mov ecx, edi
call fcn.1006fce0
mov eax, dword [eax]
shr eax, 0x13
test al, 1
jne 0x10070c2f
mov ecx, edi
call fcn.1006a090
mov eax, dword [eax]
shr eax, 8
test al, 1
jne 0x10070c2f
mov ecx, edi
call fcn.1006fce0
mov eax, dword [eax]
shr eax, 0x14
test al, 1
jne 0x10070c2f
mov ecx, edi
call fcn.1006a090
mov eax, dword [eax]
shr eax, 0xe
test al, 1
je 0x10070c3a
cmp byte [esp + 0x50], 0
jne 0x100713e2
mov eax, dword [0x10139208]
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
call fcn.100e6cf0
test al, al
je 0x10070c55
mov edx, 1
jmp 0x10070c74
mov ecx, dword [esp + 0x2c]
call fcn.10069c90
mov ecx, edi
mov esi, eax
call fcn.10069c90
mov ecx, dword [esi]
xor edx, edx
mov esi, dword [esp + 0x30]
cmp ecx, dword [eax]
setne dl
test dl, dl
jne 0x10070c88
mov eax, dword [esp + 0x40]
cmp byte [eax + 0x117], dl
je 0x100713e2
mov ecx, dword [edi + 0x854]
lea eax, [edi + 0x854]
test ecx, ecx
mov dword [esp + 0x2c], 0
lea edx, [esp + 0x2c]
cmovns edx, eax
cmp ecx, 0x80
mov eax, 0x1012265c
cmovle eax, edx
mov eax, dword [eax]
lea eax, [eax + eax*2]
shl eax, 4
push eax
push dword [edi + 0x848]
lea eax, [esp + 0xc8]
push eax
call fcn.100ea8d0
mov eax, dword [edi]
add esp, 0xc
mov ecx, edi
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
mov ecx, eax
call edx
mov ecx, edi
movq xmm0, qword [eax]
movq qword [esp + 0x94], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 0x9c], eax
mov eax, dword [edi]
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
mov ecx, edi
movq xmm0, qword [eax]
movq qword [esp + 0x88], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 0x90], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x24]
call eax
mov ecx, edi
movq xmm0, qword [eax]
movq qword [esp + 0x70], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 0x78], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x28]
call eax
movq xmm0, qword [eax]
movq qword [esp + 0x7c], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 0x84], eax
mov eax, dword [0x10137df8]
cmp byte [eax + 0x1ec], 0
jne 0x10070d76
cmp byte [eax + 0x1f4], 0
je 0x10071022
mov eax, dword [esp + 0x40]
cmp byte [eax + 0x118], 0
je 0x10071022
xor esi, esi
mov dword [esp + 0x2c], esi
cmp dword [ebx + 4], esi
jle 0x10070fd0
mov ecx, dword [ebx]
mov eax, dword [ebx - 4]
add ecx, esi
dec eax
and ecx, eax
mov eax, dword [ebx - 8]
mov eax, dword [eax + ecx*4]
movss xmm0, dword [eax + 0x6c]
call fcn.10074440
test al, al
je 0x10070fc2
mov ecx, dword [ebx]
lea edx, [esp + 0x10]
mov eax, dword [ebx - 4]
add ecx, esi
dec eax
mov dword [esp + 0x10], 0
and ecx, eax
mov eax, dword [ebx - 8]
mov esi, dword [eax + ecx*4]
lea eax, [edi + 0x854]
mov ecx, dword [eax]
test ecx, ecx
mov dword [esp + 0xc], esi
cmovns edx, eax
cmp ecx, 0x80
mov eax, 0x10122650
cmovle eax, edx
mov eax, dword [eax]
lea eax, [eax + eax*2]
shl eax, 4
push eax
lea eax, [esi + 0x70]
push eax
push dword [edi + 0x848]
call fcn.100ea8d0
mov eax, dword [0x10137df4]
lea edi, [esi + 0x18]
mov ecx, dword [esp + 0x34]
add esp, 0xc
mov eax, dword [eax + 0x90]
push edi
call eax
mov ecx, dword [esp + 0x28]
mov eax, esi
add eax, 0x24
push eax
mov eax, dword [0x10137df4]
mov eax, dword [eax + 0x94]
call eax
mov eax, dword [0x10137df4]
mov ecx, dword [esp + 0x28]
mov esi, dword [eax + 0x98]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov edx, dword [esp + 0xc]
lea ecx, [edx + 0x54]
push ecx
lea ecx, [edx + 0x48]
push ecx
mov ecx, eax
call esi
mov esi, dword [esp + 0xc]
mov eax, dword [edi + 8]
movq xmm1, qword [edi]
mov edi, dword [esp + 0x28]
mov edx, edi
movss xmm0, dword [esi + 0x44]
addss xmm0, dword [esi + 0x38]
mov ecx, dword [esp + 0x48]
movss xmm2, dword [esp + 0x3c]
movss xmm3, dword [esi + 0x60]
movss xmm4, dword [esi + 0x64]
mulss xmm0, dword [0x1012acd8]
mov dword [esp + 0x60], eax
movss xmm5, dword [esi + 0x68]
movq qword [esp + 0xa0], xmm1
addss xmm0, dword [esp + 0x60]
movss xmm1, dword [esp + 0x38]
movss dword [esp + 0x60], xmm0
mov eax, dword [esp + 0x60]
movss xmm0, dword [esp + 0x34]
mov dword [esp + 0xa8], eax
lea eax, [esp + 0xa0]
push eax
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x4c]
call fcn.100708d0
movss dword [esp + 0x20], xmm2
movss dword [esp + 0x1c], xmm1
mov ecx, dword [edi + 0x854]
lea eax, [edi + 0x854]
test ecx, ecx
mov dword [esp + 0x10], 0
lea edx, [esp + 0x10]
movss dword [esp + 0x18], xmm0
cmovns edx, eax
cmp ecx, 0x80
mov eax, 0x10122650
cmovle eax, edx
mov eax, dword [eax]
lea eax, [eax + eax*2]
shl eax, 4
push eax
lea eax, [esp + 0xc4]
push eax
push dword [edi + 0x848]
call fcn.100ea8d0
add esp, 0xc
lea eax, [esp + 0x70]
mov ecx, edi
push eax
mov eax, dword [0x10137df4]
mov eax, dword [eax + 0x90]
call eax
lea eax, [esp + 0x7c]
mov ecx, edi
push eax
mov eax, dword [0x10137df4]
mov eax, dword [eax + 0x94]
call eax
mov eax, dword [0x10137df4]
mov ecx, edi
mov esi, dword [eax + 0x98]
mov eax, dword [edi]
mov eax, dword [eax + 0xc]
call eax
lea ecx, [esp + 0x88]
push ecx
lea ecx, [esp + 0x98]
push ecx
mov ecx, eax
call esi
movss xmm1, dword [esp + 0x18]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x10071011
movss xmm1, dword [esp + 0x1c]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x10071011
movss xmm1, dword [esp + 0x20]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x10071011
mov esi, dword [esp + 0x2c]
inc esi
mov dword [esp + 0x2c], esi
cmp esi, dword [ebx + 4]
jl 0x10070d96
movss xmm1, dword [esp + 0x1c]
xorps xmm0, xmm0
movss xmm2, dword [esp + 0x20]
movss xmm3, dword [esp + 0x18]
ucomiss xmm3, xmm0
lahf
test ah, 0x44
jp 0x10071283
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x10071283
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x10071283
jmp 0x100713ea
mov ecx, dword [esp + 0xc]
movss xmm0, dword [ecx + 0x6c]
movss dword [esp + 0x4c], xmm0
jmp 0x10070fd0
mov esi, dword [ebx + 4]
or ecx, 0xffffffff
sub esi, 1
js 0x100713e7
mov edi, ecx
mov ecx, dword [ebx]
mov eax, dword [ebx - 4]
add ecx, esi
dec eax
and ecx, eax
mov eax, dword [ebx - 8]
mov eax, dword [eax + ecx*4]
movss xmm0, dword [eax + 0x6c]
call fcn.10074440
test al, al
mov ecx, esi
cmove ecx, edi
sub esi, 1
mov edi, ecx
jns 0x10071033
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x28]
cmp ecx, 0xffffffff
jle 0x100713e7
add ecx, dword [ebx]
lea edx, [esp + 0x10]
mov eax, dword [ebx - 4]
dec eax
mov dword [esp + 0x10], 0
and ecx, eax
mov eax, dword [ebx - 8]
mov esi, dword [eax + ecx*4]
lea eax, [edi + 0x854]
mov ecx, dword [eax]
test ecx, ecx
mov dword [esp + 0xc], esi
cmovns edx, eax
cmp ecx, 0x80
mov eax, 0x10122650
cmovle eax, edx
mov eax, dword [eax]
lea eax, [eax + eax*2]
shl eax, 4
push eax
lea eax, [esi + 0x70]
push eax
push dword [edi + 0x848]
call fcn.100ea8d0
mov eax, dword [0x10137df4]
lea edi, [esi + 0x18]
mov ecx, dword [esp + 0x34]
add esp, 0xc
mov eax, dword [eax + 0x90]
push edi
call eax
mov ecx, dword [esp + 0x28]
mov eax, esi
add eax, 0x24
push eax
mov eax, dword [0x10137df4]
mov eax, dword [eax + 0x94]
call eax
mov eax, dword [0x10137df4]
mov ecx, dword [esp + 0x28]
mov esi, dword [eax + 0x98]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov edx, dword [esp + 0xc]
lea ecx, [edx + 0x54]
push ecx
lea ecx, [edx + 0x48]
push ecx
mov ecx, eax
call esi
mov esi, dword [esp + 0xc]
mov eax, dword [edi + 8]
movq xmm1, qword [edi]
mov edi, dword [esp + 0x28]
mov edx, edi
movss xmm0, dword [esi + 0x44]
addss xmm0, dword [esi + 0x38]
mov ecx, dword [esp + 0x48]
movss xmm2, dword [esp + 0x3c]
movss xmm3, dword [esi + 0x60]
movss xmm4, dword [esi + 0x64]
mulss xmm0, dword [0x1012acd8]
mov dword [esp + 0x6c], eax
movss xmm5, dword [esi + 0x68]
movq qword [esp + 0xb0], xmm1
addss xmm0, dword [esp + 0x6c]
movss xmm1, dword [esp + 0x38]
movss dword [esp + 0x6c], xmm0
mov eax, dword [esp + 0x6c]
movss xmm0, dword [esp + 0x34]
mov dword [esp + 0xb8], eax
lea eax, [esp + 0xb0]
push eax
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x4c]
call fcn.100708d0
movss dword [esp + 0x20], xmm2
movss dword [esp + 0x1c], xmm1
movss dword [esp + 0x18], xmm0
mov ecx, dword [edi + 0x854]
lea eax, [edi + 0x854]
test ecx, ecx
mov dword [esp + 0x10], 0
lea edx, [esp + 0x10]
cmovns edx, eax
cmp ecx, 0x80
mov eax, 0x10122650
cmovle eax, edx
mov eax, dword [eax]
lea eax, [eax + eax*2]
shl eax, 4
push eax
lea eax, [esp + 0xc4]
push eax
push dword [edi + 0x848]
call fcn.100ea8d0
add esp, 0xc
lea eax, [esp + 0x70]
mov ecx, edi
push eax
mov eax, dword [0x10137df4]
mov eax, dword [eax + 0x90]
call eax
lea eax, [esp + 0x7c]
mov ecx, edi
push eax
mov eax, dword [0x10137df4]
mov eax, dword [eax + 0x94]
call eax
mov eax, dword [0x10137df4]
mov ecx, edi
mov esi, dword [eax + 0x98]
mov eax, dword [edi]
mov eax, dword [eax + 0xc]
call eax
lea ecx, [esp + 0x88]
push ecx
lea ecx, [esp + 0x98]
push ecx
mov ecx, eax
call esi
movss xmm1, dword [esp + 0x18]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x10071274
movss xmm1, dword [esp + 0x1c]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x10071274
movss xmm2, dword [esp + 0x20]
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jnp 0x10070fdf
mov ecx, dword [esp + 0xc]
movss xmm1, dword [ecx + 0x6c]
movss dword [esp + 0x4c], xmm1
movss xmm1, dword [esp + 0x18]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x100712b4
movss xmm1, dword [esp + 0x1c]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x100712b4
movss xmm1, dword [esp + 0x20]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x100713db
mov ebx, dword [esp + 0x48]
lea edx, [esp + 0x18]
lea ecx, [esp + 0x34]
lea esi, [ebx + 0xc]
push esi
call fcn.100992a0
mov edx, dword [esp + 0x40]
movss dword [esp + 0x3c], xmm2
movss dword [esp + 0x38], xmm1
movss dword [esp + 0x34], xmm0
cmp byte [edx + 0x119], 0
je 0x100712ec
or dword [ebx + 0x24], 1
test byte [ebx + 0x24], 1
je 0x10071394
mov eax, dword [0x1013a734]
lea ecx, [esp + 0x10]
mov eax, dword [eax + 0x1c]
movss xmm2, dword [eax + 0x2c]
mov eax, dword [0x1013a730]
movss dword [esp + 0x44], xmm2
mov eax, dword [eax + 0x1c]
movss xmm1, dword [eax + 0x2c]
mov eax, dword [0x1013a72c]
movss dword [esp + 0x10], xmm1
mov eax, dword [eax + 0x1c]
movss xmm0, dword [eax + 0x2c]
lea eax, [esp + 0x50]
comiss xmm0, xmm1
movss dword [esp + 0x50], xmm0
cmovae ecx, eax
lea eax, [esp + 0x44]
comiss xmm2, xmm0
cmovae eax, ecx
movss xmm0, dword [eax]
mov eax, dword [0x1013a724]
test eax, eax
jne 0x10071359
mov eax, dword [0x1013a720]
mov eax, dword [eax + 0x1c]
movss xmm1, dword [eax + 0x2c]
mov eax, dword [0x1013a728]
divss xmm0, xmm1
mov eax, dword [eax + 0x1c]
maxss xmm0, dword [eax + 0x2c]
mov eax, dword [0x10137df4]
addss xmm0, dword [esp + 0x4c]
mov eax, dword [eax + 0x14]
divss xmm0, dword [eax + 0x1c]
addss xmm0, dword [0x1012acd8]
cvttss2si eax, xmm0
mov dword [ebx + 8], eax
movss xmm0, dword [esp + 0x34]
addss xmm0, dword [esi]
movss dword [esi], xmm0
movss xmm0, dword [esp + 0x38]
addss xmm0, dword [esi + 4]
movss dword [esi + 4], xmm0
movss xmm0, dword [esp + 0x3c]
addss xmm0, dword [esi + 8]
movss dword [esi + 8], xmm0
cmp byte [edx + 0x116], 0
jne 0x100713db
mov eax, dword [0x10137e08]
push esi
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x50]
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xorps xmm0, xmm0
jmp 0x100713ee
xorps xmm0, xmm0
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
add esi, 0x2c
add ebx, 0x2c
mov dword [esp + 0x30], esi
cmp esi, eax
jne 0x10070b86
jmp 0x10071283