Function at 0x140079840
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
push rbp
push rbx
push rdi
push r12
push r15
lea rbp, [rsp - 0x1470]
mov eax, 0x1570
call fcn.1400a7400
sub rsp, rax
mov rax, qword [0x14010f7c0]
xor rax, rsp
mov qword [rbp + 0x13c0], rax
mov qword [rsp + 0x15b8], r14
mov r15, rcx
movaps xmmword [rsp + 0x1560], xmm6
movaps xmmword [rsp + 0x1550], xmm7
movaps xmmword [rsp + 0x1540], xmm8
movaps xmmword [rsp + 0x1530], xmm9
movaps xmmword [rsp + 0x1520], xmm10
movaps xmmword [rsp + 0x1510], xmm11
movaps xmmword [rsp + 0x1500], xmm12
movaps xmmword [rsp + 0x14e0], xmm14
movaps xmmword [rsp + 0x14d0], xmm15
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov r14d, 1
mov dword [rbp + 0x13b4], 0xffffffff
mov dword [rbp + 0x34], eax
mov edx, r14d
nop dword [rax]
nop dword [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rbp + rdx*4 + 0x34], eax
inc rdx
cmp rdx, 0x270
jb 0x1400798f0
movss xmm0, dword [r15 + 0xa0]
lea r12, [r15 + 0x158]
mov rax, qword [r12]
movss xmm12, dword [r15 + 0x9c]
movss xmm1, dword [r15 + 0xa4]
movss xmm10, dword [r15 + 0xa8]
movss xmm11, dword [r15 + 0xb0]
movss dword [rsp + 0x28], xmm0
movss xmm0, dword [r15 + 0xbc]
movss dword [rsp + 0x40], xmm0
movss xmm0, dword [r15 + 0xc0]
movss dword [rsp + 0x3c], xmm0
movss xmm0, dword [r15 + 0xac]
movss dword [rsp + 0x34], xmm0
movss xmm0, dword [r15 + 0xb4]
movss dword [rsp + 0x2c], xmm0
movss xmm0, dword [r15 + 0xb8]
movss dword [rsp + 0x4c], xmm0
movss dword [rsp + 0x38], xmm12
movss dword [rsp + 0x30], xmm1
mov dword [rbp + 0x30], 0x270
cmp rax, qword [r12 + 8]
je 0x1400799b8
mov qword [r12 + 8], rax
movss xmm6, dword [r15 + 0xc8]
xorps xmm8, xmm8
movss xmm7, dword [r15 + 0xd0]
movaps xmm0, xmm6
divss xmm0, dword [r15 + 0xcc]
mov dword [rsp + 0x78], 0
xorps xmm9, xmm9
xorps xmm14, xmm14
mulss xmm0, dword [0x1400da484]
divss xmm0, dword [0x1400da4c4]
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_cbrtf]
movaps xmm1, xmmword [0x1400da5a0]
movaps xmm3, xmmword [0x1400da7d0]
movss xmm2, dword [r15 + 0xd4]
mov rdx, qword [r12 + 8]
movaps xmm4, xmmword [0x1400da7b0]
movss xmm15, dword [0x1400da3fc]
movups xmmword [rbp - 0x64], xmm1
mov dword [rbp - 0x68], 0x3f800000
movups xmm1, xmmword [rsp + 0x78]
movups xmm5, xmmword [rbp - 0x68]
shufps xmm1, xmm1, 0xe1
movss xmm1, xmm6
movss dword [rbp + 0x2c], xmm14
shufps xmm1, xmm1, 0xc6
movss xmm1, xmm7
movups xmmword [rbp - 0x50], xmm3
shufps xmm1, xmm1, 0x27
movss xmm1, xmm0
unpckhpd xmm3, xmm3
movups xmm0, xmmword [rbp - 0x58]
shufps xmm1, xmm1, 0x39
shufps xmm0, xmm0, 0xe1
movss xmm0, xmm2
movsd qword [rbp + 0x24], xmm3
shufps xmm0, xmm0, 0xe1
movups xmmword [rbp - 0x58], xmm0
movups xmmword [rbp + 0x14], xmm0
movups xmmword [rbp - 0x3c], xmm8
movups xmmword [rbp - 0x2c], xmm9
movups xmmword [rsp + 0x78], xmm1
movups xmmword [rbp - 0x1c], xmm1
movups xmmword [rbp - 0xc], xmm4
movups xmmword [rbp + 4], xmm5
cmp rdx, qword [r12 + 0x10]
je 0x140079ad5
movups xmmword [rdx], xmm8
movups xmmword [rdx + 0x10], xmm9
movups xmmword [rdx + 0x20], xmm1
movups xmmword [rdx + 0x30], xmm4
movups xmmword [rdx + 0x40], xmm5
movups xmmword [rdx + 0x50], xmm0
movsd qword [rdx + 0x60], xmm3
movss dword [rdx + 0x68], xmm14
add qword [r12 + 8], 0x6c
jmp 0x140079ae1
lea r8, [rbp - 0x3c]
mov rcx, r12
call fcn.140081f60
mov rcx, qword [r12 + 8]
xor eax, eax
xor ebx, ebx
mov dword [rsp + 0x24], eax
mov dword [rsp + 0x20], ebx
cmp dword [r15 + 0x98], eax
jle 0x14007a3d3
movss xmm8, dword [rsp + 0x28]
movss xmm1, dword [rsp + 0x30]
subss xmm8, xmm12
movss xmm2, dword [rsp + 0x34]
subss xmm10, xmm1
mov qword [rsp + 0x15a8], rsi
subss xmm11, xmm2
mov qword [rsp + 0x15b0], r13
movaps xmmword [rsp + 0x14f0], xmm13
movss xmm13, dword [0x1400da330]
movss dword [rsp + 0x50], xmm10
movss dword [rsp + 0x54], xmm11
movss dword [rsp + 0x28], xmm8
nop dword [rax + rax]
lea rcx, [rbp + 0x30]
call fcn.140083a30
xorps xmm12, xmm12
mov eax, eax
lea rcx, [rbp + 0x30]
cvtsi2ss xmm12, rax
subss xmm12, xmm14
addss xmm12, xmm14
mulss xmm12, xmm13
mulss xmm12, xmm10
addss xmm12, xmm1
movss dword [rsp + 0x48], xmm12
call fcn.140083a30
xorps xmm1, xmm1
mov eax, eax
movaps xmm0, xmm12
cvtsi2ss xmm1, rax
subss xmm1, xmm14
addss xmm1, xmm14
mulss xmm1, xmm13
mulss xmm1, xmm11
addss xmm1, xmm2
divss xmm0, xmm1
mulss xmm0, dword [0x1400da484]
divss xmm0, dword [0x1400da4c4]
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_cbrtf]
lea rcx, [rbp + 0x30]
movaps xmm11, xmm0
call fcn.140083a30
xorps xmm6, xmm6
mov eax, eax
lea rcx, [rbp + 0x30]
cvtsi2ss xmm6, rax
subss xmm6, xmm14
addss xmm6, xmm14
mulss xmm6, xmm13
addss xmm6, xmm6
subss xmm6, xmm15
call fcn.140083a30
xorps xmm10, xmm10
mov eax, eax
xorps xmm0, xmm0
lea rcx, [rbp + 0x30]
cvtsi2ss xmm10, rax
xor eax, eax
cmp byte [r15 + 0xc5], al
sete al
subss xmm10, xmm14
cvtsi2ss xmm0, eax
addss xmm10, xmm14
movss dword [rsp + 0x44], xmm0
mulss xmm10, xmm13
addss xmm10, xmm10
subss xmm10, xmm15
mulss xmm10, xmm0
call fcn.140083a30
xorps xmm7, xmm7
mov eax, eax
lea rcx, [rbp + 0x30]
cvtsi2ss xmm7, rax
subss xmm7, xmm14
addss xmm7, xmm14
mulss xmm7, xmm13
addss xmm7, xmm7
subss xmm7, xmm15
call fcn.140083a30
xorps xmm9, xmm9
mov eax, eax
movaps xmm2, xmm6
movaps xmm0, xmm10
mulss xmm2, xmm6
movaps xmm1, xmm7
cvtsi2ss xmm9, rax
mulss xmm0, xmm10
subss xmm9, xmm14
mulss xmm1, xmm7
addss xmm2, xmm0
addss xmm9, xmm14
mulss xmm9, xmm13
mulss xmm9, xmm8
addss xmm9, dword [rsp + 0x38]
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x140079ce1
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140079ce9
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm1, xmm15
movsxd rsi, ebx
divss xmm1, xmm0
xor dil, dil
xor r13d, r13d
mulss xmm6, xmm1
movaps xmm8, xmm1
mulss xmm8, xmm10
mulss xmm7, xmm1
mulss xmm6, xmm9
mulss xmm8, xmm9
mulss xmm7, xmm9
test ebx, ebx
js 0x140079f7d
mov rax, qword [r12]
cmp rsi, 3
jl 0x140079ee6
lea r14, [rsi + 1]
shr r14, 2
lea rbx, [rax + 0x74]
mov eax, 1
lea r13, [r14*4]
nop dword [rax]
movaps xmm0, xmm7
movaps xmm1, xmm6
subss xmm0, dword [rbx - 0x6c]
subss xmm1, dword [rbx - 0x74]
movaps xmm2, xmm8
subss xmm2, dword [rbx - 0x70]
mulss xmm0, xmm0
mulss xmm1, xmm1
mulss xmm2, xmm2
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x140079d8e
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140079d9b
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
mov eax, 1
movaps xmm1, xmm11
movaps xmm2, xmm8
addss xmm1, dword [rbx - 0x48]
subss xmm2, dword [rbx - 4]
comiss xmm1, xmm0
movaps xmm0, xmm7
mulss xmm2, xmm2
subss xmm0, dword [rbx]
movaps xmm1, xmm6
cmova edi, eax
subss xmm1, dword [rbx - 8]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x140079de7
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140079df4
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
mov eax, 1
movaps xmm1, xmm11
movaps xmm2, xmm8
addss xmm1, dword [rbx + 0x24]
subss xmm2, dword [rbx + 0x68]
comiss xmm1, xmm0
movaps xmm0, xmm7
mulss xmm2, xmm2
subss xmm0, dword [rbx + 0x6c]
movaps xmm1, xmm6
cmova edi, eax
subss xmm1, dword [rbx + 0x64]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x140079e41
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140079e4e
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
mov eax, 1
movaps xmm1, xmm11
movaps xmm2, xmm8
addss xmm1, dword [rbx + 0x90]
subss xmm2, dword [rbx + 0xd4]
comiss xmm1, xmm0
movaps xmm0, xmm7
mulss xmm2, xmm2
subss xmm0, dword [rbx + 0xd8]
movaps xmm1, xmm6
cmova edi, eax
subss xmm1, dword [rbx + 0xd0]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x140079ea7
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140079eb4
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
mov eax, 1
movaps xmm1, xmm11
movzx edi, dil
addss xmm1, dword [rbx + 0xfc]
comiss xmm1, xmm0
cmova edi, eax
add rbx, 0x1b0
sub r14, 1
jne 0x140079d50
mov r14d, 1
cmp r13, rsi
jg 0x140079f5e
mov rbx, qword [r12]
sub rsi, r13
imul rax, r13, 0x6c
add rbx, 8
add rbx, rax
inc rsi
movaps xmm0, xmm7
movaps xmm1, xmm6
subss xmm0, dword [rbx]
subss xmm1, dword [rbx - 8]
movaps xmm2, xmm8
subss xmm2, dword [rbx - 4]
mulss xmm0, xmm0
mulss xmm1, xmm1
mulss xmm2, xmm2
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x140079f38
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140079f40
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm1, xmm11
movzx edi, dil
addss xmm1, dword [rbx + 0x24]
comiss xmm1, xmm0
cmova edi, r14d
add rbx, 0x6c
sub rsi, 1
jne 0x140079efb
mov ebx, dword [rsp + 0x20]
test dil, dil
je 0x140079f7d
mov edi, dword [rsp + 0x24]
cmp edi, 0x64
jge 0x140079f7d
dec ebx
inc edi
mov dword [rsp + 0x24], edi
jmp 0x14007a381
xor eax, eax
mov dword [rsp + 0x24], eax
cmp byte [r15 + 0xc4], al
je 0x14007a060
movaps xmm0, xmm6
movaps xmm2, xmm8
mulss xmm2, xmm8
movaps xmm1, xmm7
mulss xmm0, xmm6
mulss xmm1, xmm7
addss xmm2, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
ucomiss xmm0, xmm2
ja 0x140079fc2
xorps xmm9, xmm9
sqrtss xmm9, xmm2
jmp 0x140079fce
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm9, xmm0
movaps xmm0, xmm12
xorps xmm1, xmm1
addss xmm0, dword [r15 + 0xc8]
mulss xmm0, dword [0x1400da32c]
divss xmm0, xmm9
ucomiss xmm1, xmm0
ja 0x140079ff9
xorps xmm3, xmm3
sqrtss xmm3, xmm0
jmp 0x14007a001
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm3, xmm0
movaps xmm1, xmm15
movaps xmm2, xmm8
divss xmm1, xmm9
movaps xmm10, xmm6
movaps xmm9, xmm7
mulss xmm9, xmm1
mulss xmm10, xmm1
mulss xmm2, xmm1
movaps xmm0, xmm10
mulss xmm0, xmm14
mulss xmm2, xmm14
movaps xmm5, xmm2
subss xmm10, xmm2
subss xmm5, xmm9
mulss xmm9, xmm14
subss xmm9, xmm0
mulss xmm10, xmm3
mulss xmm5, xmm3
mulss xmm9, xmm3
jmp 0x14007a1a2
lea rcx, [rbp + 0x30]
call fcn.140083a30
movss xmm0, dword [rsp + 0x3c]
lea rcx, [rbp + 0x30]
subss xmm0, dword [rsp + 0x40]
xorps xmm12, xmm12
mov eax, eax
cvtsi2ss xmm12, rax
subss xmm12, xmm14
addss xmm12, xmm14
mulss xmm12, xmm13
mulss xmm12, xmm0
addss xmm12, dword [rsp + 0x40]
call fcn.140083a30
xorps xmm10, xmm10
mov eax, eax
lea rcx, [rbp + 0x30]
cvtsi2ss xmm10, rax
subss xmm10, xmm14
addss xmm10, xmm14
mulss xmm10, xmm13
addss xmm10, xmm10
subss xmm10, xmm15
call fcn.140083a30
xorps xmm9, xmm9
mov eax, eax
lea rcx, [rbp + 0x30]
cvtsi2ss xmm9, rax
subss xmm9, xmm14
addss xmm9, xmm14
mulss xmm9, xmm13
addss xmm9, xmm9
subss xmm9, xmm15
mulss xmm9, dword [rsp + 0x44]
call fcn.140083a30
xorps xmm13, xmm13
mov eax, eax
movaps xmm2, xmm9
movaps xmm1, xmm10
mulss xmm2, xmm9
cvtsi2ss xmm13, rax
mulss xmm1, xmm10
subss xmm13, xmm14
addss xmm13, xmm14
mulss xmm13, dword [0x1400da330]
addss xmm13, xmm13
subss xmm13, xmm15
movaps xmm0, xmm13
mulss xmm0, xmm13
addss xmm2, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
ucomiss xmm0, xmm2
ja 0x14007a161
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x14007a169
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm1, xmm15
divss xmm1, xmm0
movaps xmm5, xmm1
mulss xmm9, xmm1
mulss xmm5, xmm13
movss xmm13, dword [0x1400da330]
mulss xmm10, xmm1
mulss xmm5, xmm12
mulss xmm9, xmm12
mulss xmm10, xmm12
movss xmm12, dword [rsp + 0x48]
lea rcx, [rbp + 0x30]
call fcn.140083a30
xorps xmm4, xmm4
mov eax, eax
lea rcx, [rbp + 0x30]
cvtsi2ss xmm4, rax
subss xmm4, xmm14
addss xmm4, xmm14
mulss xmm4, xmm13
addss xmm4, xmm14
call fcn.140083a30
xorps xmm3, xmm3
mov eax, eax
lea rcx, [rbp + 0x30]
cvtsi2ss xmm3, rax
subss xmm3, xmm14
addss xmm3, xmm14
mulss xmm3, xmm13
addss xmm3, xmm14
call fcn.140083a30
xorps xmm2, xmm2
mov eax, eax
lea rcx, [rbp + 0x30]
mov qword [rsp + 0x70], 0
mov dword [rsp + 0x78], 0
cvtsi2ss xmm2, rax
subss xmm2, xmm14
addss xmm2, xmm14
mulss xmm2, xmm13
addss xmm2, xmm14
call fcn.140083a30
movss xmm0, dword [rsp + 0x4c]
xorps xmm1, xmm1
subss xmm0, dword [rsp + 0x2c]
shufps xmm6, xmm6, 0xe1
movss xmm6, xmm8
mov eax, eax
shufps xmm6, xmm6, 0xc6
movss xmm6, xmm7
mov dword [rbp - 0x44], 0x3f800000
shufps xmm6, xmm6, 0x27
cvtsi2ss xmm1, rax
xor eax, eax
mov qword [rbp - 0x60], rax
mov dword [rbp - 0x58], eax
movss xmm6, xmm5
movups xmm5, xmmword [rsp + 0x68]
subss xmm1, xmm14
shufps xmm6, xmm6, 0x39
movss xmm5, xmm9
shufps xmm5, xmm5, 0xe1
movss xmm5, xmm10
shufps xmm5, xmm5, 0xe1
addss xmm1, xmm14
movups xmmword [rbp - 0x3c], xmm6
movups xmmword [rsp + 0x68], xmm5
mulss xmm1, xmm13
movups xmmword [rbp - 0x2c], xmm5
mulss xmm1, xmm0
movaps xmm0, xmmword [0x1400da600]
movups xmmword [rbp - 0x54], xmm0
addss xmm1, dword [rsp + 0x2c]
movups xmm0, xmmword [rsp + 0x78]
shufps xmm0, xmm0, 0xe1
movss xmm0, xmm12
shufps xmm0, xmm0, 0xc6
movss xmm0, xmm1
movaps xmm1, xmm4
shufps xmm1, xmm1, 0xe1
movss xmm1, xmm3
shufps xmm0, xmm0, 0x27
shufps xmm1, xmm1, 0xc6
movss xmm0, xmm11
movss xmm1, xmm2
shufps xmm0, xmm0, 0x39
shufps xmm1, xmm1, 0x27
movss xmm1, xmm4
shufps xmm1, xmm1, 0x39
movups xmmword [rbp - 0xc], xmm1
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rbp - 0x1c], xmm0
movups xmm4, xmmword [rbp - 0x68]
mov rdx, qword [r12 + 8]
movss dword [rbp + 0x2c], xmm14
movss xmm4, xmm3
movsd xmm3, qword [rbp - 0x48]
shufps xmm4, xmm4, 0xe1
movss xmm4, xmm2
movsd qword [rbp + 0x24], xmm3
movups xmm2, xmmword [rbp - 0x58]
shufps xmm4, xmm4, 0xe1
movups xmmword [rbp + 0x14], xmm2
movups xmmword [rbp - 0x68], xmm4
movups xmmword [rbp + 4], xmm4
cmp rdx, qword [r12 + 0x10]
je 0x14007a375
movups xmmword [rdx], xmm6
movups xmmword [rdx + 0x10], xmm5
movups xmmword [rdx + 0x20], xmm0
movups xmmword [rdx + 0x30], xmm1
movups xmmword [rdx + 0x40], xmm4
movups xmmword [rdx + 0x50], xmm2
movsd qword [rdx + 0x60], xmm3
movss dword [rdx + 0x68], xmm14
add qword [r12 + 8], 0x6c
jmp 0x14007a381
lea r8, [rbp - 0x3c]
mov rcx, r12
call fcn.140081f60
movss xmm8, dword [rsp + 0x28]
inc ebx
movss xmm10, dword [rsp + 0x50]
movss xmm11, dword [rsp + 0x54]
movss xmm1, dword [rsp + 0x30]
movss xmm2, dword [rsp + 0x34]
mov dword [rsp + 0x20], ebx
cmp ebx, dword [r15 + 0x98]
jl 0x140079b60
movaps xmm13, xmmword [rsp + 0x14f0]
mov r13, qword [rsp + 0x15b0]
mov rsi, qword [rsp + 0x15a8]
mov rcx, qword [r12 + 8]
movaps xmm15, xmmword [rsp + 0x14d0]
lea r10, [r15 + 0x140]
movaps xmm14, xmmword [rsp + 0x14e0]
movabs rbx, 0x4bda12f684bda13
movaps xmm12, xmmword [rsp + 0x1500]
movaps xmm11, xmmword [rsp + 0x1510]
movaps xmm10, xmmword [rsp + 0x1520]
movaps xmm9, xmmword [rsp + 0x1530]
movaps xmm8, xmmword [rsp + 0x1540]
movaps xmm7, xmmword [rsp + 0x1550]
movaps xmm6, xmmword [rsp + 0x1560]
mov r14, qword [rsp + 0x15b8]
cmp r10, r12
je 0x14007a463
sub rcx, qword [r12]
mov rax, rbx
imul rcx
mov rcx, r10
sar rdx, 1
mov r8, rdx
shr r8, 0x3f
add r8, rdx
mov rdx, qword [r12]
call fcn.140080010
mov edx, dword [r15 + 0x110]
mov ecx, 0x90d2
call qword [0x140112ec8]
mov ecx, 0x2000
call qword [0x140112eb8]
mov r8, qword [r12]
mov rax, rbx
mov rdx, qword [r15 + 0x160]
mov ecx, 0x90d2
sub rdx, r8
imul rdx
sar rdx, 1
mov r9, rdx
shr r9, 0x3f
add rdx, r9
mov r9d, 0x88e8
imul rdx, rdx, 0x6c
call qword [0x140112d70]
mov rcx, qword [r12 + 8]
mov rax, rbx
sub rcx, qword [r12]
mov rdi, qword [0x140112d18]
imul rcx
mov rcx, qword [r15]
mov rbx, rdx
lea rdx, str.numParticles
sar rbx, 1
mov rax, rbx
mov ecx, dword [rcx + 0x4c]
shr rax, 0x3f
add rbx, rax
mov rax, qword [0x140112ea8]
call rax
mov edx, ebx
mov ecx, eax
call rdi
mov dword [r15 + 0x1e0], 0
mov rcx, qword [rbp + 0x13c0]
xor rcx, rsp
call fcn.1400a5770
add rsp, 0x1570
pop r15
pop r12
pop rdi
pop rbx
pop rbp
ret