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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x18a4
call fcn.100ea030
push ebx
push esi
mov esi, dword [0x10137df8]
mov eax, edx
mov ebx, ecx
mov dword [esp + 0x2c], eax
push edi
mov dword [esp + 0x54], ebx
cmp byte [esi + 0xdc], 0
mov dword [esp + 0x14], esi
je 0x100707fa
cmp byte [esi + 0xe2], 0
jne 0x1006ff99
cmp byte [esi + 0xdd], 0
jne 0x1006ff99
mov edx, ebx
mov ecx, eax
call fcn.100e70a0
test al, al
je 0x100707fa
mov edx, ebx
call fcn.100e6d60
test al, al
je 0x100707fa
xor eax, eax
mov ecx, ebx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x20], eax
mov word [esp + 0x24], ax
call fcn.1006f9c0
mov ecx, dword [esi + 0xf0]
test cl, 4
je 0x1006ffde
test al, al
je 0x1006ffd4
mov byte [esp + 0x20], 1
jmp 0x10070004
mov dword [esp + 0x22], 0x1010101
jmp 0x1006fffb
mov al, cl
shr ecx, 1
and al, 1
and cl, 1
mov byte [esp + 0x20], al
mov byte [esp + 0x22], cl
mov byte [esp + 0x23], cl
mov byte [esp + 0x24], cl
mov byte [esp + 0x25], cl
mov ax, word [esp + 0x24]
mov dword [esp + 0x4c], eax
mov ecx, dword [esi + 0xec]
call fcn.10084c80
movss xmm0, dword [esi + 0xf4]
mov ebx, eax
mov eax, dword [0x10139208]
movss dword [esp + 0x50], xmm0
movss xmm0, dword [0x1012af44]
movss dword [esp + 0x44], xmm0
xorps xmm0, xmm0
mov esi, dword [eax]
mov ecx, esi
movq qword [esp + 0x34], xmm0
mov dword [esp + 0x3c], 0
call fcn.1006fc70
mov edx, dword [esi]
mov ecx, esi
mov edi, eax
mov edx, dword [edx + 0x24]
call edx
movss xmm0, dword [edi]
xorps xmm1, xmm1
mov esi, dword [esp + 0x14]
mov edx, dword [ebx]
addss xmm0, dword [eax]
mov dword [esp + 0x10], edx
movss dword [esp + 0x58], xmm0
movss xmm0, dword [edi + 4]
addss xmm0, dword [eax + 4]
movss dword [esp + 0x5c], xmm0
movss xmm0, dword [edi + 8]
addss xmm0, dword [eax + 8]
mov al, byte [esi + 0xe8]
and al, 1
mov byte [esp + 0x2b], al
mov eax, dword [esi + 0xe8]
shr eax, 1
and eax, 0xffffff01
movss dword [esp + 0x60], xmm0
mov dword [esp + 0x64], eax
mov eax, dword [ebx + 4]
mov ebx, edx
mov dword [esp + 0x18], eax
cmp ebx, eax
je 0x100705e4
mov ecx, dword [esp + 0x18]
add ebx, 0x28
mov eax, edx
nop dword [eax]
cmp dword [ebx], 0
je 0x100705d2
cmp byte [ebx - 0x14], 0
je 0x100705d2
cmp dword [ebx - 0x24], 0
je 0x100705d2
mov eax, dword [0x10137e08]
mov edx, dword [esp + 0x10]
mov ecx, dword [eax + 0x18]
push dword [edx]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov edi, eax
mov dword [esp + 0x2c], edi
test edi, edi
je 0x100705be
mov ecx, edi
call fcn.1006a090
mov ecx, dword [eax]
shr ecx, 4
test cl, 1
je 0x1007012c
cmp byte [esp + 0x2b], 0
jne 0x100705be
mov ecx, edi
call fcn.1006a090
mov eax, dword [eax]
shr eax, 5
test al, 1
jne 0x1007017c
mov ecx, edi
call fcn.1006fce0
mov eax, dword [eax]
shr eax, 0x13
test al, 1
jne 0x1007017c
mov ecx, edi
call fcn.1006a090
mov eax, dword [eax]
shr eax, 8
test al, 1
jne 0x1007017c
mov ecx, edi
call fcn.1006fce0
mov eax, dword [eax]
shr eax, 0x14
test al, 1
jne 0x1007017c
mov ecx, edi
call fcn.1006a090
mov eax, dword [eax]
shr eax, 0xe
test al, 1
je 0x10070187
cmp byte [esp + 0x64], 0
jne 0x100705be
mov eax, dword [0x10139208]
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
call fcn.100e6cf0
test al, al
je 0x100701a2
mov edx, 1
jmp 0x100701c1
mov ecx, dword [esp + 0x1c]
call fcn.10069c90
mov ecx, edi
mov esi, eax
call fcn.10069c90
mov ecx, dword [esi]
xor edx, edx
mov esi, dword [esp + 0x14]
cmp ecx, dword [eax]
setne dl
test dl, dl
jne 0x100701d1
cmp byte [esi + 0xdf], dl
je 0x100705be
mov ecx, dword [edi + 0x854]
lea eax, [edi + 0x854]
mov dword [esp + 0x40], eax
lea edx, [esp + 0x1c]
test ecx, ecx
mov dword [esp + 0x1c], 0
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
push dword [edi + 0x848]
lea eax, [esp + 0xb8]
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 + 0xa4], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 0xac], 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 + 0x98], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 0xa0], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x24]
call eax
mov ecx, edi
movq xmm0, qword [eax]
movq qword [esp + 0x80], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 0x88], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x28]
call eax
or edi, 0xffffffff
mov dword [esp + 0x48], edi
movq xmm0, qword [eax]
movq qword [esp + 0x8c], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 0x94], eax
mov eax, dword [0x10137df8]
cmp byte [eax + 0x1ec], 0
jne 0x100702d3
cmp byte [eax + 0x1f4], 0
je 0x100703aa
cmp byte [esi + 0xe1], 0
je 0x100703aa
movss xmm0, dword [esi + 0xf4]
xor esi, esi
movss dword [esp + 0x1c], xmm0
cmp dword [ebx], esi
jle 0x100705c3
mov eax, dword [ebx - 4]
mov ecx, dword [ebx - 8]
add eax, esi
dec ecx
and ecx, eax
mov eax, dword [ebx - 0xc]
mov edi, dword [eax + ecx*4]
movss xmm0, dword [edi + 0x6c]
call fcn.10074440
test al, al
je 0x1007039b
movss xmm0, dword [edi + 0x7c]
lea edx, [esp + 0x74]
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x58]
movss dword [esp + 0x74], xmm0
add eax, 0xc
movss xmm0, dword [edi + 0x8c]
movss dword [esp + 0x78], xmm0
movss xmm0, dword [edi + 0x9c]
push eax
movss dword [esp + 0x80], xmm0
call fcn.100992a0
movss dword [esp + 0x6c], xmm1
movaps xmm1, xmm0
movss dword [esp + 0x68], xmm0
movss xmm0, dword [esp + 0x6c]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss xmm1, dword [esp + 0x1c]
comiss xmm1, xmm0
jbe 0x1007039b
mov edi, esi
movss dword [esp + 0x1c], xmm0
mov dword [esp + 0x48], edi
jmp 0x1007039f
mov edi, dword [esp + 0x48]
inc esi
cmp esi, dword [ebx]
jl 0x100702f8
jmp 0x100703de
mov esi, dword [ebx]
sub esi, 1
js 0x100705c3
mov ecx, dword [ebx - 4]
mov eax, dword [ebx - 8]
add ecx, esi
dec eax
and ecx, eax
mov eax, dword [ebx - 0xc]
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 0x100703b5
cmp edi, 0xffffffff
jle 0x100705c3
mov eax, dword [ebx - 4]
lea edx, [esp + 0x44]
mov ecx, dword [ebx - 8]
add eax, edi
dec ecx
mov esi, dword [esp + 0x2c]
and ecx, eax
mov dword [esp + 0x44], 0
mov eax, dword [ebx - 0xc]
mov edi, dword [eax + ecx*4]
mov eax, dword [esp + 0x40]
mov ecx, dword [eax]
test ecx, ecx
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, [edi + 0x70]
push eax
push dword [esi + 0x848]
call fcn.100ea8d0
add esp, 0xc
lea eax, [edi + 0x18]
mov ecx, esi
push eax
mov eax, dword [0x10137df4]
mov eax, dword [eax + 0x90]
call eax
lea eax, [edi + 0x24]
mov ecx, esi
push eax
mov eax, dword [0x10137df4]
mov eax, dword [eax + 0x94]
call eax
mov eax, dword [0x10137df4]
mov ecx, dword [esp + 0x2c]
mov esi, dword [eax + 0x98]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
lea ecx, [edi + 0x54]
push ecx
lea ecx, [edi + 0x48]
push ecx
mov ecx, eax
call esi
mov eax, dword [esp + 0x14]
movss xmm0, dword [edi + 0x6c]
mov edi, dword [esp + 0x2c]
mov edx, edi
mov ecx, dword [esp + 0x20]
movzx eax, byte [eax + 0xdf]
movss xmm1, dword [esp + 0x5c]
movss xmm2, dword [esp + 0x60]
push eax
lea eax, [esp + 0x54]
movss dword [esp + 0x48], xmm0
movss xmm0, dword [esp + 0x5c]
push eax
sub esp, 8
mov eax, esp
push dword [edi + 0x848]
mov dword [eax], ecx
mov ecx, dword [esp + 0x60]
mov word [eax + 4], cx
mov ecx, dword [esp + 0x44]
call fcn.1006fd50
mov ecx, dword [edi + 0x854]
lea eax, [edi + 0x854]
test ecx, ecx
movss dword [esp + 0x3c], xmm2
lea edx, [esp + 0x40]
movss dword [esp + 0x38], xmm1
cmovns edx, eax
movss dword [esp + 0x34], xmm0
mov dword [esp + 0x40], 0
mov eax, 0x10122650
cmp ecx, 0x80
cmovle eax, edx
mov eax, dword [eax]
lea eax, [eax + eax*2]
shl eax, 4
push eax
lea eax, [esp + 0xb4]
push eax
push dword [edi + 0x848]
call fcn.100ea8d0
add esp, 0xc
lea eax, [esp + 0x80]
mov ecx, edi
push eax
mov eax, dword [0x10137df4]
mov eax, dword [eax + 0x90]
call eax
lea eax, [esp + 0x8c]
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 + 0x98]
push ecx
lea ecx, [esp + 0xa8]
push ecx
mov ecx, eax
call esi
movss xmm0, dword [esp + 0x34]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100705e4
movss xmm0, dword [esp + 0x38]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100705e4
movss xmm0, dword [esp + 0x3c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100705e4
jmp 0x100705c6
xorps xmm1, xmm1
jmp 0x100705ca
xorps xmm1, xmm1
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
add eax, 0x2c
add ebx, 0x2c
mov dword [esp + 0x10], eax
cmp eax, ecx
jne 0x100700d0
movss xmm0, dword [esp + 0x34]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10070615
movss xmm0, dword [esp + 0x38]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10070615
movss xmm0, dword [esp + 0x3c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100707fa
mov ebx, dword [esp + 0x30]
lea edx, [esp + 0x34]
lea ecx, [esp + 0x58]
lea esi, [ebx + 0xc]
push esi
call fcn.100992a0
mov edx, dword [esp + 0x14]
lea edi, [ebx + 0x24]
movss dword [esp + 0x3c], xmm2
movss dword [esp + 0x38], xmm1
movss dword [esp + 0x34], xmm0
cmp byte [edx + 0xe2], 0
je 0x10070658
or dword [edi], 1
cmp byte [edx + 0xe2], 0
jne 0x10070694
movss xmm0, dword [0x1012ad2c]
divss xmm0, dword [edx + 0xf8]
movaps xmm1, xmm0
mulss xmm1, dword [esp + 0x34]
movss dword [esp + 0x1c], xmm1
movaps xmm1, xmm0
mulss xmm1, dword [esp + 0x38]
mulss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x30], xmm1
movss dword [esp + 0x2c], xmm0
jmp 0x100706b8
movss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [esp + 0x38]
movss dword [esp + 0x30], xmm0
movss xmm0, dword [esp + 0x34]
movss dword [esp + 0x1c], xmm0
cmp byte [edx + 0xe3], 0
je 0x1007070c
mov ecx, dword [esp + 0x54]
mov eax, dword [ecx]
mov eax, dword [eax + 0x5f4]
call eax
movzx eax, ax
cmp ax, 0x11
je 0x100706e4
cmp ax, 0x63
je 0x100706e4
cmp ax, 0x4d
jne 0x10070708
mov eax, dword [0x10139208]
mov ecx, dword [eax]
call fcn.1006a090
mov eax, dword [eax]
shr eax, 1
test al, 1
jne 0x10070708
mov eax, dword [ebx + 0x24]
lea edi, [ebx + 0x24]
and eax, 0xfffffffe
or eax, 0x800
mov dword [edi], eax
mov edx, dword [esp + 0x14]
test byte [edi], 1
je 0x100707b3
mov eax, dword [0x1013a734]
lea ecx, [esp + 0x54]
mov eax, dword [eax + 0x1c]
movss xmm2, dword [eax + 0x2c]
mov eax, dword [0x1013a730]
movss dword [esp + 0x40], xmm2
mov eax, dword [eax + 0x1c]
movss xmm1, dword [eax + 0x2c]
mov eax, dword [0x1013a72c]
movss dword [esp + 0x54], 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 + 0x40]
comiss xmm2, xmm0
cmovae eax, ecx
movss xmm0, dword [eax]
mov eax, dword [0x1013a724]
test eax, eax
jne 0x10070778
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 + 0x44]
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 + 0x1c]
addss xmm0, dword [esi]
movss dword [esi], xmm0
movss xmm0, dword [esp + 0x30]
addss xmm0, dword [esi + 4]
movss dword [esi + 4], xmm0
movss xmm0, dword [esp + 0x2c]
addss xmm0, dword [esi + 8]
movss dword [esi + 8], xmm0
cmp byte [edx + 0xde], 0
jne 0x100707fa
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