Function at 0x140019860
Capabilities:
Create thread
Set registry value

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x660
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm11
lea rbp, [rsp + 0x70]
and rbp, 0xffffffffffffffe0
mov rax, qword [0x14072a340]
xor rax, rsp
mov qword [rbp + 0x5a0], rax
xor r12d, r12d
mov rcx, qword [0x1407804d8]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x4090]
lea r8, str.Foreground
lea edx, [r12 + 1]
mov rcx, qword [rax]
call fcn.1400a7db0
mov rcx, qword [0x1407804d8]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
movss xmm1, dword [rax + 0x1c]
subss xmm1, dword [rax + 0x68]
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [rax + 0x64]
addss xmm1, dword [0x140573638]
addss xmm0, dword [0x140573640]
movss dword [rax + 0xe0], xmm0
movss dword [rax + 0xe4], xmm1
mov byte [rax + 0x121], 1
xorps xmm6, xmm6
xorps xmm0, xmm0
movups xmmword [rbp + 0x98], xmm0
mov qword [rbp + 0xa8], r12
mov qword [rbp + 0xb0], r12
xor r8d, r8d
lea rdx, [0x14054357e]
lea rcx, [rbp + 0x98]
call fcn.140006600
lea rax, [rbp + 0x98]
mov qword [rbp], rax
lea rdx, [rbp + 0x98]
lea rcx, [rbp + 0x338]
call fcn.140022500
xorps xmm0, xmm0
unpcklps xmm0, xmm6
movsd qword [rbp + 0x358], xmm0
xorps xmm1, xmm1
unpcklps xmm1, xmm6
movsd qword [rbp + 0x360], xmm1
lea rcx, [rbp + 0x98]
call fcn.1400062c0
mov dword [rbp + 0x80], 0x430c0000
mov dword [rbp + 0x84], 0x42b40000
lea r9, [rbp + 0x338]
xor r8d, r8d
lea rdx, [rbp + 0x80]
lea rcx, str.Registry_Tweaks
call fcn.1400a14c0
lea edi, [r12 + 8]
cmp byte [0x14078027e], r12b
je 0x140019adf
mov rdx, qword [0x1407804d8]
mov esi, dword [rdx + 0x3f3c]
or esi, 4
mov dword [rdx + 0x3f3c], esi
lea rbx, [rdx + 0x4040]
mov r8d, dword [rbx]
mov ecx, dword [rbx + 4]
cmp r8d, ecx
jne 0x140019a44
inc r8d
test ecx, ecx
je 0x140019a29
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x140019a2b
mov eax, edi
cmp eax, r8d
cmovg r8d, eax
mov edx, r8d
mov rcx, rbx
call fcn.1400baff0
mov rdx, qword [0x1407804d8]
movsxd rcx, dword [rbx]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*4], esi
inc dword [rbx]
movss xmm1, dword [rdx + 0x37e0]
mulss xmm1, dword [0x1405734e8]
xor ecx, ecx
call fcn.1400a5040
movss xmm8, dword [0x140573704]
movaps xmm1, xmm8
movss xmm7, dword [0x140573618]
movaps xmm0, xmm7
call fcn.1400b3470
movss xmm11, dword [0x14057363c]
mov dword [rbp + 0x28], 0x42700000
mov dword [rbp + 0x2c], 0x41a00000
lea rdx, [rbp + 0x28]
lea rcx, str.Enabled
call fcn.1400d6bf0
mov ecx, 1
call fcn.1400a50c0
mov rdx, qword [0x1407804d8]
movsxd rcx, dword [rdx + 0x4040]
lea eax, [rcx - 1]
mov dword [rdx + 0x4040], eax
mov rax, qword [rdx + 0x4048]
mov ecx, dword [rax + rcx*4 - 8]
mov dword [rdx + 0x3f3c], ecx
jmp 0x140019b41
movss xmm8, dword [0x140573704]
movaps xmm1, xmm8
movss xmm7, dword [0x140573618]
movaps xmm0, xmm7
call fcn.1400b3470
movss xmm11, dword [0x14057363c]
mov dword [rbp + 0x28], 0x42700000
mov dword [rbp + 0x2c], 0x41a00000
lea rdx, [rbp + 0x28]
lea rcx, str.Enable
call fcn.1400d6bf0
test al, al
je 0x140019b41
mov rcx, qword [0x140780530]
call fcn.1400f82c0
cmp byte [0x14078027e], 0
sete byte [0x14078027e]
call fcn.1400a1690
mov rcx, qword [0x1407804d8]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
movss xmm1, dword [rax + 0x1c]
subss xmm1, dword [rax + 0x68]
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [rax + 0x64]
addss xmm1, dword [0x140573638]
addss xmm0, dword [0x140573688]
movss dword [rax + 0xe0], xmm0
movss dword [rax + 0xe4], xmm1
mov byte [rax + 0x121], 1
xorps xmm0, xmm0
movups xmmword [rbp + 0x58], xmm0
mov qword [rbp + 0x68], r12
mov qword [rbp + 0x70], r12
xor r8d, r8d
lea rdx, [0x14054357e]
lea rcx, [rbp + 0x58]
call fcn.140006600
lea rax, [rbp + 0x58]
mov qword [rbp], rax
lea rdx, [rbp + 0x58]
lea rcx, [rbp + 0x240]
call fcn.140022500
xorps xmm0, xmm0
unpcklps xmm0, xmm6
movsd qword [rbp + 0x260], xmm0
xorps xmm1, xmm1
unpcklps xmm1, xmm6
movsd qword [rbp + 0x268], xmm1
lea rcx, [rbp + 0x58]
call fcn.1400062c0
mov dword [rbp + 0x48], 0x430c0000
mov dword [rbp + 0x4c], 0x42b40000
lea r9, [rbp + 0x240]
xor r8d, r8d
lea rdx, [rbp + 0x48]
lea rcx, str.Windows_Settings
call fcn.1400a14c0
cmp byte [0x140780240], 0
je 0x140019f1e
mov rcx, qword [0x1407804d8]
mov esi, dword [rcx + 0x3f3c]
or esi, 4
mov dword [rcx + 0x3f3c], esi
lea rbx, [rcx + 0x4040]
mov eax, dword [rbx]
mov r8d, dword [rbx + 4]
cmp eax, r8d
jne 0x140019c83
lea ecx, [rax + 1]
test r8d, r8d
je 0x140019c6d
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
lea edi, [r8 + rax]
cmp edi, ecx
cmovg ecx, edi
mov edx, ecx
mov rcx, rbx
call fcn.1400baff0
mov rcx, qword [0x1407804d8]
movsxd rdx, dword [rbx]
mov rax, qword [rbx + 8]
mov dword [rax + rdx*4], esi
inc dword [rbx]
movss xmm1, dword [rcx + 0x37e0]
mulss xmm1, dword [0x1405734e8]
xor ecx, ecx
call fcn.1400a5040
movaps xmm1, xmm8
movaps xmm0, xmm7
call fcn.1400b3470
mov dword [rbp + 0x30], 0x42700000
mov dword [rbp + 0x34], 0x41a00000
lea rdx, [rbp + 0x30]
lea rcx, str.Enabled
call fcn.1400d6bf0
mov ecx, 1
call fcn.1400a50c0
mov rdx, qword [0x1407804d8]
movsxd rcx, dword [rdx + 0x4040]
lea eax, [rcx - 1]
mov dword [rdx + 0x4040], eax
mov rax, qword [rdx + 0x4048]
mov ecx, dword [rax + rcx*4 - 8]
mov dword [rdx + 0x3f3c], ecx
call fcn.1400a1690
mov rcx, qword [0x1407804d8]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
movss xmm1, dword [rax + 0x1c]
subss xmm1, dword [rax + 0x68]
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [rax + 0x64]
addss xmm1, dword [0x140573638]
addss xmm0, dword [0x1405736bc]
movss dword [rax + 0xe0], xmm0
movss dword [rax + 0xe4], xmm1
mov byte [rax + 0x121], 1
xorps xmm0, xmm0
movups xmmword [rbp + 8], xmm0
mov qword [rbp + 0x18], r12
mov qword [rbp + 0x20], r12
xor r8d, r8d
lea rdx, [0x14054357e]
lea rcx, [rbp + 8]
call fcn.140006600
lea rax, [rbp + 8]
mov qword [rbp], rax
lea rdx, [rbp + 8]
lea rcx, [rbp + 0x1c8]
call fcn.140022500
xorps xmm0, xmm0
unpcklps xmm0, xmm6
movsd qword [rbp + 0x1e8], xmm0
xorps xmm1, xmm1
unpcklps xmm1, xmm6
movsd qword [rbp + 0x1f0], xmm1
lea rcx, [rbp + 8]
call fcn.1400062c0
mov dword [rbp + 0x40], 0x433e0000
mov dword [rbp + 0x44], 0x42b40000
lea r9, [rbp + 0x1c8]
xor r8d, r8d
lea rdx, [rbp + 0x40]
lea rcx, str.Display_Settings
call fcn.1400a14c0
lea rdx, [0x140780549]
lea rcx, str.Max_Refresh_Rate
call fcn.1400d80d0
movabs rsi, 0x556d432f26461d38
mov rdi, 0xffffffffffffffff
movabs r14, 0x1443e4d279ae91a3
test al, al
je 0x14001a3a1
lea ecx, [rdi + 2]
call fcn.1402cf390
mov qword [rbp + 0x4f0], rax
lea rcx, [rbp + 0xe8]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r12d
mov r9, rax
lea r8, [0x140026a20]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbp + 0xe0], rax
test rax, rax
je 0x14001a72e
mov qword [rbp + 0x4f0], r12
cmp dword [rbp + 0xe8], 0
je 0x14001a722
movaps xmm0, xmmword [rbp + 0xe0]
movdqa xmmword [rbp + 0x140], xmm0
lea rcx, [rbp + 0x140]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
jne 0x14001a722
xorps xmm0, xmm0
movaps xmmword [rbp + 0x2d0], xmm0
movdqa xmmword [rbp + 0xe0], xmm0
cmp byte [0x140780549], al
je 0x14001a012
movabs rax, 0x1443e4d21cdbe3d7
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x110], rax
mov qword [rbp], rsi
mov rax, qword [rbp]
mov qword [rbp + 0x118], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x530], rax
mov qword [rbp], rsi
mov rax, qword [rbp]
mov qword [rbp + 0x538], rax
movdqa xmm0, xmmword [rbp + 0x110]
xorps xmm0, xmmword [rbp + 0x530]
movdqa xmmword [rbp + 0x110], xmm0
lea rdx, [rbp + 0x110]
jmp 0x14001a076
movaps xmm1, xmm8
movaps xmm0, xmm7
call fcn.1400b3470
mov dword [rbp + 0x30], 0x42700000
mov dword [rbp + 0x34], 0x41a00000
lea rdx, [rbp + 0x30]
lea rcx, str.Enable
call fcn.1400d6bf0
test al, al
je 0x140019d02
cmp byte [0x140780240], 0
jne 0x140019d02
mov ecx, 1
call fcn.1402cf390
mov qword [rbp + 0x310], rax
lea rcx, [rbp + 0xc8]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r12d
mov r9, rax
lea r8, [0x1400269e0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbp + 0xc0], rax
test rax, rax
je 0x140019fff
mov qword [rbp + 0x310], r12
cmp dword [rbp + 0xc8], 0
je 0x140019ff3
movaps xmm0, xmmword [rbp + 0xc0]
movdqa xmmword [rbp + 0x270], xmm0
lea rcx, [rbp + 0x270]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
jne 0x140019ff3
xorps xmm0, xmm0
movaps xmmword [rbp + 0x2f0], xmm0
movdqa xmmword [rbp + 0xc0], xmm0
cmp byte [0x140780240], al
sete byte [0x140780240]
jmp 0x140019d02
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov dword [rbp + 0xc8], r12d
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
movabs rax, 0x1443e4b70ac2f0c5
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x120], rax
mov qword [rbp], rsi
mov rax, qword [rbp]
mov qword [rbp + 0x128], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x500], rax
mov qword [rbp], rsi
mov rax, qword [rbp]
mov qword [rbp + 0x508], rax
movdqa xmm0, xmmword [rbp + 0x120]
xorps xmm0, xmmword [rbp + 0x500]
movdqa xmmword [rbp + 0x120], xmm0
lea rdx, [rbp + 0x120]
xorps xmm0, xmm0
movups xmmword [rbp + 0x318], xmm0
mov qword [rbp + 0x328], r12
mov qword [rbp + 0x330], r12
mov r8, rdi
inc r8
cmp byte [rdx + r8], 0
jne 0x14001a091
lea rcx, [rbp + 0x318]
call fcn.140006600
nop
mov ebx, dword [rbp + 0x328]
inc ebx
movabs rax, 0x462b97b70bc8f4d1
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x100], rax
movabs rax, 0x556d432f26236959
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x108], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x510], rax
mov qword [rbp], rsi
mov rax, qword [rbp]
mov qword [rbp + 0x518], rax
movdqa xmm0, xmmword [rbp + 0x100]
xorps xmm0, xmmword [rbp + 0x510]
movdqa xmmword [rbp + 0x100], xmm0
xorps xmm0, xmm0
movups xmmword [rbp + 0x188], xmm0
mov qword [rbp + 0x198], r12
mov qword [rbp + 0x1a0], r12
lea rax, [rbp + 0x100]
mov r8, rdi
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x14001a140
lea rdx, [rbp + 0x100]
lea rcx, [rbp + 0x188]
call fcn.140006600
nop
movabs rax, 0x571f89b70ddde8f0
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x200], rax
movabs rax, 0x3a2e374143346f4d
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x208], rax
movabs rax, 0xf2b753ccf3d4f46b
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x210], rax
movabs rax, 0x948e1b4bfbc66046
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x218], rax
movabs rax, 0x4e027f8884323be4
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x220], rax
movabs rcx, 0x3ccab34b428f600c
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x228], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x560], rax
mov qword [rbp], rsi
mov rax, qword [rbp]
mov qword [rbp + 0x568], rax
movabs rax, 0x86d200a09ca68005
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x570], rax
movabs rax, 0xf1ed723d89a3331a
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x578], rax
movabs rax, 0x4e024bbef4416797
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x580], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x588], rax
vmovdqu ymm0, ymmword [rbp + 0x200]
vpxor ymm1, ymm0, ymmword [rbp + 0x560]
vmovdqa ymmword [rbp + 0x200], ymm1
vmovdqa xmm0, xmmword [rbp + 0x220]
vxorps xmm0, xmm0, xmmword [rbp + 0x580]
vmovdqa xmmword [rbp + 0x220], xmm0
vxorps xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x168], xmm0
mov qword [rbp + 0x178], r12
mov qword [rbp + 0x180], r12
lea rax, [rbp + 0x200]
mov r8, rdi
vzeroupper
inc r8
cmp byte [rax + r8], 0
jne 0x14001a2c3
lea rdx, [rbp + 0x200]
lea rcx, [rbp + 0x168]
call fcn.140006600
lea rdx, [rbp + 0x168]
cmp qword [rbp + 0x180], 0xf
cmova rdx, qword [rbp + 0x168]
mov qword [rsp + 0x40], r12
lea rax, [rbp + 0x2c0]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 2
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x14001a37b
lea rdx, [rbp + 0x188]
cmp qword [rbp + 0x1a0], 0xf
cmova rdx, qword [rbp + 0x188]
mov dword [rsp + 0x28], ebx
lea rax, [rbp + 0x318]
mov qword [rsp + 0x20], rax
mov r9d, 1
xor r8d, r8d
mov rcx, qword [rbp + 0x2c0]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov rcx, qword [rbp + 0x2c0]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rcx, [rbp + 0x168]
call fcn.1400062c0
nop
lea rcx, [rbp + 0x188]
call fcn.1400062c0
nop
lea rcx, [rbp + 0x318]
call fcn.1400062c0
call fcn.1400a1690
mov rcx, qword [0x1407804d8]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
movss xmm1, dword [rax + 0x1c]
subss xmm1, dword [rax + 0x68]
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [rax + 0x64]
movss xmm7, dword [0x140573674]
addss xmm1, xmm7
addss xmm0, dword [0x140573640]
movss dword [rax + 0xe0], xmm0
movss dword [rax + 0xe4], xmm1
mov byte [rax + 0x121], 1
xorps xmm0, xmm0
movups xmmword [rbp + 0x1a8], xmm0
mov qword [rbp + 0x1b8], r12
mov qword [rbp + 0x1c0], r12
xor r8d, r8d
lea rdx, [0x14054357e]
lea rcx, [rbp + 0x1a8]
call fcn.140006600
lea rax, [rbp + 0x1a8]
mov qword [rbp], rax
lea rdx, [rbp + 0x1a8]
lea rcx, [rbp + 0x290]
call fcn.140022500
movaps xmm0, xmm6
unpcklps xmm0, xmm6
movsd qword [rbp + 0x160], xmm0
movsd qword [rbp + 0x2b0], xmm0
movaps xmm0, xmm6
unpcklps xmm0, xmm6
movsd qword [rbp + 0x50], xmm0
movsd qword [rbp + 0x2b8], xmm0
lea rcx, [rbp + 0x1a8]
call fcn.1400062c0
mov dword [rbp + 0x88], 0x43700000
mov dword [rbp + 0x8c], 0x432a0000
movabs rax, 0x343785bd15ccf4e7
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x130], rax
movabs rax, 0x5503224a4a053d1e
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x138], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x520], rax
mov qword [rbp], rsi
mov rax, qword [rbp]
mov qword [rbp + 0x528], rax
movdqa xmm0, xmmword [rbp + 0x130]
xorps xmm0, xmmword [rbp + 0x520]
movdqa xmmword [rbp + 0x130], xmm0
lea r9, [rbp + 0x290]
xor r8d, r8d
lea rdx, [rbp + 0x88]
lea rcx, [rbp + 0x130]
call fcn.1400a14c0
lea rax, str.Light_Clean
mov qword [rbp + 0x540], rax
lea rax, str.Medium_Clean
mov qword [rbp + 0x548], rax
lea rax, str.Heavy_Clean
mov qword [rbp + 0x550], rax
mov rcx, qword [0x1407804d8]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [rax + 0x64]
addss xmm0, xmm11
movss dword [rax + 0xe0], xmm0
mov byte [rax + 0x121], 1
mov dword [rsp + 0x20], 3
lea r9, [rbp + 0x540]
lea rdx, [0x14077a4ec]
lea rcx, str.Select_Strength
call fcn.1400da520
mov rcx, qword [0x1407804d8]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
cmp byte [rax + 0x9b], 0
jne 0x14001a5e1
mov qword [rbp + 0x78], 0
movaps xmm1, xmm8
lea rcx, [rbp + 0x78]
call fcn.1400b31d0
mov rcx, qword [0x1407804d8]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [rax + 0x64]
addss xmm0, dword [0x140573644]
movss dword [rax + 0xe0], xmm0
mov byte [rax + 0x121], 1
mov dword [rbp + 0x90], 0x42c80000
mov dword [rbp + 0x94], 0x41c80000
mov r15d, reloc.WS2_32.dll_ntohs
cmp byte [0x14078049f], 0
je 0x14001a741
xorps xmm0, xmm0
movups xmmword [rbp + 0x2f0], xmm0
mov qword [rbp + 0x300], r12
mov qword [rbp + 0x308], r12
lea r8d, [r15 - 6]
lea rdx, str.Cleaning
lea rcx, [rbp + 0x2f0]
call fcn.140006600
nop
mov rax, qword [0x1407804d8]
movsd xmm0, qword [rax + 0x3e08]
divsd xmm0, qword [0x140573540]
cvttsd2si r8d, xmm0
and r8d, 3
lea rax, [0x140544fcc]
movzx r8d, byte [r8 + rax]
lea edx, [r15 - 0xe]
lea rcx, [rbp + 8]
call fcn.1400223f0
nop
lea r8, [rbp + 0x2f0]
cmp qword [rbp + 0x308], r15
cmova r8, qword [rbp + 0x2f0]
mov r9, qword [rbp + 0x300]
xor edx, edx
mov rcx, rax
call fcn.140025aa0
xorps xmm0, xmm0
movups xmmword [rbp + 0x2d0], xmm0
mov qword [rbp + 0x2e0], r12
mov qword [rbp + 0x2e8], r12
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x2d0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x2e0], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], r15
mov byte [rax], 0
lea rcx, [rbp + 8]
call fcn.1400062c0
nop
lea rcx, [rbp + 0x2f0]
call fcn.1400062c0
jmp 0x14001a7de
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov dword [rbp + 0xe8], r12d
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
movabs rax, 0x5713c4bc18cbfde0
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xe0], rax
mov qword [rbp], rsi
mov rax, qword [rbp]
mov qword [rbp + 0xe8], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x4f0], rax
mov qword [rbp], rsi
mov rax, qword [rbp]
mov qword [rbp + 0x4f8], rax
movdqa xmm0, xmmword [rbp + 0xe0]
xorps xmm0, xmmword [rbp + 0x4f0]
movdqa xmmword [rbp + 0xe0], xmm0
xorps xmm0, xmm0
movups xmmword [rbp + 0x2d0], xmm0
mov qword [rbp + 0x2e0], r12
mov qword [rbp + 0x2e8], r12
lea rax, [rbp + 0xe0]
mov r8, rdi
inc r8
cmp byte [rax + r8], 0
jne 0x14001a7c0
lea rdx, [rbp + 0xe0]
lea rcx, [rbp + 0x2d0]
call fcn.140006600
nop
lea rcx, [rbp + 0x2d0]
cmp qword [rbp + 0x2e8], 0xf
cmova rcx, qword [rbp + 0x2d0]
lea rdx, [rbp + 0x90]
call fcn.1400d6bf0
movzx ebx, al
lea rcx, [rbp + 0x2d0]
call fcn.1400062c0
test bl, bl
je 0x14001a89a
mov ecx, 1
call fcn.1402cf390
mov qword [rbp + 0x4f0], rax
lea rcx, [rbp + 0xc8]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r12d
mov r9, rax
lea r8, [0x140026a60]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbp + 0xc0], rax
test rax, rax
je 0x14001b1f3
cmp dword [rbp + 0xc8], 0
je 0x14001b1e7
movaps xmm0, xmmword [rbp + 0xc0]
movdqa xmmword [rbp + 0x140], xmm0
lea rcx, [rbp + 0x140]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
jne 0x14001b1e7
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xc0], xmm0
call fcn.1400a1690
mov rcx, qword [0x1407804d8]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
movss xmm1, dword [rax + 0x1c]
subss xmm1, dword [rax + 0x68]
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [rax + 0x64]
addss xmm1, xmm7
addss xmm0, dword [0x1405736b8]
movss dword [rax + 0xe0], xmm0
movss dword [rax + 0xe4], xmm1
mov byte [rax + 0x121], 1
xorps xmm0, xmm0
movups xmmword [rbp + 8], xmm0
mov qword [rbp + 0x18], r12
mov qword [rbp + 0x20], r12
xor r8d, r8d
lea rdx, [0x14054357e]
lea rcx, [rbp + 8]
call fcn.140006600
lea rax, [rbp + 8]
mov qword [rbp + 0x50], rax
lea rdx, [rbp + 8]
lea rcx, [rbp + 0x1c8]
call fcn.140022500
movaps xmm0, xmm6
unpcklps xmm0, xmm6
movsd qword [rbp + 0x1e8], xmm0
movaps xmm1, xmm6
unpcklps xmm1, xmm6
movsd qword [rbp + 0x1f0], xmm1
lea rcx, [rbp + 8]
call fcn.1400062c0
mov dword [rbp + 0x40], 0x43700000
mov dword [rbp + 0x44], 0x432a0000
lea r9, [rbp + 0x1c8]
xor r8d, r8d
lea rdx, [rbp + 0x40]
lea rcx, str.Game_Optimizer
call fcn.1400a14c0
mov rbx, qword [0x14077a388]
lea r13, [0x14077a378]
cmp qword [reloc.WS2_32.dll_ntohs], 0xf
seta r14b
mov rcx, r13
mov rsi, qword [0x14077a378]
cmova rcx, rsi
mov qword [rsp + 0x20], 2
lea r9, [0x140543820]
mov rdx, rbx
call fcn.140024a40
lea rcx, [rax + 1]
xorps xmm0, xmm0
movups xmmword [rbp + 0x2d0], xmm0
mov qword [rbp + 0x2e0], r12
mov qword [rbp + 0x2e8], r12
cmp rbx, rcx
jb 0x14001b334
sub rbx, rcx
cmp rbx, 0xffffffffffffffff
cmovb rdi, rbx
mov rdx, r13
test r14b, r14b
cmovne rdx, rsi
add rdx, rcx
mov r8, rdi
lea rcx, [rbp + 0x2d0]
call fcn.140006600
nop
mov rcx, qword [0x1407804d8]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [rax + 0x64]
addss xmm0, xmm11
movss dword [rax + 0xe0], xmm0
mov byte [rax + 0x121], 1
mov dword [rbp + 0x30], 0x42f00000
mov dword [rbp + 0x34], 0x41b00000
mov rcx, r13
cmp qword [reloc.WS2_32.dll_ntohs], 0xf
cmova rcx, qword [0x14077a378]
mov qword [rsp + 0x20], 4
lea r9, str..exe
xor r8d, r8d
mov rdx, qword [0x14077a388]
call fcn.140024b20
lea rdx, str.Select_Game
lea rcx, str.Select_New_Game
cmp rax, 0xffffffffffffffff
cmove rcx, rdx
lea rdx, [rbp + 0x30]
call fcn.1400d6bf0
test al, al
je 0x14001ac52
xorps xmm0, xmm0
movups xmmword [rbp + 0x370], xmm0
mov qword [rbp + 0x388], r15
mov byte [rbp + 0x370], 0
movups xmmword [rbp + 0x390], xmm0
mov qword [rbp + 0x3a0], r12
mov qword [rbp + 0x3a8], r15
mov byte [rbp + 0x390], 0
movups xmmword [rbp + 0x3b0], xmm0
mov qword [rbp + 0x3c0], r12
mov qword [rbp + 0x3c8], r15
mov byte [rbp + 0x3b0], 0
mov dword [rbp + 0x3d0], 1
mov qword [rbp + 0x3d8], r12
mov dword [rbp + 0x3e0], r12d
mov qword [rbp + 0x420], r12
mov dword [rbp + 0x428], 0x437a0000
mov qword [rbp + 0x468], r12
lea rbx, [rbp + 0x370]
mov qword [rbp + 0x380], 3
mov r8d, 3
lea rdx, [0x140545500]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + 3], 0
call fcn.1400073a0
mov rdi, rax
mov rcx, qword [rax]
mov rbx, qword [rcx + 8]
xorps xmm0, xmm0
movups xmmword [rbp + 0x58], xmm0
mov qword [rbp + 0x68], r12
mov qword [rbp + 0x70], r12
mov r8d, reloc.WS2_32.dll_inet_addr
lea rdx, str.Choose_File
lea rcx, [rbp + 0x58]
call fcn.140006600
nop
xorps xmm0, xmm0
movups xmmword [rbp + 8], xmm0
mov qword [rbp + 0x18], r12
mov qword [rbp + 0x20], r12
mov r8d, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rdx, str.ChooseFileDlgKey
lea rcx, [rbp + 8]
call fcn.140006600
nop
lea rax, [rbp + 0x370]
mov qword [rsp + 0x20], rax
lea r9, str..exe
lea r8, [rbp + 0x58]
lea rdx, [rbp + 8]
mov rcx, rdi
call rbx
nop
lea rcx, [rbp + 8]
call fcn.1400062c0
nop
lea rcx, [rbp + 0x58]
call fcn.1400062c0
nop
mov rcx, qword [rbp + 0x468]
test rcx, rcx
je 0x14001ac08
mov rax, qword [rcx]
lea rdx, [rbp + 0x430]
cmp rcx, rdx
setne dl
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
mov qword [rbp + 0x468], r12
mov rcx, qword [rbp + 0x420]
test rcx, rcx
je 0x14001ac2e
mov rax, qword [rcx]
lea rdx, [rbp + 0x3e8]
cmp rcx, rdx
setne dl
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
mov qword [rbp + 0x420], r12
lea rcx, [rbp + 0x3b0]
call fcn.1400062c0
lea rcx, [rbp + 0x390]
call fcn.1400062c0
lea rcx, [rbp + 0x370]
call fcn.1400062c0
call fcn.1400073a0
mov rbx, rax
movss xmm7, dword [0x1405736f4]
movss xmm6, dword [0x140573680]
xorps xmm0, xmm0
movups xmmword [rbp + 8], xmm0
mov qword [rbp + 0x18], r12
mov qword [rbp + 0x20], r12
mov r8d, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rdx, str.ChooseFileDlgKey
lea rcx, [rbp + 8]
call fcn.140006600
nop
movaps xmm0, xmm7
unpcklps xmm0, xmm7
movsd qword [rsp + 0x20], xmm0
movss xmm1, dword [0x1405736b4]
unpcklps xmm1, xmm6
movq r9, xmm1
mov r8d, reloc.WLDAP32.dll_Ordinal_32
lea rdx, [rbp + 8]
mov rcx, rbx
call fcn.140045a40
movzx ebx, al
lea rcx, [rbp + 8]
call fcn.1400062c0
test bl, bl
je 0x14001af78
call fcn.1400073a0
cmp byte [rax + 0x182e], 0
je 0x14001af54
call fcn.1400073a0
xor r8d, r8d
lea rdx, [rbp + 8]
mov rcx, rax
call fcn.140048410
mov rdx, rax
mov rcx, r13
call fcn.140022330
lea rcx, [rbp + 8]
call fcn.1400062c0
call fcn.1400073a0
lea rcx, [rax + 0x10]
lea rdx, [rbp + 8]
call fcn.140043f70
lea rdx, [rbp + 8]
lea rcx, [0x14077a2d8]
call fcn.140022330
lea rcx, [rbp + 8]
call fcn.1400062c0
lea rax, [rbp + 0x2f0]
mov qword [rbp + 0x50], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x2f0], xmm0
mov qword [rbp + 0x300], r12
mov qword [rbp + 0x308], r12
xor r8d, r8d
lea rdx, [0x14054357e]
lea rcx, [rbp + 0x2f0]
call fcn.140006600
lea rax, [rbp + 0x2f0]
mov qword [rbp + 0x160], rax
lea rax, [rbp + 0x98]
mov qword [rbp], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x98], xmm0
mov qword [rbp + 0xa8], r12
mov qword [rbp + 0xb0], r12
xor r8d, r8d
lea rdx, [0x14054357e]
lea rcx, [rbp + 0x98]
call fcn.140006600
lea rax, [rbp + 0x98]
mov qword [rbp + 0x4f0], rax
lea rax, [rbp + 0x140]
mov qword [rbp + 0x310], rax
mov rdx, r13
lea rcx, [rbp + 0x140]
call fcn.140022500
mov r15, rax
mov qword [rbp + 0x90], rax
lea rax, [rbp + 0x58]
mov qword [rbp + 0x78], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x58], xmm0
mov qword [rbp + 0x68], r12
mov qword [rbp + 0x70], r12
mov r8d, 4
lea rdx, str.path
lea rcx, [rbp + 0x58]
call fcn.140006600
lea rax, [rbp + 0x58]
mov qword [rbp + 0x88], rax
xorps xmm0, xmm0
movups xmmword [rbp + 8], xmm0
mov qword [rbp + 0x18], r12
mov qword [rbp + 0x20], r12
mov r8d, reloc.WS2_32.dll_listen
lea rdx, str.settings.json
lea rcx, [rbp + 8]
call fcn.140006600
lea rax, [rbp + 8]
mov qword [rbp + 0x50], rax
lea rax, [rbp + 0x270]
mov qword [rbp], rax
lea rdx, [rbp + 0x2f0]
lea rcx, [rbp + 0x270]
call fcn.140022500
mov r14, rax
lea rax, [rbp + 0xe0]
mov qword [rbp + 0x310], rax
lea rdx, [rbp + 0x98]
lea rcx, [rbp + 0xe0]
call fcn.140022500
mov rsi, rax
lea rax, [rbp + 0xc0]
mov qword [rbp + 0x78], rax
mov rdx, r15
lea rcx, [rbp + 0xc0]
call fcn.140022500
mov rdi, rax
lea rax, [rbp + 0x240]
mov qword [rbp + 0x2c0], rax
lea rdx, [rbp + 0x58]
lea rcx, [rbp + 0x240]
call fcn.140022500
mov rbx, rax
lea rdx, [rbp + 8]
lea rcx, [rbp + 0x338]
call fcn.140022500
nop
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rsi
xor r9d, r9d
mov r8, rdi
mov rdx, rbx
mov rcx, rax
call fcn.1400e5000
nop
lea rcx, [rbp + 8]
call fcn.1400062c0
nop
lea rcx, [rbp + 0x58]
call fcn.1400062c0
nop
mov rcx, r15
call fcn.1400062c0
nop
lea rcx, [rbp + 0x98]
call fcn.1400062c0
nop
lea rcx, [rbp + 0x2f0]
call fcn.1400062c0
mov rax, qword [0x140780530]
mov byte [rax + 2], 0
xor r8d, r8d
mov rdx, r13
mov rcx, qword [0x140780530]
call fcn.140125f50
call fcn.1400073a0
lea rcx, [rax + 0x1838]
mov qword [rcx + 0x10], r12
cmp qword [rcx + 0x18], 0xf
jbe 0x14001af6e
mov rcx, qword [rcx]
mov byte [rcx], 0
mov byte [rax + 0x1818], 0
mov rcx, qword [0x1407804d8]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
cmp byte [rax + 0x9b], 0
jne 0x14001afb2
mov qword [rbp + 0x48], 0
movaps xmm1, xmm8
lea rcx, [rbp + 0x48]
call fcn.1400b31d0
mov rcx, r13
cmp qword [reloc.WS2_32.dll_ntohs], 0xf
cmova rcx, qword [0x14077a378]
mov qword [rsp + 0x20], 4
lea r9, str..exe
xor r8d, r8d
mov rdx, qword [0x14077a388]
call fcn.140024b20
cmp rax, 0xffffffffffffffff
je 0x14001b0fa
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x470], xmm0
movups xmmword [rbp + 0x480], xmm0
movups xmmword [rbp + 0x490], xmm0
movups xmmword [rbp + 0x4a0], xmm0
movups xmmword [rbp + 0x4b0], xmm0
movups xmmword [rbp + 0x4c0], xmm0
movups xmmword [rbp + 0x4d0], xmm0
mov qword [rbp + 0x4e0], rax
lea rcx, [rbp + 0x470]
call fcn.140020040
nop
lea r8, [rbp + 0x2d0]
cmp qword [rbp + 0x2e8], 0xf
cmova r8, qword [rbp + 0x2d0]
mov r9, qword [rbp + 0x2e0]
add r9, r8
lea rdx, [rbp + 0x338]
lea rcx, [rbp + 0x470]
call fcn.140022890
nop
lea rdx, [rbp + 0x2d0]
cmp qword [rbp + 0x2e8], 0xf
cmova rdx, qword [rbp + 0x2d0]
movups xmm0, xmmword [0x14077a4a8]
movups xmmword [rbp + 0x140], xmm0
lea rcx, [rbp + 0x140]
call fcn.1400d63e0
nop
lea rcx, [rbp + 0x338]
call fcn.1400232a0
nop
lea rax, vtable.std::wstring_convert_class_std::codecvt_utf8_utf16_wchar_t__1114111__0___wchar_t__class_std::allocator_wchar_t___class_std::allocator_char__.0
mov qword [rbp + 0x470], rax
lea rcx, [rbp + 0x4b0]
call fcn.1400232a0
lea rcx, [rbp + 0x490]
call fcn.1400062c0
mov rcx, qword [rbp + 0x488]
test rcx, rcx
je 0x14001b0fa
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
test rax, rax
je 0x14001b0fa
mov rcx, qword [rax]
mov r8, qword [rcx]
mov edx, 1
mov rcx, rax
call r8
mov rcx, qword [0x1407804d8]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
cmp byte [rax + 0x9b], 0
jne 0x14001b134
mov qword [rbp + 0x28], 0
movaps xmm1, xmm8
lea rcx, [rbp + 0x28]
call fcn.1400b31d0
mov rcx, r13
cmp qword [reloc.WS2_32.dll_ntohs], 0xf
cmova rcx, qword [0x14077a378]
mov qword [rsp + 0x20], 4
lea r9, str..exe
xor r8d, r8d
mov rdx, qword [0x14077a388]
call fcn.140024b20
cmp rax, 0xffffffffffffffff
je 0x14001b19b
mov rdx, qword [0x140780530]
add rdx, 2
lea rcx, str.Aggressive_Optimizations
call fcn.1400d80d0
test al, al
je 0x14001b19b
mov rcx, qword [0x140780530]
movzx r8d, byte [rcx + 2]
mov rdx, r13
call fcn.140125f50
mov rcx, qword [0x1407804d8]
mov r8, qword [rcx + 0x3e90]
cmp byte [rcx + 0x40db], 0
je 0x14001b206
cmp byte [rcx + 0x40da], 0
jne 0x14001b206
test byte [rcx + 0x3f58], 4
jne 0x14001b2df
mov eax, dword [rcx + 0x40a0]
cmp eax, dword [rcx + 0x3f54]
jne 0x14001b2df
test eax, eax
je 0x14001b2df
jmp 0x14001b2d2
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov dword [rbp + 0xc8], r12d
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov eax, dword [rcx + 0x3f5c]
test al, 1
je 0x14001b2df
cmp qword [rcx + 0x3e98], r8
je 0x14001b225
test al, al
jns 0x14001b2df
mov eax, dword [rcx + 0x3edc]
test eax, eax
je 0x14001b24a
cmp eax, dword [rcx + 0x3f54]
je 0x14001b24a
cmp byte [rcx + 0x3ee9], 0
jne 0x14001b24a
cmp eax, dword [r8 + 0x5c]
jne 0x14001b2df
mov rax, qword [0x1407804d8]
mov rdx, qword [rax + 0x4098]
test rdx, rdx
je 0x14001b2b3
mov rdx, qword [rdx + 0x360]
test rdx, rdx
je 0x14001b2b3
cmp byte [rdx + 0x97], 0
je 0x14001b2b3
mov rax, qword [r8 + 0x360]
cmp rdx, rax
je 0x14001b2b3
mov r9d, dword [rdx + 0xc]
bt r9d, 0x1b
jb 0x14001b290
bt r9d, 0x1a
jae 0x14001b2b3
cmp qword [rax + 0x360], rdx
je 0x14001b2b3
nop dword [rax]
cmp rax, rdx
je 0x14001b2b3
mov rax, qword [rax + 0x358]
test rax, rax
jne 0x14001b2a0
jmp 0x14001b2df
test byte [rcx + 0x3f58], 4
jne 0x14001b2df
mov eax, dword [r8 + 0x5c]
cmp dword [rcx + 0x3f54], eax
jne 0x14001b2d2
cmp byte [r8 + 0x98], 0
jne 0x14001b2df
lea rcx, str.Note:_Alt_Tab_will_take_longer
call fcn.1400b43e0
nop
lea rcx, [rbp + 0x2d0]
call fcn.1400062c0
call fcn.1400a1690
mov rcx, qword [rbp + 0x5a0]
xor rcx, rsp
call fcn.1402cf370
lea r11, [rsp + 0x660]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm11, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140023ad0
int3