Function at 0x14007a530
Capabilities:
Create process on windows
Schedule task via at

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x288]
sub rsp, 0x360
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x14010f7c0]
xor rax, rsp
mov qword [rbp + 0x1b0], rax
movss xmm11, dword [0x1400da850]
lea rdi, [rcx + 0x1c0]
movsd xmm6, qword [0x1400da438]
lea rsi, [rcx + 0x1c8]
movss xmm12, dword [0x1400da3fc]
lea rbx, [rcx + 0x70]
movss xmm10, dword [0x1400da3b4]
lea r15, [rcx + 0x1d4]
xorps xmm14, xmm14
mov r12, rcx
movsd qword [rbp + 0x90], xmm14
movabs r14, 0x4bda12f684bda13
xorps xmm15, xmm15
call fcn.14008ed80
mov edx, dword [r12 + 0x110]
movaps xmm13, xmm6
movsd qword [rbp + 0x98], xmm0
mov ecx, 0x90d2
subsd xmm0, xmm14
divsd xmm13, xmm0
movsd qword [rbp - 0x18], xmm0
movsd qword [rbp - 0x20], xmm13
call qword [0x140112ec8]
mov ecx, 0x2000
call qword [0x140112eb8]
mov rax, qword [0x140112eb0]
mov edx, 0x88b8
mov ecx, 0x90d2
call rax
mov r10, qword [r12 + 0x158]
mov r9, rax
mov rcx, qword [r12 + 0x160]
mov rax, r14
sub rcx, r10
imul rcx
sar rdx, 1
mov rcx, rdx
shr rcx, 0x3f
add rdx, rcx
mov rcx, r10
imul r8, rdx, 0x6c
mov rdx, r9
call sub.VCRUNTIME140.dll_memcpy
mov ecx, 0x90d2
call qword [0x140112e20]
mov rcx, qword [r12 + 0x120]
mov r8, rsi
mov rdx, rdi
call fcn.14008d030
cmp byte [r12 + 0x1ba], 0
lea rdx, [r12 + 0x1c]
movd xmm1, dword [r12 + 0x174]
lea rcx, [rbp - 0x10]
movsd xmm8, qword [rdi]
movd xmm0, dword [r12 + 0x170]
cvtdq2ps xmm0, xmm0
cvtdq2pd xmm1, xmm1
cvtpd2ps xmm8, xmm8
subsd xmm1, qword [rsi]
divss xmm8, xmm0
movd xmm0, dword [r12 + 0x174]
cvtpd2ps xmm9, xmm1
cvtdq2ps xmm0, xmm0
divss xmm9, xmm0
je 0x14007a758
movss xmm0, dword [r12 + 0x1c]
lea r9, [rbp - 0x50]
subss xmm0, dword [r12 + 0x40]
movss xmm1, dword [r12 + 0x20]
lea r8, [rbp - 0x44]
subss xmm1, dword [r12 + 0x44]
mov dword [rbp - 0x50], 0
mov qword [rbp - 0x4c], 0x3f800000
movss dword [rbp - 0x44], xmm0
movss xmm0, dword [r12 + 0x24]
subss xmm0, dword [r12 + 0x48]
movss dword [rbp - 0x40], xmm1
movss dword [rbp - 0x3c], xmm0
jmp 0x14007a7a8
movss xmm0, dword [r12 + 0x28]
lea r9, [rbp - 0x38]
addss xmm0, dword [r12 + 0x1c]
movss xmm1, dword [r12 + 0x2c]
lea r8, [rbp - 0x2c]
addss xmm1, dword [r12 + 0x20]
mov dword [rbp - 0x38], 0
mov qword [rbp - 0x34], 0x3f800000
movss dword [rbp - 0x2c], xmm0
movss xmm0, dword [r12 + 0x30]
addss xmm0, dword [r12 + 0x24]
movss dword [rbp - 0x28], xmm1
movss dword [rbp - 0x24], xmm0
call fcn.140081cb0
movaps xmm1, xmmword [rbp]
movaps xmm0, xmmword [rbp - 0x10]
movss xmm7, dword [r12 + 0x88]
movss xmm6, dword [r12 + 0x8c]
movaps xmmword [rbp + 0x170], xmm0
movaps xmm0, xmmword [rbp + 0x10]
movaps xmmword [rbp + 0x190], xmm0
movss xmm0, dword [rbx]
mulss xmm0, dword [0x1400da35c]
movaps xmmword [rbp + 0x180], xmm1
movaps xmm1, xmmword [rbp + 0x20]
mulss xmm0, xmm10
movaps xmmword [rbp + 0x1a0], xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_tanf
movaps xmm3, xmm0
mov qword [rbp + 0xa4], 0
xorps xmm2, xmm2
mov qword [rbp + 0xac], 0
cvtsi2ss xmm2, dword [r12 + 0x170]
mov qword [rbp + 0xb8], 0
lea rdx, [rbp + 0x170]
mov qword [rbp + 0xc0], 0
lea rcx, [rbp + 0x130]
mov qword [rbp + 0xd0], 0
mov dword [rbp + 0xdc], 0
mov dword [rbp + 0xcc], 0xbf800000
xorps xmm1, xmm1
movaps xmm0, xmm12
cvtsi2ss xmm1, dword [r12 + 0x174]
divss xmm2, xmm1
movaps xmm1, xmm12
mulss xmm2, xmm3
divss xmm1, xmm3
divss xmm0, xmm2
movaps xmm2, xmm7
movss dword [rbp + 0xb4], xmm1
movss dword [rbp + 0xa0], xmm0
subss xmm2, xmm6
movaps xmm0, xmm7
addss xmm7, xmm7
addss xmm0, xmm6
mulss xmm7, xmm6
xorps xmm0, xmm11
divss xmm0, xmm2
xorps xmm7, xmm11
divss xmm7, xmm2
movss dword [rbp + 0xc8], xmm0
movss dword [rbp + 0xd8], xmm7
call fcn.140080430
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0xf0]
call fcn.140080430
movss xmm1, dword [rbp + 0x120]
addss xmm9, xmm9
addss xmm1, dword [rbp + 0x110]
addss xmm8, xmm8
subss xmm9, xmm12
subss xmm8, xmm12
movaps xmm6, xmm9
movaps xmm7, xmm9
mulss xmm6, dword [rbp + 0x100]
mulss xmm7, dword [rbp + 0x104]
movaps xmm0, xmm8
mulss xmm0, dword [rbp + 0xf0]
mulss xmm9, dword [rbp + 0x108]
addss xmm6, xmm0
movaps xmm0, xmm8
mulss xmm0, dword [rbp + 0xf4]
mulss xmm8, dword [rbp + 0xf8]
addss xmm6, xmm1
movss xmm1, dword [rbp + 0x124]
addss xmm1, dword [rbp + 0x114]
addss xmm7, xmm0
movss xmm0, dword [rbp + 0x128]
addss xmm0, dword [rbp + 0x118]
addss xmm9, xmm8
movaps xmm2, xmm6
mulss xmm2, xmm6
addss xmm7, xmm1
addss xmm9, xmm0
movaps xmm0, xmm7
movaps xmm1, xmm9
mulss xmm0, xmm7
mulss xmm1, xmm9
addss xmm2, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
ucomiss xmm0, xmm2
ja 0x14007a9bf
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x14007a9c7
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
mov rdi, qword [r12 + 0x158]
movaps xmm3, xmm12
movss xmm12, dword [rbp + 0x148]
movabs rax, 0x4bda12f684bda13
mov rcx, qword [r12 + 0x160]
xor ebx, ebx
divss xmm3, xmm0
sub rcx, rdi
mov r14d, 0xffffffff
imul rcx
movaps xmm2, xmm3
mulss xmm6, xmm3
mulss xmm3, xmm9
movss xmm9, dword [0x1400da544]
movaps xmm0, xmm6
mulss xmm0, dword [rbp + 0x130]
mov rsi, rdx
sar rsi, 1
mulss xmm2, xmm7
movaps xmm1, xmm3
mov rax, rsi
mulss xmm1, dword [rbp + 0x150]
shr rax, 0x3f
mulss xmm12, xmm2
movaps xmm10, xmm2
mulss xmm10, dword [rbp + 0x140]
movaps xmm11, xmm2
mulss xmm11, dword [rbp + 0x144]
addss xmm10, xmm0
movss xmm0, dword [rbp + 0x160]
mulss xmm0, xmm15
addss xmm1, xmm0
movaps xmm0, xmm6
mulss xmm0, dword [rbp + 0x134]
addss xmm11, xmm0
movss xmm0, dword [rbp + 0x164]
mulss xmm0, xmm15
addss xmm10, xmm1
movaps xmm1, xmm3
mulss xmm1, dword [rbp + 0x154]
addss xmm1, xmm0
movss xmm0, dword [rbp + 0x138]
mulss xmm0, xmm6
addss xmm12, xmm0
movss xmm0, dword [rbp + 0x168]
mulss xmm0, xmm15
addss xmm11, xmm1
movss xmm1, dword [rbp + 0x158]
mulss xmm1, xmm3
addss xmm1, xmm0
addss xmm12, xmm1
add rsi, rax
je 0x14007ac61
movzx r15d, byte [r12 + 0x1ba]
movss xmm13, dword [0x1400da850]
movss xmm14, dword [0x1400da494]
nop
test r15b, r15b
je 0x14007ab13
cmp ebx, dword [r12 + 0x1b4]
je 0x14007ac38
movups xmm2, xmmword [rdi]
mov eax, dword [rdi + 0x68]
movups xmm0, xmmword [rdi + 0x10]
mov dword [rbp + 0x58], eax
movss xmm5, dword [r12 + 0x20]
movaps xmm8, xmm11
movups xmm1, xmmword [rdi + 0x40]
movss xmm4, dword [r12 + 0x1c]
movss xmm3, dword [r12 + 0x24]
subss xmm4, xmm2
movss xmm6, dword [rdi + 0x2c]
movaps xmmword [rbp], xmm0
movups xmm0, xmmword [rdi + 0x30]
movaps xmmword [rbp + 0x30], xmm1
movsd xmm1, qword [rdi + 0x60]
movaps xmmword [rbp + 0x20], xmm0
movups xmm0, xmmword [rdi + 0x50]
movsd qword [rbp + 0x50], xmm1
movaps xmm1, xmm12
movaps xmmword [rbp + 0x40], xmm0
movaps xmm0, xmm2
shufps xmm0, xmm2, 0x55
subss xmm5, xmm0
mulss xmm1, xmm12
mulss xmm8, xmm11
movaps xmm0, xmm10
mulss xmm0, xmm10
movaps xmm7, xmm5
shufps xmm2, xmm2, 0xaa
mulss xmm7, xmm11
subss xmm3, xmm2
addss xmm8, xmm0
mulss xmm5, xmm5
movaps xmm0, xmm4
mulss xmm6, xmm6
mulss xmm0, xmm10
addss xmm8, xmm1
mulss xmm4, xmm4
addss xmm7, xmm0
movaps xmm1, xmm3
mulss xmm3, xmm3
mulss xmm1, xmm12
addss xmm5, xmm4
movaps xmm0, xmm8
mulss xmm0, xmm14
addss xmm7, xmm1
addss xmm5, xmm3
addss xmm7, xmm7
subss xmm5, xmm6
movaps xmm1, xmm7
mulss xmm1, xmm7
mulss xmm5, xmm0
subss xmm1, xmm5
comiss xmm15, xmm1
jae 0x14007ac38
xorps xmm0, xmm0
xorps xmm7, xmm13
ucomiss xmm0, xmm1
ja 0x14007ac0f
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x14007ac17
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
subss xmm7, xmm0
addss xmm8, xmm8
divss xmm7, xmm8
comiss xmm9, xmm7
jbe 0x14007ac38
comiss xmm7, xmm15
jb 0x14007ac38
movaps xmm9, xmm7
mov r14d, ebx
inc ebx
add rdi, 0x6c
movsxd rax, ebx
cmp rax, rsi
jb 0x14007ab00
movsd xmm13, qword [rbp - 0x20]
lea r15, [r12 + 0x1d4]
movsd xmm14, qword [rbp + 0x90]
movss xmm6, dword [0x1400da568]
movd xmm0, r14d
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm6
jp 0x14007aca9
jne 0x14007aca9
mov rdx, qword [r12 + 0x130]
mov rcx, qword [r12 + 0x120]
mov byte [r12 + 0x1b8], 0
call fcn.14008d550
mov rax, qword [0x140112f08]
mov dword [rax + 0x50c0], 0
jmp 0x14007ace9
mov rax, qword [0x140112f08]
mov byte [r12 + 0x1b8], 1
mov dword [r12 + 0x1ac], r14d
cmp byte [rax + 0xd2], 0
jne 0x14007ace9
mov dword [rax + 0x50c0], 7
mov rdx, qword [r12 + 0x138]
mov rcx, qword [r12 + 0x120]
call fcn.14008d550
cmp byte [r12 + 0x1ba], 0
je 0x14007ada7
movsxd rdx, dword [r12 + 0x1b4]
mov rax, qword [r12 + 0x158]
imul rcx, rdx, 0x6c
movss xmm0, dword [rcx + rax + 0x24]
ucomiss xmm0, xmm15
jp 0x14007ada7
movss xmm11, dword [0x1400da850]
jne 0x14007adb0
movss xmm0, dword [r12 + 0x40]
movss xmm1, dword [r12 + 0x44]
xorps xmm0, xmm11
movss xmm2, dword [r12 + 0x48]
xorps xmm1, xmm11
movss dword [r12 + 0x28], xmm0
xorps xmm2, xmm11
movss dword [r12 + 0x2c], xmm1
movss dword [r12 + 0x30], xmm2
movss xmm0, dword [r12 + 0x68]
movss xmm1, dword [r12 + 0x6c]
xorps xmm1, xmm11
mov byte [r12 + 0x1ba], 0
subss xmm0, dword [0x1400da504]
movss dword [r12 + 0x6c], xmm1
movss dword [r12 + 0x68], xmm0
cmp dword [r12 + 0x1b0], edx
jne 0x14007adb0
mov byte [r12 + 0x1b9], 0
jmp 0x14007adb0
movss xmm11, dword [0x1400da850]
call fcn.140092ce0
cmp byte [r12 + 0x1ba], 0
je 0x14007add6
movsxd rax, dword [r12 + 0x1b4]
imul r9, rax, 0x6c
add r9, qword [r12 + 0x158]
jmp 0x14007add9
xor r9d, r9d
movsd xmm12, qword [rbp - 0x18]
lea rsi, [r12 + 0x18]
mov edx, dword [r12 + 0x180]
mov rcx, rsi
cvtpd2ps xmm2, xmm12
call fcn.140077d50
movss xmm0, dword [r12 + 0x7c]
movss xmm2, dword [r12 + 0x80]
movss xmm1, dword [r12 + 0x84]
mulss xmm2, xmm2
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
ucomiss xmm0, xmm2
ja 0x14007ae39
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x14007ae41
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movss xmm7, dword [0x1400da354]
comiss xmm0, xmm7
ja 0x14007ae6c
xor ecx, ecx
lea rax, [r12 + 0x180]
cmp dword [rax], 0
jne 0x14007ae6c
add rax, 4
add rcx, 1
je 0x14007ae58
xor r14d, r14d
jmp 0x14007ae77
xor r14d, r14d
mov dword [r12 + 0x1e0], r14d
mov rax, qword [0x140112f08]
test rax, rax
je 0x14007ae8c
mov rcx, qword [rax + 0xa0]
jmp 0x14007ae8f
mov rcx, r14
cmp dword [rcx + 0x30], 0
jne 0x14007ae9a
call fcn.1400439d0
call fcn.140041bb0
call fcn.14000b190
cmp byte [r12 + 0x90], 0
jne 0x14007ccba
mov rcx, qword [0x1401130f8]
mov rbx, qword [0x140112f08]
mov rdi, rcx
mov qword [rbp + 0x90], rcx
test rcx, rcx
jne 0x14007aef1
mov rcx, qword [rbx + 0x48]
mov rdi, rcx
test rcx, rcx
jne 0x14007aeea
mov rax, qword [rbx + 0x38]
mov rcx, qword [rax + 0x60]
mov rcx, qword [rcx]
mov rdi, rcx
mov qword [rbp + 0x90], rcx
call fcn.140014f10
lea rdx, [rbp + 0x90]
lea rcx, [rbx + 0x4c08]
call fcn.14002c7e0
mov rdx, qword [rdi + 0x40]
mov rcx, qword [rbx + 0x4140]
mov rdx, qword [rdx + 8]
mov rcx, qword [rcx + 0x2e0]
call fcn.140036730
mov rax, qword [0x140112f08]
lea rcx, str.Settings
xor edx, edx
or dword [rax + 0x4b40], 1
lea r8d, [rdx + 0x5c]
mov dword [rax + 0x4b54], 0x41200000
mov qword [rax + 0x4b58], 0x41200000
mov dword [rax + 0x4b60], r14d
mov dword [rax + 0x4b44], 1
mov byte [rax + 0x4b80], 1
call fcn.140011960
movsd xmm9, qword [rbp + 0x98]
test al, al
je 0x14007bf49
movaps xmm2, xmm9
lea rcx, str.FPS:__.3g___Frametime:__.3g_ms
subsd xmm2, xmm14
movaps xmm1, xmm13
movq rdx, xmm1
mulsd xmm2, qword [0x1400da498]
movq r8, xmm2
call fcn.140045cc0
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x60], 0
lea rcx, str.About
call fcn.1400466e0
test al, al
je 0x14007b042
mov rsi, qword [0x140112f08]
lea rcx, str.About_NBodiment
xor edx, edx
mov rbx, qword [rsi + 0x4140]
movsxd rax, dword [rbx + 0x130]
mov r8, qword [rbx + 0x138]
mov r8d, dword [r8 + rax*4 - 4]
call fcn.140005d90
mov rcx, qword [rbx]
mov edi, eax
cmp dword [rcx + 0x418c], eax
jne 0x14007b01a
lea r8, str.About_NBodiment
mov edx, 0xb
mov ecx, eax
call fcn.14002c5d0
test byte [rsi + 0x6274], 4
je 0x14007b039
mov r8d, edi
lea rdx, str.About_NBodiment
lea rcx, str._popup__OpenPopup___s_____0x_08X__n
call fcn.14002c1f0
xor edx, edx
mov ecx, edi
call fcn.140019d00
lea rcx, str.About_NBodiment
call fcn.14001a500
test al, al
je 0x14007b17a
lea rcx, str.Version_v0.2__Build_date:_Apr__3_2024_17:52:37__n_nNBodiment_is_a_gravitational_N_body_simulator_with_nray_tracing_and_rigid_body_physics.
call fcn.140045cc0
mov edx, 0xff969696
call fcn.140006ab0
lea rcx, str.Copyright__2017_2024_Yilmaz_Alpaslan
call fcn.140045cc0
mov r8, qword [0x140112f08]
movsxd rax, dword [r8 + 0x4be8]
cmp eax, 1
jl 0x14007b0b5
mov rcx, qword [r8 + 0x4bf0]
lea rdx, [rax + rax*4]
movsxd rax, dword [rcx + rdx*4 - 0x14]
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
add rax, 0x3ae
add rax, rax
movups xmmword [r8 + rax*8], xmm0
dec dword [r8 + 0x4be8]
lea rdx, [rsp + 0x68]
mov qword [rsp + 0x68], 0
lea rcx, str.Open_GitHub_Page
call fcn.1400466e0
test al, al
je 0x14007b0f4
mov dword [rsp + 0x28], 5
lea r8, str.https:__github.com_Yilmaz4_NBodiment
xor r9d, r9d
mov qword [rsp + 0x20], r14
xor edx, edx
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
movaps xmm1, xmm6
movaps xmm0, xmm15
call fcn.140018840
lea rcx, str.Close
mov qword [rsp + 0x70], 0
lea rdx, [rsp + 0x70]
call fcn.1400466e0
test al, al
je 0x14007b123
call fcn.14001a260
mov rbx, qword [0x140112f08]
mov rcx, qword [rbx + 0x4140]
cmp qword [rbx + 0x4cf8], rcx
jne 0x14007b15e
cmp byte [rbx + 0x4da1], 0
je 0x14007b15e
cmp dword [rbx + 0x4d48], 0
jne 0x14007b15e
mov eax, dword [rbx + 0x4da4]
and eax, 0xfffffff2
or eax, 2
mov dword [rbx + 0x4da4], eax
test dword [rcx + 0x14], 0x1000000
je 0x14007b16e
mov byte [rbx + 0x40aa], 1
call fcn.140014700
mov byte [rbx + 0x40aa], 0
mov rax, qword [0x140112f08]
mov rcx, qword [rax + 0x4140]
cmp byte [rcx + 0xf8], 0
jne 0x14007b1dc
movss xmm1, dword [rax + 0x3a44]
movss xmm0, dword [rcx + 0x14c]
addss xmm1, dword [rcx + 0x148]
movss dword [rcx + 0x140], xmm1
movss dword [rcx + 0x144], xmm0
movsd xmm0, qword [rcx + 0x170]
mov eax, dword [rcx + 0x17c]
movsd qword [rcx + 0x168], xmm0
mov dword [rcx + 0x178], eax
mov byte [rcx + 0x180], 1
lea rdx, [rsp + 0x78]
mov qword [rsp + 0x78], 0
lea rcx, str.Check_for_updates
call fcn.1400466e0
mov rcx, qword [0x140112f08]
mov rax, qword [rcx + 0x4140]
mov byte [rax + 0xf5], 1
mov rax, qword [rcx + 0x4140]
cmp byte [rax + 0xf8], 0
jne 0x14007b261
lea rax, str.Simulation
mov r8, rax
cmp rax, 0xffffffffffffffff
jae 0x14007b255
nop dword [rax + rax]
movzx ecx, byte [r8]
test cl, cl
je 0x14007b24e
lea rax, [r8 + 1]
cmp cl, 0x23
jne 0x14007b245
cmp byte [rax], cl
je 0x14007b24e
mov r8, rax
cmp rax, 0xffffffffffffffff
jb 0x14007b230
lea rax, str.Simulation
movaps xmm3, xmm15
mov rdx, rax
call fcn.1400494a0
cmp byte [r12 + 0x1a4], 0
lea rax, str.Resume
lea rcx, str.Pause
mov qword [rbp - 0x80], 0
cmovne rcx, rax
lea rdx, [rbp - 0x80]
call fcn.1400466e0
test al, al
je 0x14007b29a
xor byte [r12 + 0x1a4], 1
mov rax, qword [0x140112f08]
mov rcx, qword [rax + 0x4140]
cmp byte [rcx + 0xf8], 0
jne 0x14007b2fc
movss xmm1, dword [rax + 0x3a44]
movss xmm0, dword [rcx + 0x14c]
addss xmm1, dword [rcx + 0x148]
movss dword [rcx + 0x140], xmm1
movss dword [rcx + 0x144], xmm0
movsd xmm0, qword [rcx + 0x170]
mov eax, dword [rcx + 0x17c]
movsd qword [rcx + 0x168], xmm0
mov dword [rcx + 0x178], eax
mov byte [rcx + 0x180], 1
lea rdx, [rbp - 0x78]
mov qword [rbp - 0x78], 0
lea rcx, str.Reverse
call fcn.1400466e0
test al, al
je 0x14007b321
xor byte [r12 + 0x1a5], 1
lea rax, str._.9g_seconds
mov dword [rsp + 0x30], 0x60
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x90]
lea rax, [rbp + 0x98]
mov dword [rbp + 0x98], 0x42c80000
lea r8, [r12 + 0x1a0]
mov qword [rsp + 0x20], rax
mov edx, 8
mov dword [rbp + 0x90], 0x800000
lea rcx, str.Time_step
call fcn.14004c3b0
mov rax, qword [0x140112f08]
mov rcx, qword [rax + 0x4140]
cmp byte [rcx + 0xf8], 0
jne 0x14007b3d7
movss xmm1, dword [rax + 0x3a44]
movss xmm0, dword [rcx + 0x14c]
addss xmm1, dword [rcx + 0x148]
movss dword [rcx + 0x140], xmm1
movss dword [rcx + 0x144], xmm0
movsd xmm0, qword [rcx + 0x170]
mov eax, dword [rcx + 0x17c]
movsd qword [rcx + 0x168], xmm0
mov dword [rcx + 0x178], eax
mov byte [rcx + 0x180], 1
lea rcx, [0x1400ce224]
call fcn.140045e30
mov ecx, 0x1000
call fcn.140009da0
test al, al
je 0x14007b47a
xor ecx, ecx
call fcn.140019900
movss xmm10, dword [0x1400da4e0]
test al, al
je 0x14007b483
mov rax, qword [0x140112f08]
movss xmm0, dword [rax + 0x3e78]
mulss xmm0, xmm10
call fcn.140015220
xor edx, edx
lea rcx, str.Higher_values_speed_up_the_simulation_while_decreasing_accuracy.
lea r8d, [rdx + 1]
call fcn.1400454c0
mov rcx, qword [0x140112f08]
mov rax, qword [rcx + 0x4140]
mov byte [rax + 0xf5], 1
mov r8, qword [rcx + 0x4140]
movsxd rdx, dword [r8 + 0x218]
mov rax, qword [r8 + 0x220]
mov ecx, dword [rax + rdx*4 - 4]
lea eax, [rdx - 1]
mov dword [r8 + 0x218], eax
mov dword [r8 + 0x200], ecx
call fcn.140014700
jmp 0x14007b483
movss xmm10, dword [0x1400da4e0]
lea rax, str.No_collision
xor r8d, r8d
mov qword [rbp + 0x70], rax
lea rdi, str.Elastic
movsxd rax, dword [r12 + 0x1a8]
lea rsi, str.Inelastic
mov qword [rbp + 0x60], rdi
lea rcx, str.Collision_type
mov qword [rbp + 0x68], rsi
mov rdx, qword [rbp + rax*8 + 0x60]
call fcn.14004a060
test al, al
je 0x14007b5ce
mov ebx, dword [r12 + 0x1a8]
lea r9, [rsp + 0x50]
test ebx, ebx
mov qword [rsp + 0x50], 0
mov rcx, rdi
sete dl
xor r8d, r8d
call fcn.140057cb0
test al, al
je 0x14007b4fa
mov dword [r12 + 0x1a8], r14d
test ebx, ebx
jne 0x14007b503
call fcn.140015720
mov ebx, dword [r12 + 0x1a8]
lea r9, [rsp + 0x50]
cmp ebx, 1
mov rcx, rsi
sete dl
xor r8d, r8d
call fcn.140057cb0
test al, al
je 0x14007b531
mov dword [r12 + 0x1a8], 1
cmp ebx, 1
jne 0x14007b53b
call fcn.140015720
mov ebx, dword [r12 + 0x1a8]
lea r9, [rsp + 0x50]
cmp ebx, 2
lea rcx, str.No_collision
sete dl
xor r8d, r8d
call fcn.140057cb0
test al, al
je 0x14007b56d
mov dword [r12 + 0x1a8], 2
cmp ebx, 2
jne 0x14007b577
call fcn.140015720
mov rbx, qword [0x140112f08]
mov rcx, qword [rbx + 0x4140]
cmp qword [rbx + 0x4cf8], rcx
jne 0x14007b5b2
cmp byte [rbx + 0x4da1], 0
je 0x14007b5b2
cmp dword [rbx + 0x4d48], 0
jne 0x14007b5b2
mov eax, dword [rbx + 0x4da4]
and eax, 0xfffffff2
or eax, 2
mov dword [rbx + 0x4da4], eax
test dword [rcx + 0x14], 0x1000000
je 0x14007b5c2
mov byte [rbx + 0x40aa], 1
call fcn.140014700
mov byte [rbx + 0x40aa], 0
mov rax, qword [0x140112f08]
mov rcx, qword [rax + 0x4140]
cmp byte [rcx + 0xf8], 0
jne 0x14007b630
movss xmm1, dword [rax + 0x3a44]
movss xmm0, dword [rcx + 0x14c]
addss xmm1, dword [rcx + 0x148]
movss dword [rcx + 0x140], xmm1
movss dword [rcx + 0x144], xmm0
movsd xmm0, qword [rcx + 0x170]
mov eax, dword [rcx + 0x17c]
movsd qword [rcx + 0x168], xmm0
mov dword [rcx + 0x178], eax
mov byte [rcx + 0x180], 1
lea rcx, [0x1400ce224]
call fcn.140045e30
mov ecx, 0x1000
call fcn.140009da0
test al, al
je 0x14007b6c4
xor ecx, ecx
call fcn.140019900
test al, al
je 0x14007b6c4
mov rax, qword [0x140112f08]
movss xmm0, dword [rax + 0x3e78]
mulss xmm0, xmm10
call fcn.140015220
xor edx, edx
lea rcx, str.In_elastic_collisions__particles_bounce_off_each_other_while_conserving_momentum._In_inelastic_collisions__masses_are_merged_and_momentum_is_not_conserved.
lea r8d, [rdx + 1]
call fcn.1400454c0
mov rcx, qword [0x140112f08]
mov rax, qword [rcx + 0x4140]
mov byte [rax + 0xf5], 1
mov r8, qword [rcx + 0x4140]
movsxd rdx, dword [r8 + 0x218]
mov rax, qword [r8 + 0x220]
mov ecx, dword [rax + rdx*4 - 4]
lea eax, [rdx - 1]
mov dword [r8 + 0x218], eax
mov dword [r8 + 0x200], ecx
call fcn.140014700
mov rcx, qword [0x140112f08]
mov rax, qword [rcx + 0x4140]
mov byte [rax + 0xf5], 1
mov rax, qword [rcx + 0x4140]
cmp byte [rax + 0xf8], 0
jne 0x14007b731
lea rax, str.Environment
mov r8, rax
cmp rax, 0xffffffffffffffff
jae 0x14007b725
nop dword [rax]
movzx ecx, byte [r8]
test cl, cl
je 0x14007b71e
lea rax, [r8 + 1]
cmp cl, 0x23
jne 0x14007b715
cmp byte [rax], cl
je 0x14007b71e
mov r8, rax
cmp rax, 0xffffffffffffffff
jb 0x14007b700
lea rax, str.Environment
movaps xmm3, xmm15
mov rdx, rax
call fcn.1400494a0
mov r8d, 2
lea rdx, [r12 + 0x1e8]
lea rcx, str.Ambient_light
call fcn.140053370
test al, al
je 0x14007b7a9
mov rcx, qword [r12]
lea rdx, str.ambientLight
mov rax, qword [0x140112ea8]
mov rbx, qword [0x140112e08]
movss xmm6, dword [r12 + 0x1f0]
mov ecx, dword [rcx + 0x4c]
movss xmm7, dword [r12 + 0x1ec]
movss xmm8, dword [r12 + 0x1e8]
call rax
movaps xmm3, xmm6
movaps xmm2, xmm7
movaps xmm1, xmm8
mov ecx, eax
call rbx
movss xmm7, dword [0x1400da354]
mov dword [r12 + 0x1e0], r14d
lea rax, str.Mountains
xor r8d, r8d
mov qword [rbp + 0x88], rax
lea rdi, str.Milky_Way
movsxd rax, dword [r12 + 0x1e4]
lea rsi, str.Sorsele
mov qword [rbp + 0x78], rdi
lea rcx, str.Skybox
mov qword [rbp + 0x80], rsi
mov rdx, qword [rbp + rax*8 + 0x78]
call fcn.14004a060
test al, al
je 0x14007b92d
mov ebx, dword [r12 + 0x1e4]
lea r9, [rsp + 0x58]
test ebx, ebx
mov qword [rsp + 0x58], 0
mov rcx, rdi
sete dl
xor r8d, r8d
call fcn.140057cb0
test al, al
je 0x14007b835
xor ecx, ecx
mov dword [r12 + 0x1e4], r14d
call fcn.140076890
mov dword [r12 + 0x1e0], r14d
test ebx, ebx
jne 0x14007b83e
call fcn.140015720
mov ebx, dword [r12 + 0x1e4]
lea r9, [rsp + 0x58]
cmp ebx, 1
mov rcx, rsi
sete dl
xor r8d, r8d
call fcn.140057cb0
test al, al
je 0x14007b87e
mov ecx, 1
mov dword [r12 + 0x1e4], 1
call fcn.140076890
mov dword [r12 + 0x1e0], r14d
cmp ebx, 1
jne 0x14007b888
call fcn.140015720
mov ebx, dword [r12 + 0x1e4]
lea r9, [rsp + 0x58]
cmp ebx, 2
lea rcx, str.Mountains
sete dl
xor r8d, r8d
call fcn.140057cb0
test al, al
je 0x14007b8cc
mov ecx, 2
mov dword [r12 + 0x1e4], 2
call fcn.140076890
mov dword [r12 + 0x1e0], r14d
cmp ebx, 2
jne 0x14007b8d6
call fcn.140015720
mov rbx, qword [0x140112f08]
mov rcx, qword [rbx + 0x4140]
cmp qword [rbx + 0x4cf8], rcx
jne 0x14007b911
cmp byte [rbx + 0x4da1], 0
je 0x14007b911
cmp dword [rbx + 0x4d48], 0
jne 0x14007b911
mov eax, dword [rbx + 0x4da4]
and eax, 0xfffffff2
or eax, 2
mov dword [rbx + 0x4da4], eax
test dword [rcx + 0x14], 0x1000000
je 0x14007b921
mov byte [rbx + 0x40aa], 1
call fcn.140014700
mov byte [rbx + 0x40aa], 0
mov rcx, qword [0x140112f08]
mov rax, qword [rcx + 0x4140]
mov byte [rax + 0xf5], 1
mov rax, qword [rcx + 0x4140]
cmp byte [rax + 0xf8], 0
jne 0x14007b993
lea rax, str.Graphics
mov r8, rax
cmp rax, 0xffffffffffffffff
jae 0x14007b987
movzx ecx, byte [r8]
test cl, cl
je 0x14007b980
lea rax, [r8 + 1]
cmp cl, 0x23
jne 0x14007b977
cmp byte [rax], cl
je 0x14007b980
mov r8, rax
cmp rax, 0xffffffffffffffff
jb 0x14007b962
lea rax, str.Graphics
movaps xmm3, xmm15
mov rdx, rax
call fcn.1400494a0
mov rdx, r15
lea rcx, str.Global_Illumination
call fcn.140075ae0
test al, al
je 0x14007b9ce
mov rcx, qword [r12]
lea rdx, str.globalIllumination
mov rax, qword [0x140112ea8]
mov rdi, qword [0x140112d18]
movzx ebx, byte [r15]
mov ecx, dword [rcx + 0x4c]
call rax
mov edx, ebx
mov ecx, eax
call rdi
cmp byte [r15], 0
je 0x14007baeb
mov rax, qword [0x140112f08]
mov rcx, qword [rax + 0x4140]
cmp byte [rcx + 0xf8], 0
jne 0x14007ba3a
movss xmm1, dword [rax + 0x3a44]
movss xmm0, dword [rcx + 0x14c]
addss xmm1, dword [rcx + 0x148]
movss dword [rcx + 0x140], xmm1
movss dword [rcx + 0x144], xmm0
movsd xmm0, qword [rcx + 0x170]
mov eax, dword [rcx + 0x17c]
movsd qword [rcx + 0x168], xmm0
mov dword [rcx + 0x178], eax
mov byte [rcx + 0x180], 1
lea rdx, [rbp - 0x70]
mov qword [rbp - 0x70], 0
lea rcx, str.Reset_accumulation
call fcn.1400466e0
test al, al
je 0x14007ba5e
mov dword [r12 + 0x1e0], r14d
lea rax, [0x1400ce220]
mov dword [rsp + 0x30], 0x60
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x98]
lea rax, [rbp + 0x90]
mov dword [rbp + 0x90], 0x1388
lea r8, [r12 + 0x1d0]
mov qword [rsp + 0x20], rax
mov edx, 4
mov dword [rbp + 0x98], 1
lea rcx, str.Samples_per_pixel
call fcn.14004c3b0
test al, al
je 0x14007bc33
mov rcx, qword [r12]
lea rdx, [0x1400d4d08]
mov rax, qword [0x140112ea8]
mov rdi, qword [0x140112d18]
mov ebx, dword [r12 + 0x1d0]
mov ecx, dword [rcx + 0x4c]
call rax
mov edx, ebx
mov ecx, eax
call rdi
jmp 0x14007bc33
mov rdx, qword [0x140112f08]
mov rcx, qword [rdx + 0x4140]
cmp byte [rcx + 0xf8], 0
jne 0x14007bb4d
movss xmm1, dword [rdx + 0x3a44]
movss xmm0, dword [rcx + 0x14c]
addss xmm1, dword [rcx + 0x148]
movss dword [rcx + 0x140], xmm1
movss dword [rcx + 0x144], xmm0
movsd xmm0, qword [rcx + 0x170]
mov eax, dword [rcx + 0x17c]
movsd qword [rcx + 0x168], xmm0
mov dword [rcx + 0x178], eax
mov byte [rcx + 0x180], 1
mov rax, qword [rdx + 0x4140]
lea rcx, [0x1400ce224]
movss xmm1, dword [rax + 0x144]
subss xmm1, dword [rax + 0x5c]
addss xmm1, dword [rax + 0xc4]
mov byte [rax + 0xf5], 1
mov rax, qword [rdx + 0x4140]
addss xmm1, dword [0x1400da484]
movss xmm0, dword [rax + 0x5c]
subss xmm0, dword [rax + 0xc4]
mov byte [rax + 0x181], 1
addss xmm0, xmm1
movss dword [rax + 0x144], xmm0
call fcn.140045e30
mov ecx, 0x1000
call fcn.140009da0
test al, al
je 0x14007bc33
xor ecx, ecx
call fcn.140019900
test al, al
je 0x14007bc33
mov rax, qword [0x140112f08]
movss xmm0, dword [rax + 0x3e78]
mulss xmm0, xmm10
call fcn.140015220
xor edx, edx
lea rcx, str.Global_illumination__or_path_tracing__is_a_computer_algorithm_to_produce_physically_based_and_realistic_looking_3D_scenes_by_simulating_the_very_nature_of_light__which_causes_optical_effects_like_reflection__refraction_and_soft_shadows_to_naturally_emerge_instead_of_having_to_be_explicitly_implemented._n_nPause_the_simulation_to_start_accumulating_samples_in_order_to_address_noise.
lea r8d, [rdx + 1]
call fcn.1400454c0
mov rcx, qword [0x140112f08]
mov rax, qword [rcx + 0x4140]
mov byte [rax + 0xf5], 1
mov r8, qword [rcx + 0x4140]
movsxd rdx, dword [r8 + 0x218]
mov rax, qword [r8 + 0x220]
mov ecx, dword [rax + rdx*4 - 4]
lea eax, [rdx - 1]
mov dword [r8 + 0x218], eax
mov dword [r8 + 0x200], ecx
call fcn.140014700
lea rdx, [r12 + 0x1d6]
lea rcx, str.Bloom
call fcn.140075ae0
cmp byte [r15], 0
jne 0x14007bcf8
mov rax, qword [0x140112f08]
mov rcx, qword [rax + 0x4140]
cmp byte [rcx + 0xf8], 0
jne 0x14007bcb3
movss xmm1, dword [rax + 0x3a44]
movss xmm0, dword [rcx + 0x14c]
addss xmm1, dword [rcx + 0x148]
movss dword [rcx + 0x140], xmm1
movss dword [rcx + 0x144], xmm0
movsd xmm0, qword [rcx + 0x170]
mov eax, dword [rcx + 0x17c]
movsd qword [rcx + 0x168], xmm0
mov dword [rcx + 0x178], eax
mov byte [rcx + 0x180], 1
lea rdx, [r12 + 0x1d5]
lea rcx, str.Shadows
call fcn.140075ae0
test al, al
je 0x14007bcf8
mov rcx, qword [r12]
lea rdx, str.shadows
mov rax, qword [0x140112ea8]
mov rdi, qword [0x140112d18]
movzx ebx, byte [r12 + 0x1d5]
mov ecx, dword [rcx + 0x4c]
call rax
mov edx, ebx
mov ecx, eax
call rdi
cmp byte [r12 + 0x1d6], 0
je 0x14007bde6
movss xmm0, dword [r12 + 0x1d8]
lea rcx, str._.9g
divss xmm0, dword [0x1400da4d0]
mov dword [rsp + 0x38], 0x40
lea r8, [r12 + 0x1d8]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp + 0x90]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp + 0x98]
mov qword [rsp + 0x20], rcx
mov edx, 8
mov dword [rbp + 0x90], 0x7f7fffff
lea rcx, str.Bloom_threshold
mov dword [rbp + 0x98], 0
movaps xmm3, xmm7
maxss xmm3, xmm0
call fcn.14004b4d0
movss xmm3, dword [r12 + 0x1dc]
lea rcx, [rbp + 0x90]
divss xmm3, dword [0x1400da4d0]
mov dword [rsp + 0x38], 0x40
lea rbx, str._.3g
mov qword [rsp + 0x30], rbx
lea r8, [r12 + 0x1dc]
mov qword [rsp + 0x28], rcx
mov edx, 8
lea rcx, [rbp + 0x98]
mov dword [rbp + 0x90], 0x7f7fffff
mov qword [rsp + 0x20], rcx
lea rcx, str.Exposure
mov dword [rbp + 0x98], 0x800000
call fcn.14004b4d0
jmp 0x14007bded
lea rbx, str._.3g
mov rcx, qword [0x140112f08]
mov rax, qword [rcx + 0x4140]
mov byte [rax + 0xf5], 1
mov rax, qword [rcx + 0x4140]
cmp byte [rax + 0xf8], 0
jne 0x14007be53
lea rax, str.Camera
mov r8, rax
cmp rax, 0xffffffffffffffff
jae 0x14007be47
movzx ecx, byte [r8]
test cl, cl
je 0x14007be40
lea rax, [r8 + 1]
cmp cl, 0x23
jne 0x14007be37
cmp byte [rax], cl
je 0x14007be40
mov r8, rax
cmp rax, 0xffffffffffffffff
jb 0x14007be22
lea rax, str.Camera
movaps xmm3, xmm15
mov rdx, rax
call fcn.1400494a0
movss xmm0, dword [0x1400da374]
lea rax, [rbp + 0x90]
mov qword [rsp + 0x30], rax
lea r8, [r12 + 0x1c]
lea rax, [rbp + 0x98]
mov dword [rbp + 0x90], 0x7f7fffff
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm0
mov dword [rbp + 0x98], 0xff7fffff
call fcn.14004bc10
test al, al
je 0x14007bea3
mov dword [r12 + 0x1e0], r14d
mov dword [rsp + 0x30], r14d
lea rax, [rbp + 0x90]
mov qword [rsp + 0x28], rbx
lea r9, [rbp + 0x98]
lea r8, [r12 + 0x70]
mov qword [rsp + 0x20], rax
mov edx, 8
mov dword [rbp + 0x90], 0x42c80000
lea rcx, [0x1400d5594]
mov dword [rbp + 0x98], 0x3f800000
call fcn.14004c3b0
test al, al
je 0x14007bef6
mov dword [r12 + 0x1e0], r14d
lea rax, str._.5g
mov dword [rsp + 0x30], r14d
mov qword [rsp + 0x28], rax
lea r8, [r12 + 0x74]
lea rax, [rbp + 0x90]
mov dword [rbp + 0x90], 0x3e4ccccd
lea r9, [rbp + 0x98]
mov qword [rsp + 0x20], rax
mov edx, 8
mov dword [rbp + 0x98], 0x3c23d70a
lea rcx, str.Sensitivity
call fcn.14004c3b0
lea rsi, [r12 + 0x18]
mov rbx, qword [0x140112f08]
mov rax, qword [rbx + 0x4140]
mov rdx, qword [rax + 0x2e0]
movsxd rcx, dword [rdx + 0x68]
lea eax, [rcx - 1]
mov dword [rdx + 0x68], eax
test eax, eax
jne 0x14007bf71
mov rax, r14
jmp 0x14007bf7a
mov rax, qword [rdx + 0x70]
mov rax, qword [rax + rcx*8 - 0x10]
mov rcx, rdx
mov qword [rdx + 0x98], rax
call fcn.1400364f0
movsxd rcx, dword [rbx + 0x4c08]
mov r9, qword [0x140112f08]
lea eax, [rcx - 1]
mov dword [rbx + 0x4c08], eax
test eax, eax
jne 0x14007bfba
mov rcx, qword [r9 + 0x48]
test rcx, rcx
jne 0x14007bfc6
mov rax, qword [r9 + 0x38]
mov rcx, qword [rax + 0x60]
mov rcx, qword [rcx]
jmp 0x14007bfc6
mov rax, qword [rbx + 0x4c10]
mov rcx, qword [rax + rcx*8 - 0x10]
call fcn.140014f10
mov rcx, qword [r9 + 0x4140]
movss xmm7, dword [rcx + 0x60]
movss xmm6, dword [rcx + 0x64]
call fcn.140014700
mov rcx, qword [0x1401130f8]
mov rbx, qword [0x140112f08]
mov rdi, rcx
mov qword [rbp + 0x90], rcx
test rcx, rcx
jne 0x14007c01f
mov rcx, qword [rbx + 0x48]
mov rdi, rcx
test rcx, rcx
jne 0x14007c018
mov rax, qword [rbx + 0x38]
mov rcx, qword [rax + 0x60]
mov rcx, qword [rcx]
mov rdi, rcx
mov qword [rbp + 0x90], rcx
call fcn.140014f10
lea rdx, [rbp + 0x90]
lea rcx, [rbx + 0x4c08]
call fcn.14002c7e0
mov rdx, qword [rdi + 0x40]
mov rcx, qword [rbx + 0x4140]
mov rdx, qword [rdx + 8]
mov rcx, qword [rcx + 0x2e0]
call fcn.140036730
mov rax, qword [0x140112f08]
lea rcx, str.Scene_Generator
movss xmm10, dword [0x1400da4d0]
xor edx, edx
addss xmm6, xmm10
or dword [rax + 0x4b40], 3
lea r8d, [rdx + 0x5c]
movss dword [rax + 0x4b64], xmm7
mov dword [rax + 0x4b54], 0x41200000
movss dword [rax + 0x4b58], xmm6
mov qword [rax + 0x4b5c], 0
mov dword [rax + 0x4b44], 1
mov byte [rax + 0x4b80], 1
mov dword [rax + 0x4b68], r14d
mov dword [rax + 0x4b48], 1
call fcn.140011960
test al, al
je 0x14007cb46
lea rax, [0x1400ce220]
mov dword [rsp + 0x30], 0x30
mov qword [rsp + 0x28], rax
lea r8, [r12 + 0x98]
lea rax, [rbp + 0x90]
mov dword [rbp + 0x90], 0x2710
lea r9, [rbp + 0x98]
mov qword [rsp + 0x20], rax
mov edx, 4
mov dword [rbp + 0x98], r14d
lea rcx, str._Particles
call fcn.14004c3b0
movss xmm0, dword [0x1400da4f8]
call fcn.1400188f0
mov rcx, qword [0x140112f08]
mov rax, qword [rcx + 0x4140]
mov byte [rax + 0xf5], 1
mov rax, qword [rcx + 0x4140]
cmp byte [rax + 0xf8], 0
jne 0x14007c193
lea rax, str.Distance
mov r8, rax
cmp rax, 0xffffffffffffffff
jae 0x14007c187
movzx ecx, byte [r8]
test cl, cl
je 0x14007c180
lea rax, [r8 + 1]
cmp cl, 0x23
jne 0x14007c177
cmp byte [rax], cl
je 0x14007c180
mov r8, rax
cmp rax, 0xffffffffffffffff
jb 0x14007c162
lea rax, str.Distance
movaps xmm3, xmm15
mov rdx, rax
call fcn.1400494a0
movss xmm3, dword [r12 + 0x9c]
lea rax, str._.9g_m
movss xmm0, dword [r12 + 0xa0]
lea r8, [r12 + 0x9c]
movss xmm6, dword [0x1400da544]
lea rcx, str.Mindistance
mov dword [rsp + 0x38], 0x10
minss xmm0, xmm6
mov qword [rsp + 0x30], rax
mov edx, 8
lea rax, [rbp + 0x90]
mov dword [rbp + 0x98], 0x800000
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x98]
divss xmm3, xmm10
mov qword [rsp + 0x20], rax
movss dword [rbp + 0x90], xmm0
call fcn.14004b4d0
mov rax, qword [0x140112f08]
mov rcx, qword [rax + 0x4140]
cmp byte [rcx + 0xf8], 0
jne 0x14007c271
movss xmm1, dword [rax + 0x3a44]
movss xmm0, dword [rcx + 0x14c]
addss xmm1, dword [rcx + 0x148]
movss dword [rcx + 0x140], xmm1
movss dword [rcx + 0x144], xmm0
movsd xmm0, qword [rcx + 0x170]
mov eax, dword [rcx + 0x17c]
movsd qword [rcx + 0x168], xmm0
mov dword [rcx + 0x178], eax
mov byte [rcx + 0x180], 1
movss xmm3, dword [r12 + 0xa0]
lea rax, str._.9g_m
movss xmm0, dword [r12 + 0x9c]
lea r8, [r12 + 0xa0]
movss xmm8, dword [0x1400da324]
lea rcx, str.Maxdistance
mov dword [rsp + 0x38], 0x10
maxss xmm0, xmm8
mov qword [rsp + 0x30], rax
mov edx, 8
lea rax, [rbp + 0x90]
mov dword [rbp + 0x90], 0x7f7fffff
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x98]
divss xmm3, xmm10
mov qword [rsp + 0x20], rax
movss dword [rbp + 0x98], xmm0
call fcn.14004b4d0
mov rcx, qword [0x140112f08]
mov rax, qword [rcx + 0x4140]
mov byte [rax + 0xf5], 1
mov rax, qword [rcx + 0x4140]
cmp byte [rax + 0xf8], 0
jne 0x14007c355
lea rax, str.Mass
mov r8, rax
cmp rax, 0xffffffffffffffff
jae 0x14007c349
movzx ecx, byte [r8]
test cl, cl
je 0x14007c342
lea rax, [r8 + 1]
cmp cl, 0x23
jne 0x14007c339
cmp byte [rax], cl
je 0x14007c342
mov r8, rax
cmp rax, 0xffffffffffffffff
jb 0x14007c324
lea rax, str.Mass
movaps xmm3, xmm15
mov rdx, rax
call fcn.1400494a0
movss xmm3, dword [r12 + 0xa4]
lea rax, str._.9g_kg
movss xmm0, dword [r12 + 0xa8]
lea r8, [r12 + 0xa4]
mov dword [rsp + 0x38], 0x10
minss xmm0, xmm6
mov qword [rsp + 0x30], rax
lea rcx, str.Minmass
lea rax, [rbp + 0x90]
mov dword [rbp + 0x98], 0x800000
mov qword [rsp + 0x28], rax
mov edx, 8
divss xmm3, xmm10
lea rax, [rbp + 0x98]
mov qword [rsp + 0x20], rax
movss dword [rbp + 0x90], xmm0
call fcn.14004b4d0
mov rax, qword [0x140112f08]
mov rcx, qword [rax + 0x4140]
cmp byte [rcx + 0xf8], 0
jne 0x14007c42b
movss xmm1, dword [rax + 0x3a44]
movss xmm0, dword [rcx + 0x14c]
addss xmm1, dword [rcx + 0x148]
movss dword [rcx + 0x140], xmm1
movss dword [rcx + 0x144], xmm0
movsd xmm0, qword [rcx + 0x170]
mov eax, dword [rcx + 0x17c]
movsd qword [rcx + 0x168], xmm0
mov dword [rcx + 0x178], eax
mov byte [rcx + 0x180], 1
movss xmm3, dword [r12 + 0xa8]
lea rax, str._.9g_kg
movss xmm0, dword [r12 + 0xa4]
lea r8, [r12 + 0xa8]
mov dword [rsp + 0x38], 0x10
maxss xmm0, xmm8
mov qword [rsp + 0x30], rax
lea rcx, str.Maxmass
lea rax, [rbp + 0x90]
mov dword [rbp + 0x90], 0x7f7fffff
mov qword [rsp + 0x28], rax
mov edx, 8
divss xmm3, xmm10
lea rax, [rbp + 0x98]
mov qword [rsp + 0x20], rax
movss dword [rbp + 0x98], xmm0
call fcn.14004b4d0
mov rcx, qword [0x140112f08]
mov rax, qword [rcx + 0x4140]
mov byte [rax + 0xf5], 1
mov rax, qword [rcx + 0x4140]
cmp byte [rax + 0xf8], 0
jne 0x14007c504
lea rax, str.Density
mov r8, rax
cmp rax, 0xffffffffffffffff
jae 0x14007c4f8
movzx ecx, byte [r8]
test cl, cl
je 0x14007c4f1
cmp cl, 0x23
jne 0x14007c4e8
cmp byte [r8 + 1], cl
je 0x14007c4f1
inc r8
cmp r8, 0xffffffffffffffff
jb 0x14007c4d5
lea rax, str.Density
movaps xmm3, xmm15
mov rdx, rax
call fcn.1400494a0
movss xmm3, dword [r12 + 0xac]
lea rax, str._.9g_kg_m3
movss xmm0, dword [r12 + 0xb0]
lea r8, [r12 + 0xac]
mov dword [rsp + 0x38], 0x10
minss xmm0, xmm6
mov qword [rsp + 0x30], rax
lea rcx, str.Mindensity
lea rax, [rbp + 0x90]
mov dword [rbp + 0x98], 0x800000
mov qword [rsp + 0x28], rax
mov edx, 8
divss xmm3, xmm10
lea rax, [rbp + 0x98]
mov qword [rsp + 0x20], rax
movss dword [rbp + 0x90], xmm0
call fcn.14004b4d0
mov rax, qword [0x140112f08]
mov rcx, qword [rax + 0x4140]
cmp byte [rcx + 0xf8], 0
jne 0x14007c5da
movss xmm1, dword [rax + 0x3a44]
movss xmm0, dword [rcx + 0x14c]
addss xmm1, dword [rcx + 0x148]
movss dword [rcx + 0x140], xmm1
movss dword [rcx + 0x144], xmm0
movsd xmm0, qword [rcx + 0x170]
mov eax, dword [rcx + 0x17c]
movsd qword [rcx + 0x168], xmm0
mov dword [rcx + 0x178], eax
mov byte [rcx + 0x180], 1
movss xmm3, dword [r12 + 0xb0]
lea rax, str._.9g_kg_m3
movss xmm0, dword [r12 + 0xac]
lea r8, [r12 + 0xb0]
mov dword [rsp + 0x38], 0x10
maxss xmm0, xmm8
mov qword [rsp + 0x30], rax
lea rcx, str.Maxdensity
lea rax, [rbp + 0x90]
mov dword [rbp + 0x90], 0x7f7fffff
mov qword [rsp + 0x28], rax
mov edx, 8
divss xmm3, xmm10
lea rax, [rbp + 0x98]
mov qword [rsp + 0x20], rax
movss dword [rbp + 0x98], xmm0
call fcn.14004b4d0
mov rcx, qword [0x140112f08]
mov rax, qword [rcx + 0x4140]
mov byte [rax + 0xf5], 1
mov rax, qword [rcx + 0x4140]
cmp byte [rax + 0xf8], 0
jne 0x14007c6b3
lea rax, str.Velocity
mov r8, rax
cmp rax, 0xffffffffffffffff
jae 0x14007c6a7
movzx ecx, byte [r8]
test cl, cl
je 0x14007c6a0
cmp cl, 0x23
jne 0x14007c697
cmp byte [r8 + 1], cl
je 0x14007c6a0
inc r8
cmp r8, 0xffffffffffffffff
jb 0x14007c684
lea rax, str.Velocity
movaps xmm3, xmm15
mov rdx, rax
call fcn.1400494a0
lea rdx, [r12 + 0xc4]
lea rcx, str.Automatic_Orbital_Velocity
call fcn.140047e40
cmp byte [r12 + 0xc4], 0
jne 0x14007c837
movss xmm0, dword [r12 + 0xc0]
lea rax, str._.9g_m_s
minss xmm0, xmm6
mov dword [rsp + 0x38], 0x10
movss xmm6, dword [0x1400da334]
lea r8, [r12 + 0xbc]
mov qword [rsp + 0x30], rax
lea rcx, str.Minvelocity
movaps xmm3, xmm6
mov dword [rbp + 0x98], 0
lea rax, [rbp + 0x90]
mov edx, 8
movss dword [rbp + 0x90], xmm0
movss xmm0, dword [r12 + 0xbc]
divss xmm0, xmm10
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x98]
mov qword [rsp + 0x20], rax
maxss xmm3, xmm0
call fcn.14004b4d0
mov rax, qword [0x140112f08]
mov rcx, qword [rax + 0x4140]
cmp byte [rcx + 0xf8], 0
jne 0x14007c7bb
movss xmm1, dword [rax + 0x3a44]
movss xmm0, dword [rcx + 0x14c]
addss xmm1, dword [rcx + 0x148]
movss dword [rcx + 0x140], xmm1
movss dword [rcx + 0x144], xmm0
movsd xmm0, qword [rcx + 0x170]
mov eax, dword [rcx + 0x17c]
movsd qword [rcx + 0x168], xmm0
mov dword [rcx + 0x178], eax
mov byte [rcx + 0x180], 1
movss xmm1, dword [r12 + 0xc0]
lea rax, str._.9g_m_s
movss xmm0, dword [r12 + 0xbc]
lea r8, [r12 + 0xc0]
divss xmm1, xmm10
mov dword [rsp + 0x38], 0x10
mov edx, 8
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x90]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x98]
mov dword [rbp + 0x90], 0x7f7fffff
lea rcx, str.Maxvelocity
mov qword [rsp + 0x20], rax
movaps xmm3, xmm6
maxss xmm0, xmm15
maxss xmm3, xmm1
movss dword [rbp + 0x98], xmm0
call fcn.14004b4d0
lea rdx, [r12 + 0xc5]
lea rcx, str.No_vertical_component
call fcn.140047e40
mov rax, qword [0x140112f08]
mov rcx, qword [rax + 0x4140]
cmp byte [rcx + 0xf8], 0
jne 0x14007c8ad
movss xmm1, dword [rax + 0x3a44]
movss xmm0, dword [rcx + 0x14c]
addss xmm1, dword [rcx + 0x148]
movss dword [rcx + 0x140], xmm1
movss dword [rcx + 0x144], xmm0
movsd xmm0, qword [rcx + 0x170]
mov eax, dword [rcx + 0x17c]
movsd qword [rcx + 0x168], xmm0
mov dword [rcx + 0x178], eax
mov byte [rcx + 0x180], 1
lea rcx, [0x1400ce224]
call fcn.140045e30
mov ecx, 0x1000
call fcn.140009da0
test al, al
je 0x14007c944
xor ecx, ecx
call fcn.140019900
test al, al
je 0x14007c944
mov rax, qword [0x140112f08]
movss xmm0, dword [rax + 0x3e78]
mulss xmm0, dword [0x1400da4e0]
call fcn.140015220
xor edx, edx
lea rcx, str.Particles_will_be_placed_on_a_horizontal_plane_only.
lea r8d, [rdx + 1]
call fcn.1400454c0
mov rcx, qword [0x140112f08]
mov rax, qword [rcx + 0x4140]
mov byte [rax + 0xf5], 1
mov r8, qword [rcx + 0x4140]
movsxd rdx, dword [r8 + 0x218]
mov rax, qword [r8 + 0x220]
mov ecx, dword [rax + rdx*4 - 4]
lea eax, [rdx - 1]
mov dword [r8 + 0x218], eax
mov dword [r8 + 0x200], ecx
call fcn.140014700
mov r9, qword [0x140112f08]
mov rax, qword [r9 + 0x4140]
mov byte [rax + 0xf5], 1
mov r8, qword [r9 + 0x4140]
mov rax, qword [r8 + 0x210]
movsxd rdx, dword [r8 + 0x208]
mov ecx, dword [rax + rdx*4 - 4]
lea eax, [rdx - 1]
mov dword [r8 + 0x208], eax
mov dword [r8 + 0x1fc], ecx
mov rax, qword [r9 + 0x4140]
mov byte [rax + 0xf5], 1
mov rax, qword [r9 + 0x4140]
cmp byte [rax + 0xf8], 0
jne 0x14007c9e2
lea rax, str.Central_body
mov r8, rax
cmp rax, 0xffffffffffffffff
jae 0x14007c9d6
movzx ecx, byte [r8]
test cl, cl
je 0x14007c9cf
lea rax, [r8 + 1]
cmp cl, 0x23
jne 0x14007c9c6
cmp byte [rax], cl
je 0x14007c9cf
mov r8, rax
cmp rax, 0xffffffffffffffff
jb 0x14007c9b1
lea rax, str.Central_body
movaps xmm3, xmm15
mov rdx, rax
call fcn.1400494a0
lea r8, [r12 + 0xc8]
mov dword [rsp + 0x38], 0x10
movss xmm3, dword [r8]
lea rax, [rbp + 0x90]
divss xmm3, xmm10
lea rbx, str._.9g_kg
mov dword [rbp + 0x90], 0x7f7fffff
mov qword [rsp + 0x30], rbx
lea rcx, str.Mass
mov qword [rsp + 0x28], rax
mov edx, 8
lea rax, [rbp + 0x98]
mov dword [rbp + 0x98], 0x800000
mov qword [rsp + 0x20], rax
call fcn.14004b4d0
lea r8, [r12 + 0xcc]
mov dword [rsp + 0x38], 0x10
movss xmm3, dword [r8]
lea rax, [rbp + 0x90]
mov qword [rsp + 0x30], rbx
lea rcx, str.Density
mov qword [rsp + 0x28], rax
mov edx, 8
divss xmm3, xmm10
lea rax, [rbp + 0x98]
mov dword [rbp + 0x90], 0x7f7fffff
mov dword [rbp + 0x98], 0x800000
mov qword [rsp + 0x20], rax
call fcn.14004b4d0
movss xmm3, dword [0x1400da354]
lea r8, [r12 + 0xd4]
movss xmm0, dword [r8]
lea rax, str._.9g
divss xmm0, xmm10
mov dword [rsp + 0x38], 0x10
lea rcx, str.Emission_strength
mov qword [rsp + 0x30], rax
mov edx, 8
lea rax, [rbp + 0x90]
mov dword [rbp + 0x90], 0x7f7fffff
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x98]
mov dword [rbp + 0x98], 0
mov qword [rsp + 0x20], rax
maxss xmm3, xmm0
call fcn.14004b4d0
movss xmm1, dword [0x1400da484]
mov ecx, 1
call fcn.140048ea0
lea rdx, [rbp - 0x68]
mov qword [rbp - 0x68], 0x42c80000
lea rcx, str.Generate
call fcn.1400466e0
test al, al
je 0x14007cb46
mov rcx, r12
call fcn.140079840
mov rbx, qword [0x140112f08]
mov rax, qword [rbx + 0x4140]
mov rdx, qword [rax + 0x2e0]
movsxd rcx, dword [rdx + 0x68]
lea eax, [rcx - 1]
mov dword [rdx + 0x68], eax
test eax, eax
jne 0x14007cb6e
mov rax, r14
jmp 0x14007cb77
mov rax, qword [rdx + 0x70]
mov rax, qword [rax + rcx*8 - 0x10]
mov rcx, rdx
mov qword [rdx + 0x98], rax
call fcn.1400364f0
movsxd rcx, dword [rbx + 0x4c08]
lea eax, [rcx - 1]
mov dword [rbx + 0x4c08], eax
test eax, eax
jne 0x14007cbb7
mov rax, qword [0x140112f08]
mov rcx, qword [rax + 0x48]
test rcx, rcx
jne 0x14007cbc3
mov rax, qword [rax + 0x38]
mov rcx, qword [rax + 0x60]
mov rcx, qword [rcx]
jmp 0x14007cbc3
mov rax, qword [rbx + 0x4c10]
mov rcx, qword [rax + rcx*8 - 0x10]
call fcn.140014f10
call fcn.140014700
cmp byte [r12 + 0x1ba], 0
movaps xmm1, xmm15
movss xmm6, dword [0x1400da4b8]
je 0x14007cc2d
movd xmm0, dword [r12 + 0x170]
lea rax, str.Following_particle
mov r8d, dword [r12 + 0x1b4]
movaps xmm1, xmm7
cvtdq2ps xmm0, xmm0
mov rdx, r12
mov qword [rsp + 0x28], rax
unpcklps xmm1, xmm15
subss xmm0, xmm7
movq r9, xmm1
subss xmm0, xmm6
unpcklps xmm0, xmm6
movsd qword [rsp + 0x20], xmm0
call fcn.14007d630
movaps xmm1, xmm0
cmp byte [r12 + 0x1b9], 0
je 0x14007ccc3
cmp byte [r12 + 0x1ba], 0
je 0x14007cc59
mov eax, dword [r12 + 0x1b0]
cmp dword [r12 + 0x1b4], eax
je 0x14007ccc3
ucomiss xmm1, xmm15
jp 0x14007cc67
jne 0x14007cc67
movaps xmm2, xmm15
jmp 0x14007cc6a
movaps xmm2, xmm6
movd xmm0, dword [r12 + 0x170]
addss xmm1, xmm6
mov r8d, dword [r12 + 0x1b0]
lea rax, str.Selected_particle
cvtdq2ps xmm0, xmm0
mov qword [rsp + 0x28], rax
mov rdx, r12
addss xmm1, xmm2
subss xmm0, xmm7
subss xmm0, xmm6
unpcklps xmm0, xmm1
movaps xmm1, xmm7
unpcklps xmm1, xmm15
movq r9, xmm1
movsd qword [rsp + 0x20], xmm0
call fcn.14007d630
jmp 0x14007ccc3
movsd xmm9, qword [rbp + 0x98]
movsd xmm1, qword [0x1400da450]
movaps xmm0, xmm9
subsd xmm0, qword [r12 + 0x198]
comisd xmm1, xmm0
jbe 0x14007ce5c
mov rcx, qword [0x1401130f8]
mov rbx, qword [0x140112f08]
mov rdi, rcx
mov qword [rbp + 0x90], rcx
test rcx, rcx
jne 0x14007cd21
mov rcx, qword [rbx + 0x48]
mov rdi, rcx
test rcx, rcx
jne 0x14007cd1a
mov rax, qword [rbx + 0x38]
mov rcx, qword [rax + 0x60]
mov rcx, qword [rcx]
mov rdi, rcx
mov qword [rbp + 0x90], rcx
call fcn.140014f10
lea rdx, [rbp + 0x90]
lea rcx, [rbx + 0x4c08]
call fcn.14002c7e0
mov rdx, qword [rdi + 0x40]
mov rcx, qword [rbx + 0x4140]
mov rdx, qword [rdx + 8]
mov rcx, qword [rcx + 0x2e0]
call fcn.140036730
xor edx, edx
lea rcx, str.speed
lea r8d, [rdx + 0x65]
call fcn.140011960
movss xmm1, dword [r12 + 0x78]
lea rcx, str.Speed:__.3g_m_s
cvtps2pd xmm1, xmm1
movq rdx, xmm1
call fcn.140045cc0
movd xmm1, dword [r12 + 0x170]
lea rdx, [rbp - 0x60]
movss xmm10, dword [0x1400da3b4]
xor r8d, r8d
mov rbx, qword [0x140112f08]
cvtdq2ps xmm1, xmm1
mov dword [rbp - 0x5c], 0x41f00000
mov rcx, qword [rbx + 0x4140]
mulss xmm1, xmm10
movss xmm0, dword [rcx + 0x60]
mulss xmm0, xmm10
subss xmm1, xmm0
movss dword [rbp - 0x60], xmm1
call fcn.1400152c0
mov rax, qword [rbx + 0x4140]
mov rdx, qword [rax + 0x2e0]
movsxd rcx, dword [rdx + 0x68]
lea eax, [rcx - 1]
mov dword [rdx + 0x68], eax
test eax, eax
jne 0x14007cdf1
mov rax, r14
jmp 0x14007cdfa
mov rax, qword [rdx + 0x70]
mov rax, qword [rax + rcx*8 - 0x10]
mov rcx, rdx
mov qword [rdx + 0x98], rax
call fcn.1400364f0
movsxd rcx, dword [rbx + 0x4c08]
lea eax, [rcx - 1]
mov dword [rbx + 0x4c08], eax
test eax, eax
jne 0x14007ce44
mov rax, qword [0x140112f08]
mov rcx, qword [rax + 0x48]
test rcx, rcx
jne 0x14007ce50
mov rax, qword [rax + 0x38]
mov rcx, qword [rax + 0x60]
mov rcx, qword [rcx]
call fcn.140014f10
call fcn.140014700
jmp 0x14007ce65
mov rax, qword [rbx + 0x4c10]
mov rcx, qword [rax + rcx*8 - 0x10]
call fcn.140014f10
call fcn.140014700
jmp 0x14007ce65
movss xmm10, dword [0x1400da3b4]
cmp byte [r12 + 0x1b8], 0
je 0x14007d247
cmp byte [r12 + 0x90], 0
jne 0x14007d247
mov rax, qword [0x140112f08]
cmp byte [rax + 0xd2], 0
jne 0x14007d247
mov rcx, qword [r12 + 0x120]
mov edx, 0x33001
call fcn.14008c940
cmp eax, 0x34003
je 0x14007d247
mov rcx, qword [0x1401130f8]
call fcn.140014fc0
mov rcx, qword [r12 + 0x120]
lea r8, [rbp + 0xe8]
lea rdx, [rbp + 0xe0]
call fcn.14008d030
movsd xmm0, qword [rbp + 0xe0]
lea rcx, str.pInfo
movsd xmm2, qword [rbp + 0xe8]
xor edx, edx
mov rax, qword [0x140112f08]
addsd xmm0, qword [0x1400da478]
cvtpd2ps xmm2, xmm2
lea r8d, [rdx + 0x65]
or dword [rax + 0x4b40], 1
mov qword [rax + 0x4b5c], 0
mov dword [rax + 0x4b44], 1
mov byte [rax + 0x4b80], 1
cvtpd2ps xmm1, xmm0
movss dword [rax + 0x4b58], xmm2
movss dword [rax + 0x4b54], xmm1
call fcn.140011960
movsxd rax, dword [r12 + 0x1ac]
imul rcx, rax, 0x6c
mov rax, qword [r12 + 0x158]
movups xmm1, xmmword [rcx + rax + 0x40]
movups xmm0, xmmword [rcx + rax + 0x30]
movups xmm6, xmmword [rcx + rax]
movups xmm7, xmmword [rcx + rax + 0x10]
movups xmm8, xmmword [rcx + rax + 0x20]
movaps xmmword [rbp + 0x30], xmm1
movsd xmm1, qword [rcx + rax + 0x60]
movsd qword [rbp + 0x50], xmm1
xorps xmm1, xmm1
cvtss2sd xmm1, xmm6
movaps xmmword [rbp + 0x20], xmm0
movups xmm0, xmmword [rcx + rax + 0x50]
mov eax, dword [rcx + rax + 0x68]
lea rcx, str.X:__06f
movq rdx, xmm1
mov dword [rbp + 0x58], eax
movaps xmmword [rbp + 0x40], xmm0
call fcn.140045cc0
mov rax, qword [0x140112f08]
mov rcx, qword [rax + 0x4140]
cmp byte [rcx + 0xf8], 0
jne 0x14007d011
movss xmm1, dword [rax + 0x3a44]
movss xmm0, dword [rcx + 0x14c]
addss xmm1, dword [rcx + 0x148]
movss dword [rcx + 0x140], xmm1
movss dword [rcx + 0x144], xmm0
movsd xmm0, qword [rcx + 0x170]
mov eax, dword [rcx + 0x17c]
movsd qword [rcx + 0x168], xmm0
mov dword [rcx + 0x178], eax
mov byte [rcx + 0x180], 1
movaps xmm0, xmm6
lea rcx, str.Y:__06f
shufps xmm0, xmm6, 0x55
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
movq rdx, xmm1
call fcn.140045cc0
mov rax, qword [0x140112f08]
mov rcx, qword [rax + 0x4140]
cmp byte [rcx + 0xf8], 0
jne 0x14007d092
movss xmm1, dword [rax + 0x3a44]
movss xmm0, dword [rcx + 0x14c]
addss xmm1, dword [rcx + 0x148]
movss dword [rcx + 0x140], xmm1
movss dword [rcx + 0x144], xmm0
movsd xmm0, qword [rcx + 0x170]
mov eax, dword [rcx + 0x17c]
movsd qword [rcx + 0x168], xmm0
mov dword [rcx + 0x178], eax
mov byte [rcx + 0x180], 1
movaps xmm0, xmm6
lea rcx, str.Z:__06f
shufps xmm0, xmm6, 0xaa
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
movq rdx, xmm1
call fcn.140045cc0
shufps xmm6, xmm6, 0xff
movaps xmm0, xmm7
mulss xmm0, xmm7
movaps xmm1, xmm7
mulss xmm6, xmm6
shufps xmm1, xmm7, 0x55
mulss xmm1, xmm1
addss xmm6, xmm0
xorps xmm0, xmm0
addss xmm6, xmm1
ucomiss xmm0, xmm6
ja 0x14007d0e4
xorps xmm0, xmm0
sqrtss xmm0, xmm6
jmp 0x14007d0ec
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
xorps xmm1, xmm1
lea rcx, str.Velocity:__.3g_m_s
cvtss2sd xmm1, xmm0
movq rdx, xmm1
call fcn.140045cc0
movaps xmm1, xmm7
movaps xmm0, xmm8
shufps xmm1, xmm7, 0xaa
mulss xmm1, xmm1
mulss xmm0, xmm8
shufps xmm7, xmm7, 0xff
mulss xmm7, xmm7
addss xmm1, xmm7
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x14007d139
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x14007d141
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
xorps xmm1, xmm1
lea rcx, str.Acceleration:__.3g_m_s2
cvtss2sd xmm1, xmm0
movq rdx, xmm1
call fcn.140045cc0
xorps xmm7, xmm7
lea rcx, str.Mass:__.9g_kg
movaps xmm0, xmm8
shufps xmm0, xmm8, 0x55
cvtss2sd xmm7, xmm0
movaps xmm1, xmm7
movq rdx, xmm7
call fcn.140045cc0
movaps xmm0, xmm8
lea rcx, str.Temperature:__.9g_K
shufps xmm0, xmm8, 0xaa
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
movq rdx, xmm1
call fcn.140045cc0
xorps xmm6, xmm6
shufps xmm8, xmm8, 0xff
cvtss2sd xmm6, xmm8
lea rcx, str.Radius:__.9g_m
movaps xmm1, xmm6
movq rdx, xmm6
call fcn.140045cc0
movsd xmm1, qword [0x1400da458]
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
mulsd xmm0, qword [0x1400da470]
lea rcx, str.Density:__.9g_kg_m3
divsd xmm0, qword [0x1400da458]
divsd xmm7, xmm0
movaps xmm1, xmm7
movq rdx, xmm7
call fcn.140045cc0
mov rax, qword [0x140112f08]
lea rdx, [rbp - 0x58]
movd xmm1, dword [r12 + 0x170]
xor r8d, r8d
cvtdq2ps xmm1, xmm1
mov dword [rbp - 0x54], 0x41f00000
mov rcx, qword [rax + 0x4140]
movss xmm0, dword [rcx + 0x60]
mulss xmm0, xmm10
mulss xmm1, xmm10
subss xmm1, xmm0
movss dword [rbp - 0x58], xmm1
call fcn.1400152c0
call fcn.140015060
call fcn.140014700
movss xmm3, dword [0x1400da3fc]
movaps xmm2, xmm15
movaps xmm1, xmm15
movaps xmm0, xmm15
call qword [0x140112dc0]
mov ecx, 0x4000
call qword [0x140112db0]
call fcn.14000d890
mov rcx, qword [r12]
mov rax, qword [rcx]
call qword [rax + 8]
mov edx, dword [r12 + 0x114]
mov ecx, 0x8d40
call qword [0x140112e00]
mov ecx, 0x84c0
call qword [0x140112e80]
mov edx, dword [r12 + 0x118]
mov ecx, 0xde1
call qword [0x140112e78]
movd xmm2, dword [r12 + 0x174]
mov rcx, rsi
movd xmm1, dword [r12 + 0x170]
mov r9, qword [r12]
cvtdq2ps xmm2, xmm2
mov r9d, dword [r9 + 0x4c]
cvtdq2ps xmm1, xmm1
call fcn.140077a90
cmp byte [r12 + 0x1a4], 0
lea rdx, str.timeDelta
movss xmm0, dword [r12 + 0x1a0]
mov eax, r14d
mov rbx, qword [0x140112ee0]
sete al
cmp byte [r12 + 0x1a5], 0
mov ecx, 0xffffffff
cvtps2pd xmm0, xmm0
movd xmm1, eax
mov eax, 1
cmovne eax, ecx
mulsd xmm0, xmm12
mov rcx, qword [r12]
cvtdq2pd xmm1, xmm1
mov ecx, dword [rcx + 0x4c]
mulsd xmm1, xmm0
movd xmm0, eax
mov rax, qword [0x140112ea8]
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
cvtpd2ps xmm6, xmm1
call rax
mov ecx, eax
movaps xmm1, xmm6
call rbx
mov rcx, qword [r12]
lea rdx, str.uTime
mov rax, qword [0x140112ea8]
xorps xmm6, xmm6
mov rbx, qword [0x140112ee0]
cvtsd2ss xmm6, xmm9
mov ecx, dword [rcx + 0x4c]
call rax
mov ecx, eax
movaps xmm1, xmm6
call rbx
mov rcx, qword [r12]
lea rdx, str.accumulationFrameIndex
mov rax, qword [0x140112ea8]
mov rdi, qword [0x140112d18]
mov ebx, dword [r12 + 0x1e0]
mov ecx, dword [rcx + 0x4c]
call rax
mov edx, ebx
mov ecx, eax
call rdi
cmp byte [r15], 0
je 0x14007d3c2
cmp byte [r12 + 0x1a4], 0
je 0x14007d3c2
inc dword [r12 + 0x1e0]
jmp 0x14007d3ca
mov dword [r12 + 0x1e0], r14d
xor edx, edx
lea ecx, [rdx + 4]
lea r8d, [rdx + 0x24]
call qword [0x140112d58]
mov rcx, qword [r12 + 0x10]
mov rax, qword [rcx]
call qword [rax + 8]
mov eax, dword [r12 + 0x1e0]
movss xmm0, dword [r12 + 0x1dc]
movss xmm3, dword [r12 + 0x1d8]
mov r8d, dword [r12 + 0x118]
movzx edx, byte [r12 + 0x1d6]
mov rcx, qword [r12 + 0x10]
mov dword [rsp + 0x28], eax
movss dword [rsp + 0x20], xmm0
call fcn.1400773f0
mov rcx, qword [r12 + 8]
mov rax, qword [rcx]
call qword [rax + 8]
cmp byte [r12 + 0x1a4], 0
lea rdx, str.timeDelta
movss xmm0, dword [r12 + 0x1a0]
mov eax, r14d
mov rbx, qword [0x140112ee0]
sete al
cmp byte [r12 + 0x1a5], 0
mov ecx, 0xffffffff
cvtps2pd xmm0, xmm0
movd xmm1, eax
mov eax, 1
cmovne eax, ecx
mulsd xmm0, xmm12
mov rcx, qword [r12 + 8]
cvtdq2pd xmm1, xmm1
mov ecx, dword [rcx + 0x4c]
mulsd xmm1, xmm0
movd xmm0, eax
mov rax, qword [0x140112ea8]
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
cvtpd2ps xmm6, xmm1
call rax
mov ecx, eax
movaps xmm1, xmm6
call rbx
mov rcx, qword [r12 + 8]
lea rdx, str.collisionType
mov rax, qword [0x140112ea8]
mov rdi, qword [0x140112d18]
mov ebx, dword [r12 + 0x1a8]
mov ecx, dword [rcx + 0x4c]
call rax
mov edx, ebx
mov ecx, eax
call rdi
mov rcx, qword [r12 + 0x160]
movabs rax, 0x4bda12f684bda13
sub rcx, qword [r12 + 0x158]
imul rcx
mov rcx, rdx
mov edx, 1
sar rcx, 1
mov r8d, edx
mov rax, rcx
shr rax, 0x3f
add rcx, rax
call qword [0x140112e10]
mov ecx, 0x2000
call qword [0x140112eb8]
mov rcx, qword [r12]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [0x140112f08]
movaps xmm14, xmm9
movsd qword [rbp + 0x90], xmm9
mov rcx, qword [rax + 0x4c88]
mov rax, qword [rcx]
mov rcx, r14
add rax, 0xa8
cmp byte [rax], 0
cmovne rcx, rax
call fcn.140042e10
mov rcx, qword [r12 + 0x120]
call fcn.14008b530
mov rcx, qword [r12 + 0x120]
call fcn.1400910b0
movss xmm12, dword [0x1400da3fc]
lea rbx, [r12 + 0x70]
movsd xmm6, qword [0x1400da438]
lea rdi, [r12 + 0x1c0]
lea rsi, [r12 + 0x1c8]
movabs r14, 0x4bda12f684bda13
test eax, eax
je 0x14007a600
mov rcx, qword [r12 + 0x120]
call fcn.140090fe0
call fcn.140095010
mov rcx, qword [rbp + 0x1b0]
xor rcx, rsp
call fcn.1400a5770
lea r11, [rsp + 0x360]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret