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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xe4
push ebx
push esi
push edi
push 0x10271574
mov esi, ecx
call fcn.1011b4a0
add esp, 4
test eax, eax
jne 0x1007fa89
mov eax, dword [0x10351a88]
mov edx, dword [0x10351a64]
mov dword [0x10351a8c], eax
mov eax, dword [0x10351a70]
push ecx
mov ecx, dword [0x10351a60]
mov dword [0x10351a74], eax
call fcn.10080220
mov eax, dword [0x10351a60]
mov dword [0x10351a64], eax
mov eax, dword [0x10189818]
cmp byte [eax + 0x35d4], 0
je 0x1007fa75
mov eax, dword [0x1018ae24]
mov ecx, dword [eax]
test ecx, ecx
je 0x1007fa75
mov eax, dword [ecx]
mov eax, dword [eax + 0x270]
call eax
test al, al
je 0x1007fa75
mov ecx, 0xc84de670
call fcn.100b07b0
mov ecx, dword [0x1018ae24]
mov ecx, dword [ecx]
cmp dword [eax + ecx + 1], 8
je 0x1007fa75
mov eax, dword [0x10189820]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x174]
call eax
test al, al
jne 0x1007fa75
mov eax, dword [esi + 0x30]
mov cl, al
shr eax, 0xb
and cl, 1
test al, 1
je 0x1007f0db
xor eax, eax
test cl, cl
sete al
add eax, 2
jmp 0x1007f0de
movzx eax, cl
mov dword [0x10186360], eax
mov eax, dword [0x1018ae24]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x430]
call eax
mov ebx, eax
mov dword [esp + 0x4c], ebx
test ebx, ebx
je 0x1007fa75
mov ecx, dword [ebx]
mov edx, dword [ecx + 0x71c]
mov ecx, ebx
call edx
cmp eax, 9
jne 0x1007fa75
mov ecx, 0x19cdc55d
call fcn.100b07b0
movzx eax, word [eax + ebx]
mov dword [esp + 0x94], eax
cmp ax, 0x2d
je 0x1007f154
cmp ax, 0x2f
je 0x1007f154
cmp ax, 0x2e
je 0x1007f154
cmp ax, 0x30
je 0x1007f154
cmp ax, 0x2b
je 0x1007f154
cmp ax, 0x2c
jne 0x1007fa75
movss xmm0, dword [esi + 0xc]
lea edx, [esp + 0x1c]
movss xmm1, dword [esi + 0x10]
lea ecx, [esp + 0x68]
movss xmm2, dword [esi + 0x14]
call fcn.1007e210
mov eax, dword [0x10189814]
xor esi, esi
movss xmm0, dword [0x10178ef4]
xor edi, edi
movss xmm2, dword [esp + 0x24]
movss xmm1, dword [esp + 0x20]
mov eax, dword [eax + 0x10]
movss xmm3, dword [esp + 0x1c]
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], esi
movss xmm4, dword [eax + 0x20]
divss xmm0, xmm4
mov dword [esp + 0x88], esi
movss dword [esp + 0x40], xmm4
movss dword [esp + 0x3c], xmm0
mulss xmm0, dword [0x10178dcc]
movss dword [esp + 0x2c], xmm2
movss dword [esp + 0x28], xmm1
cvttss2si eax, xmm0
movss dword [esp + 0x18], xmm3
mov dword [esp + 0x48], eax
test esi, esi
jne 0x1007f20f
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x84]
call fcn.10072a00
movss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x2c]
movss xmm3, dword [esp + 0x18]
movss xmm4, dword [esp + 0x40]
mov eax, dword [0x10189818]
cmp byte [eax + 0x35d4], 0
je 0x1007f26b
movaps xmm0, xmm3
mulss xmm1, xmm4
mulss xmm0, xmm4
movss dword [esp + 0x90], xmm1
movaps xmm1, xmm2
movss dword [esp + 0x8c], xmm0
movaps xmm0, xmm4
mulss xmm0, dword [0x10179128]
subss xmm1, xmm0
movaps xmm0, xmm2
addss xmm0, xmm1
movss dword [esp + 0x2c], xmm1
mulss xmm0, dword [0x10178e88]
mulss xmm0, xmm4
movss dword [esp + 0x44], xmm0
mov eax, dword [esp + 0x70]
lea edx, [esp + 0x74]
xorps xmm0, xmm0
mov dword [esp + 0x7c], eax
movq qword [esp + 0xb0], xmm0
lea eax, [esp + 0x98]
movq xmm0, qword [esp + 0x68]
lea ecx, [esp + 0x68]
movq qword [esp + 0x74], xmm0
movss xmm0, dword [esp + 0x8c]
addss xmm0, dword [esp + 0x68]
push eax
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
movss dword [esp + 0x78], xmm0
movss xmm0, dword [esp + 0x94]
addss xmm0, dword [esp + 0x7c]
movss dword [esp + 0x7c], xmm0
movss xmm0, dword [esp + 0x48]
addss xmm0, dword [esp + 0x80]
movss dword [esp + 0x80], xmm0
call fcn.1007e180
mov ecx, 0x19cdc55d
call fcn.100b07b0
movsx eax, word [eax + ebx]
add eax, 0xffffffd5
cmp eax, 5
ja case.default.0x1007f31d
jmp dword [eax*4 + 0x1007fa90]
movss xmm4, dword [esp + 0x28]
movss xmm6, dword [esp + 0x18]
movaps xmm1, xmm4
movaps xmm0, xmm6
mulss xmm1, xmm4
mulss xmm0, xmm6
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss xmm1, dword [0x10178df0]
comiss xmm1, xmm0
movss xmm1, dword [esp + 0xc4]
jbe 0x1007f42f
movss xmm0, dword [esp + 0x3c]
mov eax, edi
mulss xmm0, dword [0x10178e24]
cdq
cvttss2si ecx, xmm0
idiv ecx
neg edx
sbb ebx, ebx
inc ebx
jmp 0x1007f431
movss xmm1, dword [esp + 0xc4]
ucomiss xmm1, dword [0x10178ef4]
lahf
test ah, 0x44
jnp 0x1007f3c8
movss xmm0, dword [esp + 0xb8]
comiss xmm0, dword [0x10178ea8]
jbe 0x1007f3c8
movss xmm4, dword [esp + 0x28]
mov ebx, 1
movss xmm6, dword [esp + 0x18]
jmp 0x1007f43a
movss xmm1, dword [esp + 0xc4]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esp + 0x40]
comiss xmm0, dword [0x10178f20]
jbe 0x1007f40a
movss xmm0, dword [esp + 0x3c]
mov eax, edi
mulss xmm0, dword [0x10178e24]
cdq
cvttss2si ecx, xmm0
idiv ecx
test edx, edx
jne 0x1007f40a
movss xmm4, dword [esp + 0x28]
lea ebx, [edx + 1]
movss xmm6, dword [esp + 0x18]
jmp 0x1007f431
movss xmm4, dword [esp + 0x28]
xor ebx, ebx
movss xmm6, dword [esp + 0x18]
jmp 0x1007f431
movss xmm4, dword [esp + 0x28]
movss xmm6, dword [esp + 0x18]
movss xmm1, dword [esp + 0xc4]
xor ebx, ebx
movss xmm0, dword [esp + 0xb8]
ucomiss xmm1, dword [0x10178ef4]
lahf
test ah, 0x44
jnp 0x1007f677
movss xmm2, dword [esp + 0xb4]
or ebx, 2
movss xmm3, dword [esp + 0xb0]
movss xmm5, dword [esp + 0x2c]
movaps xmm1, xmm3
movss dword [esp + 0x18], xmm2
mulss xmm2, xmm4
mulss xmm1, xmm6
mulss xmm0, xmm5
movaps xmm7, xmm2
addss xmm7, xmm1
addss xmm0, xmm0
addss xmm7, xmm2
addss xmm0, xmm1
movss xmm1, dword [0x10178df0]
addss xmm7, xmm0
mulss xmm3, xmm7
subss xmm6, xmm3
movss xmm3, dword [0x101791c8]
comiss xmm6, xmm3
jbe 0x1007f4b7
comiss xmm1, xmm6
jbe 0x1007f4b7
xorps xmm6, xmm6
movss xmm0, dword [esp + 0x18]
mulss xmm0, xmm7
subss xmm4, xmm0
comiss xmm4, xmm3
jbe 0x1007f4d2
comiss xmm1, xmm4
jbe 0x1007f4d2
xorps xmm4, xmm4
movss xmm3, dword [esp + 0xb8]
movaps xmm0, xmm3
mulss xmm0, xmm7
subss xmm5, xmm0
comiss xmm5, dword [0x101791c8]
jbe 0x1007f4f7
comiss xmm1, xmm5
jbe 0x1007f4f7
xorps xmm5, xmm5
movaps xmm7, xmm4
movaps xmm1, xmm6
mulss xmm1, dword [0x10178e7c]
movaps xmm0, xmm5
mulss xmm0, dword [0x10178e7c]
mulss xmm7, dword [0x10178e7c]
mulss xmm4, xmm4
mulss xmm6, xmm6
mulss xmm5, xmm5
addss xmm4, xmm6
movss dword [esp + 0x2c], xmm0
movss dword [esp + 0x38], xmm0
movss xmm0, dword [0x10179140]
movss dword [esp + 0x30], xmm1
movss dword [esp + 0x34], xmm7
addss xmm4, xmm5
mulss xmm4, dword [0x10178e28]
comiss xmm0, xmm4
jbe 0x1007f576
xorps xmm1, xmm1
xorps xmm7, xmm7
xorps xmm4, xmm4
movss dword [esp + 0x30], xmm1
movss dword [esp + 0x34], xmm7
movss dword [esp + 0x38], xmm4
jmp 0x1007f57c
movss xmm4, dword [esp + 0x2c]
comiss xmm3, dword [0x10178ea8]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x24], eax
jbe 0x1007f669
movss xmm3, dword [0x10178ef4]
lea edx, [esp + 0x50]
subss xmm3, dword [esp + 0xc4]
mov eax, dword [esp + 0xac]
lea ecx, [esp + 0xa4]
movaps xmm0, xmm1
mov dword [esp + 0x58], eax
unpcklps xmm0, xmm7
lea eax, [esp + 0x98]
movq qword [esp + 0x30], xmm0
mulss xmm3, dword [esp + 0x40]
push eax
movq qword [esp + 0x20], xmm0
movq xmm0, qword [esp + 0xa8]
movq qword [esp + 0x54], xmm0
movaps xmm2, xmm3
movss xmm0, dword [esp + 0xa8]
mulss xmm2, xmm1
movaps xmm1, xmm3
mulss xmm1, xmm7
addss xmm0, xmm2
mulss xmm3, xmm4
movss dword [esp + 0x34], xmm2
movss dword [esp + 0x38], xmm1
movss dword [esp + 0x3c], xmm3
movss dword [esp + 0x54], xmm0
movss xmm0, dword [esp + 0x58]
addss xmm0, xmm1
movss dword [esp + 0x58], xmm0
movss xmm0, dword [esp + 0x5c]
addss xmm0, xmm3
movss dword [esp + 0x5c], xmm0
call fcn.1007e180
movss xmm2, dword [esp + 0x24]
movss xmm1, dword [esp + 0x20]
movss xmm3, dword [esp + 0x1c]
movss dword [esp + 0x2c], xmm2
movss dword [esp + 0x28], xmm1
movss dword [esp + 0x18], xmm3
jmp 0x1007f689
movq xmm0, qword [esp + 0x30]
movq qword [esp + 0x1c], xmm0
jmp 0x1007f643
movss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x2c]
movss xmm3, dword [esp + 0x18]
movq xmm0, qword [esp + 0xa4]
mov eax, dword [esp + 0xac]
movq qword [esp + 0x68], xmm0
mov dword [esp + 0x70], eax
test bl, 1
jne 0x1007f6cf
test bl, 2
jne 0x1007f6b6
cmp esi, dword [esp + 0x48]
jge 0x1007f6b6
inc esi
jmp 0x1007f6b8
xor esi, esi
movss xmm4, dword [esp + 0x40]
inc edi
mov ebx, dword [esp + 0x4c]
cmp edi, 0x15555554
jb 0x1007f1e2
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x84]
call fcn.10072a00
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x84]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
movq xmm0, qword [esi]
mov eax, dword [esi + 8]
movq qword [esp + 0x30], xmm0
mov dword [esp + 0x38], eax
mov dword [esp + 0x24], 0
cmp esi, edi
je 0x1007fa55
movss xmm6, dword [esp + 0x38]
movss xmm7, dword [esp + 0x34]
movss xmm4, dword [0x1034e3f4]
movss xmm3, dword [esp + 0x30]
movss xmm2, dword [0x1034e418]
movss xmm5, dword [0x1034e414]
nop dword [eax]
movaps xmm0, xmm7
movaps xmm1, xmm3
mulss xmm1, dword [0x1034e410]
mulss xmm0, xmm5
addss xmm1, xmm0
movaps xmm0, xmm6
mulss xmm0, xmm2
addss xmm1, xmm0
movss xmm0, dword [0x10178d64]
addss xmm1, dword [0x1034e41c]
comiss xmm0, xmm1
ja 0x1007f9c3
mov eax, dword [0x1034edb4]
movss xmm2, dword [0x10178ef4]
divss xmm2, xmm1
movss xmm0, dword [eax + 0x14]
movaps xmm1, xmm7
mulss xmm0, dword [0x10178e88]
mulss xmm1, dword [0x1034e3e4]
movss dword [esp + 0x3c], xmm0
movss xmm0, dword [0x1034e3e0]
mulss xmm0, xmm3
movss xmm5, dword [eax + 0x10]
mulss xmm5, dword [0x10178e88]
addss xmm1, xmm0
movss xmm0, dword [0x1034e3e8]
mulss xmm0, xmm6
movss dword [esp + 0x4c], xmm5
addss xmm1, xmm0
movss xmm0, dword [0x1034e3f0]
mulss xmm0, xmm3
movss xmm3, dword [esi]
addss xmm1, dword [0x1034e3ec]
mulss xmm1, xmm2
addss xmm1, dword [0x10178ef4]
mulss xmm1, xmm5
movss xmm5, dword [esi + 8]
movss dword [esp + 0x48], xmm1
movaps xmm1, xmm4
mulss xmm1, xmm7
addss xmm1, xmm0
movss xmm0, dword [0x1034e3f8]
mulss xmm0, xmm6
addss xmm1, xmm0
movss xmm0, dword [0x10178ef4]
addss xmm1, dword [0x1034e3fc]
mulss xmm1, xmm2
movaps xmm2, xmm3
mulss xmm2, dword [0x1034e410]
subss xmm0, xmm1
mulss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x44], xmm0
movss xmm0, dword [esi + 4]
mulss xmm0, dword [0x1034e414]
addss xmm2, xmm0
movaps xmm0, xmm5
mulss xmm0, dword [0x1034e418]
addss xmm2, xmm0
movss xmm0, dword [0x10178d64]
addss xmm2, dword [0x1034e41c]
comiss xmm0, xmm2
ja 0x1007f9ad
movss xmm7, dword [0x10178ef4]
movss xmm0, dword [esi + 4]
movaps xmm1, xmm7
mulss xmm0, dword [0x1034e3e4]
mov eax, dword [0x10351a8c]
mulss xmm4, dword [esi + 4]
divss xmm1, xmm2
movaps xmm2, xmm3
mulss xmm3, dword [0x1034e3f0]
mulss xmm2, dword [0x1034e3e0]
addss xmm3, xmm4
addss xmm2, xmm0
movaps xmm0, xmm5
mulss xmm0, dword [0x1034e3e8]
mulss xmm5, dword [0x1034e3f8]
addss xmm2, xmm0
movaps xmm0, xmm7
addss xmm3, xmm5
addss xmm2, dword [0x1034e3ec]
addss xmm3, dword [0x1034e3fc]
mulss xmm2, xmm1
mulss xmm3, xmm1
addss xmm2, xmm7
movss xmm1, dword [esp + 0x48]
movss dword [esp + 0x50], xmm1
subss xmm0, xmm3
movss xmm1, dword [esp + 0x44]
movss dword [esp + 0x54], xmm1
mulss xmm2, dword [esp + 0x4c]
mulss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x58], xmm2
movss dword [esp + 0x5c], xmm0
cmp eax, dword [0x10351a90]
je 0x1007f96a
movups xmm0, xmmword [esp + 0x50]
movups xmmword [eax], xmm0
add dword [0x10351a8c], 0x10
jmp 0x1007f97a
lea ecx, [esp + 0x50]
push ecx
push eax
mov ecx, 0x10351a88
call fcn.1007fef0
movq xmm0, qword [esi]
mov eax, dword [esi + 8]
movss xmm4, dword [0x1034e3f4]
movq qword [esp + 0x30], xmm0
movq xmm0, xmm0
movss xmm7, dword [esp + 0x34]
mov dword [esp + 0x38], eax
movss xmm6, dword [esp + 0x38]
movq qword [esp + 0x1c], xmm0
mov dword [esp + 0x24], eax
movss xmm5, dword [0x1034e414]
movss xmm2, dword [0x1034e418]
movss xmm3, dword [esp + 0x30]
add esi, 0xc
cmp esi, edi
jne 0x1007f750
movss xmm0, dword [esp + 0x1c]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1007f9fe
movss xmm0, dword [esp + 0x20]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1007f9fe
movss xmm0, dword [esp + 0x24]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1007fa55
movss xmm1, dword [0x101790c8]
movss xmm0, dword [0x101790ac]
movss xmm2, dword [esp + 0x1c]
movss xmm3, dword [esp + 0x20]
movss xmm4, dword [esp + 0x24]
call fcn.1007e4c0
mov eax, dword [0x10189818]
cmp byte [eax + 0x3655], 0
je 0x1007fa55
cmp word [esp + 0x94], 0x2c
jne 0x1007fa55
movss xmm0, dword [esp + 0x1c]
movss xmm1, dword [esp + 0x20]
movss xmm2, dword [esp + 0x24]
call fcn.1007e8b0
push 0x10271574
call fcn.1011b4e7
add esp, 4
lea ecx, [esp + 0x80]
call fcn.1006d720
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x10271574
call fcn.1011b4e7
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push eax
call fcn.1011b5d7
nop
mov edi, 0xbf1007f3
pop es
adc byte [ebx + esi*8], ah
pop es
adc byte [ebx + esi*8 - 0xcdbeff9], al
pop es
adc byte [ebx + esi*8 - 0x3333eff9], al
int3