Function at 0x10078960
Capabilities:
Encode data using xor
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1008a47d
mov eax, dword fs:[0]
push eax
sub esp, 0x80
mov eax, dword [0x1009c364]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
mov ecx, edi
mov eax, dword [edi]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x100d6aa4]
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx]
movq qword [ebp - 0x8c], xmm0
movq qword [ebp - 0x24], xmm0
mov eax, dword [eax + 0x94]
call eax
movss xmm6, dword [ebp - 0x24]
mov esi, eax
movss xmm7, dword [ebp - 0x20]
movaps xmm1, xmm6
movss xmm5, dword [ebp - 0x1c]
movaps xmm0, xmm7
mulss xmm0, dword [esi + 0x34]
mulss xmm1, dword [esi + 0x30]
addss xmm1, xmm0
movaps xmm0, xmm5
mulss xmm0, dword [esi + 0x38]
addss xmm0, dword [esi + 0x3c]
addss xmm1, xmm0
movss xmm0, dword [0x10093540]
comiss xmm0, xmm1
ja 0x10079776
movss xmm3, dword [0x1009360c]
movaps xmm0, xmm6
mulss xmm0, dword [esi]
mov eax, dword [0x1009c510]
divss xmm3, xmm1
mov ecx, dword [0x1009c514]
movaps xmm1, xmm7
mulss xmm1, dword [esi + 4]
addss xmm1, xmm0
movaps xmm0, xmm5
mulss xmm0, dword [esi + 8]
mulss xmm5, dword [esi + 0x18]
addss xmm0, dword [esi + 0xc]
addss xmm5, dword [esi + 0x1c]
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cdq
sub eax, edx
sar eax, 1
mulss xmm1, xmm0
movaps xmm0, xmm3
mulss xmm0, dword [0x100935e0]
mulss xmm3, dword [0x100935e0]
mulss xmm1, xmm0
movd xmm0, eax
mov eax, ecx
cvtdq2ps xmm0, xmm0
cdq
sub eax, edx
sar eax, 1
addss xmm1, xmm0
movaps xmm0, xmm7
mulss xmm0, dword [esi + 0x14]
movd xmm4, eax
cvtdq2ps xmm4, xmm4
movss dword [ebp - 0x6c], xmm1
movaps xmm1, xmm6
mulss xmm1, dword [esi + 0x10]
addss xmm1, xmm0
movd xmm0, ecx
mov ecx, dword [0x100d6aa4]
cvtdq2ps xmm0, xmm0
mov eax, dword [ecx]
addss xmm1, xmm5
mov eax, dword [eax + 0x68]
mulss xmm1, xmm0
mulss xmm1, xmm3
subss xmm4, xmm1
movss dword [ebp - 0x68], xmm4
call eax
test al, al
jne 0x10078aeb
mov ecx, dword [0x100d6aa4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x6c]
call eax
test al, al
je 0x10079776
cmp byte [0x100a491c], 0
je 0x10079776
mov eax, dword [0x100a9ebc]
mov dword [ebp - 0x18], eax
mov eax, dword [0x100d6c60]
movzx ecx, byte [0x100a9ebf]
add eax, 0xffffffdb
xor eax, 0x18b2ca88
add eax, dword [0x1009c438]
movss xmm1, dword [eax]
movss xmm0, dword [eax + 4]
subss xmm0, dword [ebp - 0x20]
subss xmm1, dword [ebp - 0x24]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.10010c80
movaps xmm2, xmm0
comiss xmm2, dword [0x1009378c]
movaps xmm1, xmm2
mulss xmm1, dword [0x10093578]
cvttss2si edx, xmm1
mov dword [ebp - 0x70], edx
jbe 0x10078bab
subss xmm2, dword [0x100937a4]
movss xmm0, dword [0x100937b0]
movss xmm1, dword [0x1009360c]
subss xmm0, xmm2
mulss xmm0, dword [0x10093544]
comiss xmm0, xmm1
seta al
test al, al
jne 0x10078b9a
xorps xmm1, xmm1
comiss xmm1, xmm0
seta al
test al, al
jne 0x10078b9a
movaps xmm1, xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si ebx, xmm0
jmp 0x10078bae
mov bl, byte [ebp - 0x15]
cmp edx, 0xaf
jge 0x10079776
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0xa239ea8f
push eax
call fcn.10035060
lea ecx, [edi + 8]
mov eax, dword [eax]
mov dword [ebp - 0x64], eax
mov eax, dword [edi + 8]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x10078be3
mov eax, dword [eax + 0x14]
jmp 0x10078be6
or eax, 0xffffffff
cmp dword [ebp - 0x64], eax
jne 0x10078d2f
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x24]
call eax
test al, al
jne 0x10078d2f
cmp dword [ebp - 0x70], 0xf
movss xmm0, dword [ebp - 0x68]
subss xmm0, dword [0x100936cc]
jg 0x10078c3d
cvttss2si ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x60], 0x320000ff
push dword [ebp - 0x60]
cvttss2si edx, xmm0
sub esp, 8
movss dword [ebp - 0x18], xmm0
call fcn.10070aa0
movss xmm0, dword [ebp - 0x18]
add esp, 0xc
cvttss2si esi, dword [ebp - 0x6c]
mov dword [ebp - 0x60], 0x961e1a1a
push dword [ebp - 0x60]
cvttss2si edi, xmm0
sub esp, 8
mov ecx, esi
mov edx, edi
call fcn.10070aa0
mov ecx, dword [0x100d6ab0]
add esp, 0xc
mov eax, dword [ecx]
push 0xff1e1a1a
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x100d6ab0]
push 0x168
push 0x14
push edi
mov eax, dword [ecx]
push esi
mov eax, dword [eax + 0x19c]
call eax
push 1
mov dword [ebp - 0x30], 0
lea ecx, [ebp - 0x30]
push 0x10093430
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0xf
mov byte [ebp - 0x30], 0
call fcn.10017990
mov dword [ebp - 4], 0
movss xmm0, dword [ebp - 0x68]
lea eax, [ebp - 0x30]
subss xmm0, dword [0x100936e8]
push 0
push eax
mov dword [ebp - 0x60], 0xc8ffffff
mov ecx, 0x100d91a0
push dword [ebp - 0x60]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x6c]
subss xmm0, dword [0x100936c8]
push eax
cvttss2si eax, xmm0
push eax
call fcn.10070ca0
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0x10
jb 0x10079776
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007976c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1007976c
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0xc09c6702
push eax
call fcn.10035060
lea ecx, [edi + 8]
mov eax, dword [eax]
mov dword [ebp - 0x64], eax
mov eax, dword [edi + 8]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x10078d58
mov eax, dword [eax + 0x14]
jmp 0x10078d5b
or eax, 0xffffffff
cmp dword [ebp - 0x64], eax
jne 0x10078fde
mov eax, dword [edi + 4]
lea ecx, [edi + 4]
mov eax, dword [eax + 0x20]
call eax
test eax, eax
je 0x10079776
mov eax, dword [edi + 4]
lea ecx, [edi + 4]
mov eax, dword [eax + 0x20]
call eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0xf
lea edx, [eax + 4]
mov byte [ebp - 0x30], 0
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10078da3
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x30]
call fcn.10017990
push ecx
push str.flashbang
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 1
call fcn.1001e200
cmp eax, 0xffffffff
je 0x10078ed0
movss xmm0, dword [ebp - 0x68]
subss xmm0, dword [0x100936cc]
cvttss2si esi, dword [ebp - 0x6c]
mov dword [ebp - 0x60], 0x961e1a1a
push dword [ebp - 0x60]
cvttss2si edi, xmm0
sub esp, 8
mov ecx, esi
mov edx, edi
call fcn.10070aa0
mov ecx, dword [0x100d6ab0]
add esp, 0xc
mov eax, dword [ecx]
push 0xff1e1a1a
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x100d6ab0]
push 0x168
push 0x14
push edi
mov eax, dword [ecx]
push esi
mov eax, dword [eax + 0x19c]
call eax
push 1
mov dword [ebp - 0x48], 0
lea ecx, [ebp - 0x48]
push 0x10093434
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0xf
mov byte [ebp - 0x48], 0
call fcn.10017990
movss xmm0, dword [ebp - 0x68]
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 2
subss xmm0, dword [0x100936e8]
push 0
push eax
mov dword [ebp - 0x60], 0xffffffff
push dword [ebp - 0x60]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x6c]
subss xmm0, dword [0x100936b0]
push eax
cvttss2si eax, xmm0
mov ecx, 0x100d91a0
push eax
call fcn.10070ca0
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x10
jb 0x10078cf7
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10078fcf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10078fcf
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push str.fraggrenade
lea ecx, [ebp - 0x30]
call fcn.1001e200
cmp eax, 0xffffffff
je 0x10078cf7
cmp dword [ebp - 0x70], 0x14
movss xmm0, dword [ebp - 0x68]
subss xmm0, dword [0x100936cc]
jg 0x10078f22
cvttss2si ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x60], 0x320000ff
push dword [ebp - 0x60]
cvttss2si edx, xmm0
sub esp, 8
movss dword [ebp - 0x18], xmm0
call fcn.10070aa0
movss xmm0, dword [ebp - 0x18]
add esp, 0xc
cvttss2si esi, dword [ebp - 0x6c]
mov dword [ebp - 0x60], 0x961e1a1a
push dword [ebp - 0x60]
cvttss2si edi, xmm0
sub esp, 8
mov ecx, esi
mov edx, edi
call fcn.10070aa0
mov ecx, dword [0x100d6ab0]
add esp, 0xc
mov eax, dword [ecx]
push 0xff1e1a1a
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x100d6ab0]
push 0x168
push 0x14
push edi
mov eax, dword [ecx]
push esi
mov eax, dword [eax + 0x19c]
call eax
push 1
mov dword [ebp - 0x48], 0
lea ecx, [ebp - 0x48]
push 0x10093444
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0xf
mov byte [ebp - 0x48], 0
call fcn.10017990
movss xmm0, dword [ebp - 0x68]
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 3
subss xmm0, dword [0x100936e8]
push 0
push eax
mov dword [ebp - 0x60], 0xffffffff
push dword [ebp - 0x60]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x6c]
subss xmm0, dword [0x100936c8]
push eax
jmp 0x10078e89
push ecx
push edx
call fcn.10081c7e
add esp, 8
jmp 0x10078cf7
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0xabe104c9
push eax
call fcn.10035060
lea ecx, [edi + 8]
mov eax, dword [eax]
mov dword [ebp - 0x64], eax
mov eax, dword [edi + 8]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x10079007
mov eax, dword [eax + 0x14]
jmp 0x1007900a
or eax, 0xffffffff
cmp dword [ebp - 0x64], eax
jne 0x1007948f
movss xmm2, dword [edi + 0x20]
mov eax, dword [0x100d6b04]
cvtps2pd xmm2, xmm2
movss xmm0, dword [eax + 0x10]
addsd xmm2, qword [0x10093680]
cvtps2pd xmm0, xmm0
subsd xmm2, xmm0
xorps xmm0, xmm0
movaps xmm1, xmm2
mulsd xmm1, qword [0x10093638]
comisd xmm0, xmm1
jae 0x10079776
movsd xmm0, qword [0x10093668]
comisd xmm0, xmm2
mov eax, dword [0x100a9ec0]
mov dword [ebp - 0x60], eax
mov byte [ebp - 0x5d], bl
jb 0x1007907b
movzx eax, bl
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
cvttsd2si eax, xmm0
mov byte [ebp - 0x5d], al
mov ecx, dword [0x100a4a4c]
mov eax, dword [0x100a4a48]
cmp eax, ecx
je 0x100793d3
nop
cmp dword [eax], 1
je 0x1007909c
add eax, 4
cmp eax, ecx
jne 0x10079090
cmp eax, ecx
je 0x100793d3
xorps xmm0, xmm0
mov dword [ebp - 0x34], 0
movq qword [ebp - 0x3c], xmm0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 4], 4
movq qword [ebp - 0x24], xmm0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov byte [ebp - 4], 5
sub esp, 0x10
mov edx, dword [0x100d6c60]
mov ecx, esp
add edx, 0xffffffdb
xor edx, 0x18b2ca88
movq xmm0, qword [edx + edi]
mov eax, dword [edx + edi + 8]
mov edx, 0x64
movq qword [ebp - 0x5c], xmm0
movq xmm0, xmm0
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x54], eax
call fcn.10069c40
mov eax, dword [0x100d6de8]
add esp, 0x10
mov ebx, dword [0x100d6dec]
add eax, 0xffffff79
mov edx, dword [0x100d6df0]
add ebx, 0xffffff78
mov ecx, dword [0x100d6df4]
add edx, 0xffffff77
add ecx, 0xffffff76
mov dword [ebp - 0x64], 0
xor eax, 0x18b2caeb
xor ebx, 0x18b2caec
xor edx, 0x18b2caed
xor ecx, 0x18b2caee
add ebx, edi
add edx, edi
add ecx, edi
cmp dword [eax + edi], 0
jle 0x10079214
sub ecx, edx
lea esi, [edx + 4]
mov dword [ebp - 0x18], ecx
sub ebx, edx
nop word [eax + eax]
movd xmm0, dword [ecx + esi]
sub esp, 0x10
movd xmm1, dword [esi]
mov ecx, esp
movd xmm2, dword [ebx + esi]
mov edx, 0x46
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
addss xmm2, dword [ebp - 0x5c]
addss xmm1, dword [ebp - 0x58]
cvtdq2ps xmm0, xmm0
unpcklps xmm2, xmm1
addss xmm0, dword [ebp - 0x54]
movq qword [ecx], xmm2
movss dword [ebp - 0x84], xmm0
mov eax, dword [ebp - 0x84]
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x3c]
call fcn.10069c40
mov eax, dword [0x100d6de8]
add esp, 0x10
mov ecx, dword [ebp - 0x64]
add eax, 0xffffff79
xor eax, 0x18b2caeb
inc ecx
add esi, 4
mov dword [ebp - 0x64], ecx
cmp ecx, dword [eax + edi]
mov ecx, dword [ebp - 0x18]
jl 0x100791a0
mov ecx, dword [ebp - 0x38]
sub esp, 0xc
mov edi, dword [ebp - 0x3c]
mov ebx, esp
sub ecx, edi
mov eax, ecx
mov dword [ebp - 0x18], ecx
sar eax, 3
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebp - 0x64], eax
cmp ecx, 8
jb 0x1007927c
cmp eax, 0x1fffffff
ja 0x10079794
push eax
call fcn.1005df70
push dword [ebp - 0x18]
mov esi, eax
mov eax, dword [ebp - 0x64]
mov dword [ebx], esi
push edi
mov dword [ebx + 4], esi
lea ecx, [esi + eax*8]
push esi
mov dword [ebx + 8], ecx
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [ebp - 0x64]
add esp, 0xc
lea eax, [esi + eax*8]
mov dword [ebx + 4], eax
lea ecx, [ebp - 0x24]
call fcn.10069e30
mov ebx, dword [ebp - 0x24]
add esp, 0xc
test al, al
je 0x10079352
mov eax, dword [ebp - 0x20]
xor ecx, ecx
sub eax, ebx
mov dword [ebp - 0x18], ecx
sar eax, 3
mov dword [ebp - 0x78], eax
test eax, eax
je 0x10079352
mov esi, dword [ebp - 0x60]
lea edx, [eax - 1]
lea eax, [ebx + 4]
mov dword [ebp - 0x54], edx
mov edi, eax
nop dword [eax + eax]
movss xmm0, dword [edi - 4]
movss dword [ebp - 0x74], xmm0
movss xmm0, dword [edi]
movss dword [ebp - 0x84], xmm0
movss xmm0, dword [ebx]
movss dword [ebp - 0x60], xmm0
movss xmm0, dword [eax]
movss dword [ebp - 0x64], xmm0
cmp ecx, edx
je 0x10079300
movss xmm0, dword [edi + 4]
movss dword [ebp - 0x60], xmm0
movss xmm0, dword [edi + 8]
movss dword [ebp - 0x64], xmm0
mov ecx, dword [0x100d6ab0]
add edi, 8
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x100d6ab0]
mov eax, dword [ecx]
mov edx, dword [eax + 0x4c]
cvttss2si eax, dword [ebp - 0x64]
push eax
cvttss2si eax, dword [ebp - 0x60]
push eax
cvttss2si eax, dword [ebp - 0x84]
push eax
cvttss2si eax, dword [ebp - 0x74]
push eax
call edx
mov ecx, dword [ebp - 0x18]
lea eax, [ebx + 4]
mov edx, dword [ebp - 0x54]
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, dword [ebp - 0x78]
jb 0x100792c0
mov edi, dword [ebp - 0x3c]
mov byte [ebp - 4], 4
test ebx, ebx
je 0x10079391
mov eax, dword [ebp - 0x1c]
sub eax, ebx
sar eax, 3
lea ecx, [eax*8]
mov eax, ebx
cmp ecx, 0x1000
jb 0x10079387
mov ebx, dword [eax - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10078d29
push ecx
push ebx
call fcn.10081c7e
add esp, 8
mov dword [ebp - 4], 0xffffffff
test edi, edi
je 0x100793d3
mov eax, dword [ebp - 0x34]
sub eax, edi
sar eax, 3
lea ecx, [eax*8]
mov eax, edi
cmp ecx, 0x1000
jb 0x100793c9
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10078d29
push ecx
push edi
call fcn.10081c7e
add esp, 8
cmp dword [ebp - 0x70], 0xf
movss xmm0, dword [ebp - 0x68]
subss xmm0, dword [0x100936cc]
jg 0x1007940e
cvttss2si ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x60], 0x320000ff
push dword [ebp - 0x60]
cvttss2si edx, xmm0
sub esp, 8
movss dword [ebp - 0x54], xmm0
call fcn.10070aa0
movss xmm0, dword [ebp - 0x54]
add esp, 0xc
cvttss2si esi, dword [ebp - 0x6c]
mov dword [ebp - 0x60], 0x961e1a1a
push dword [ebp - 0x60]
cvttss2si edi, xmm0
sub esp, 8
mov ecx, esi
mov edx, edi
call fcn.10070aa0
mov ecx, dword [0x100d6ab0]
add esp, 0xc
mov eax, dword [ecx]
push 0xff1e1a1a
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x100d6ab0]
push 0x168
push 0x14
push edi
mov eax, dword [ecx]
push esi
mov eax, dword [eax + 0x19c]
call eax
push 1
mov dword [ebp - 0x30], 0
lea ecx, [ebp - 0x30]
push 0x10093430
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0xf
mov byte [ebp - 0x30], 0
call fcn.10017990
mov dword [ebp - 4], 6
jmp 0x10078cb9
lea eax, [ebp - 0x54]
mov dword [ebp - 0x54], 0xe31dc1b8
push eax
call fcn.10035060
lea ecx, [edi + 8]
mov eax, dword [eax]
mov dword [ebp - 0x78], eax
mov eax, dword [edi + 8]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x100794b8
mov eax, dword [eax + 0x14]
jmp 0x100794bb
or eax, 0xffffffff
cmp dword [ebp - 0x78], eax
jne 0x10079776
mov eax, dword [0x100d6de0]
mov edx, dword [0x100d6b04]
add eax, 0xffffff7b
movsd xmm1, qword [0x10093690]
xor eax, 0x18b2cae9
movss xmm5, dword [edx + 0x20]
mov esi, dword [eax + edi]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm5
cvtps2pd xmm2, xmm0
movss xmm0, dword [edx + 0x10]
cvtps2pd xmm0, xmm0
addsd xmm2, xmm1
subsd xmm2, xmm0
xorps xmm0, xmm0
movaps xmm3, xmm2
mulsd xmm3, qword [0x10093620]
comisd xmm0, xmm3
movsd qword [ebp - 0x5c], xmm3
jae 0x10079776
movsd xmm4, qword [0x10093668]
comisd xmm4, xmm2
mov eax, dword [0x1008eec8]
mov dword [ebp - 0x70], eax
mov byte [ebp - 0x6d], bl
jb 0x10079553
movzx eax, bl
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
cvttsd2si eax, xmm0
mov byte [ebp - 0x6d], al
mov ecx, dword [0x100a4a4c]
mov eax, dword [0x100a4a48]
cmp eax, ecx
je 0x10079602
cmp dword [eax], 0
je 0x10079572
add eax, 4
cmp eax, ecx
jne 0x10079566
cmp eax, ecx
je 0x10079602
mov eax, dword [edx + 0x1c]
movss xmm0, dword [0x100935b8]
sub eax, esi
movss xmm2, dword [0x10093768]
movd xmm3, eax
cvtdq2ps xmm3, xmm3
mulss xmm3, xmm5
comiss xmm0, xmm3
jbe 0x100795b2
movaps xmm2, xmm3
mulss xmm2, dword [0x10093780]
addss xmm2, dword [0x10093730]
cvtps2pd xmm0, xmm3
subsd xmm1, xmm0
comisd xmm4, xmm1
jbe 0x100795dd
mulsd xmm1, qword [0x10093648]
cvtps2pd xmm0, xmm2
addsd xmm1, qword [0x10093658]
xorps xmm2, xmm2
mulsd xmm1, xmm0
cvtsd2ss xmm2, xmm1
push dword [ebp - 0x70]
movq xmm0, qword [ebp - 0x8c]
movaps xmm1, xmm2
mov ecx, dword [ebp - 0x74]
sub esp, 0xc
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], ecx
call fcn.10071a40
add esp, 0x10
movss xmm0, dword [ebp - 0x68]
subss xmm0, dword [0x100936cc]
cvttss2si esi, dword [ebp - 0x6c]
mov dword [ebp - 0x60], 0x961e1a1a
push dword [ebp - 0x60]
cvttss2si edi, xmm0
sub esp, 8
mov ecx, esi
mov edx, edi
call fcn.10070aa0
mov ecx, dword [0x100d6ab0]
add esp, 0xc
mov eax, dword [ecx]
push 0xff1e1a1a
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x100d6ab0]
push 0x168
push 0x14
push edi
mov eax, dword [ecx]
push esi
mov eax, dword [eax + 0x19c]
call eax
push 1
mov dword [ebp - 0x30], 0
lea ecx, [ebp - 0x30]
push 0x10093424
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0xf
mov byte [ebp - 0x30], 0
call fcn.10017990
movss xmm0, dword [ebp - 0x68]
lea eax, [ebp - 0x30]
mov dword [ebp - 4], 7
mov ecx, 0x100d91a0
subss xmm0, dword [0x100936e8]
push 0
push eax
mov dword [ebp - 0x60], 0xc8ffffff
push dword [ebp - 0x60]
cvttss2si esi, xmm0
movss xmm0, dword [ebp - 0x6c]
subss xmm0, dword [0x100936b4]
push esi
cvttss2si edi, xmm0
push edi
call fcn.10070ca0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0x10
jb 0x10079704
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100796fa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10078d29
push ecx
push edx
call fcn.10081c7e
add esp, 8
push 1
mov dword [ebp - 0x48], 0
lea ecx, [ebp - 0x48]
push 0x10093424
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0xf
mov byte [ebp - 0x48], 0
call fcn.10017990
mov dword [ebp - 4], 8
lea eax, [ebp - 0x48]
movsd xmm0, qword [ebp - 0x5c]
push ecx
sub esp, 8
mov dword [ebp - 0x60], 0xffffffff
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
push eax
push dword [ebp - 0x60]
push esi
push edi
call fcn.100714a0
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x10
jb 0x10079776
mov edx, dword [ebp - 0x48]
inc ecx
jmp 0x10078d07
push ecx
push edx
call fcn.10081c7e
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.10081803
mov esp, ebp
pop ebp
ret 4
call fcn.100182f0
int3