Function at 0x140018570
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 [0x140726340]
xor rax, rsp
mov qword [rbp + 0x5a0], rax
xor r12d, r12d
mov rcx, qword [0x14077c4d8]
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.1400a6660
mov rcx, qword [0x14077c4d8]
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 [0x14056f524]
addss xmm0, dword [0x14056f52c]
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, [0x14053f56e]
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.140021190
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.14009fd70
lea edi, [r12 + 8]
cmp byte [0x14077c27e], r12b
je 0x1400187ef
mov rdx, qword [0x14077c4d8]
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 0x140018754
inc r8d
test ecx, ecx
je 0x140018739
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x14001873b
mov eax, edi
cmp eax, r8d
cmovg r8d, eax
mov edx, r8d
mov rcx, rbx
call fcn.1400b98a0
mov rdx, qword [0x14077c4d8]
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 [0x14056f3d8]
xor ecx, ecx
call fcn.1400a38f0
movss xmm8, dword [0x14056f5f0]
movaps xmm1, xmm8
movss xmm7, dword [0x14056f508]
movaps xmm0, xmm7
call fcn.1400b1d20
movss xmm11, dword [0x14056f528]
mov dword [rbp + 0x28], 0x42700000
mov dword [rbp + 0x2c], 0x41a00000
lea rdx, [rbp + 0x28]
lea rcx, str.Enabled
call fcn.1400d54a0
mov ecx, 1
call fcn.1400a3970
mov rdx, qword [0x14077c4d8]
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 0x140018851
movss xmm8, dword [0x14056f5f0]
movaps xmm1, xmm8
movss xmm7, dword [0x14056f508]
movaps xmm0, xmm7
call fcn.1400b1d20
movss xmm11, dword [0x14056f528]
mov dword [rbp + 0x28], 0x42700000
mov dword [rbp + 0x2c], 0x41a00000
lea rdx, [rbp + 0x28]
lea rcx, str.Enable
call fcn.1400d54a0
test al, al
je 0x140018851
mov rcx, qword [0x14077c530]
call fcn.1400f4e60
cmp byte [0x14077c27e], 0
sete byte [0x14077c27e]
call fcn.14009ff40
mov rcx, qword [0x14077c4d8]
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 [0x14056f524]
addss xmm0, dword [0x14056f574]
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, [0x14053f56e]
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.140021190
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.14009fd70
cmp byte [0x14077c240], 0
je 0x140018c2e
mov rcx, qword [0x14077c4d8]
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 0x140018993
lea ecx, [rax + 1]
test r8d, r8d
je 0x14001897d
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.1400b98a0
mov rcx, qword [0x14077c4d8]
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 [0x14056f3d8]
xor ecx, ecx
call fcn.1400a38f0
movaps xmm1, xmm8
movaps xmm0, xmm7
call fcn.1400b1d20
mov dword [rbp + 0x30], 0x42700000
mov dword [rbp + 0x34], 0x41a00000
lea rdx, [rbp + 0x30]
lea rcx, str.Enabled
call fcn.1400d54a0
mov ecx, 1
call fcn.1400a3970
mov rdx, qword [0x14077c4d8]
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.14009ff40
mov rcx, qword [0x14077c4d8]
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 [0x14056f524]
addss xmm0, dword [0x14056f5a8]
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, [0x14053f56e]
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.140021190
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.14009fd70
lea rdx, [0x14077c549]
lea rcx, str.Max_Refresh_Rate
call fcn.1400d6980
movabs rsi, 0xa7cef4eb5823ef28
mov rdi, 0xffffffffffffffff
movabs r14, 0xe2fe1ebe4d8024b3
test al, al
je 0x1400190b1
lea ecx, [rdi + 2]
call fcn.1402cbf30
mov qword [rbp + 0x4f0], rax
lea rcx, [rbp + 0xe8]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r12d
mov r9, rax
lea r8, [0x140025590]
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 0x14001943e
mov qword [rbp + 0x4f0], r12
cmp dword [rbp + 0xe8], 0
je 0x140019432
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 0x140019432
xorps xmm0, xmm0
movaps xmmword [rbp + 0x2d0], xmm0
movdqa xmmword [rbp + 0xe0], xmm0
cmp byte [0x14077c549], al
je 0x140018d22
movabs rax, 0xe2fe1ebe28f556c7
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 0x140018d86
movaps xmm1, xmm8
movaps xmm0, xmm7
call fcn.1400b1d20
mov dword [rbp + 0x30], 0x42700000
mov dword [rbp + 0x34], 0x41a00000
lea rdx, [rbp + 0x30]
lea rcx, str.Enable
call fcn.1400d54a0
test al, al
je 0x140018a12
cmp byte [0x14077c240], 0
jne 0x140018a12
mov ecx, 1
call fcn.1402cbf30
mov qword [rbp + 0x310], rax
lea rcx, [rbp + 0xc8]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r12d
mov r9, rax
lea r8, [0x140025550]
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 0x140018d0f
mov qword [rbp + 0x310], r12
cmp dword [rbp + 0xc8], 0
je 0x140018d03
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 0x140018d03
xorps xmm0, xmm0
movaps xmmword [rbp + 0x2f0], xmm0
movdqa xmmword [rbp + 0xc0], xmm0
cmp byte [0x14077c240], al
sete byte [0x14077c240]
jmp 0x140018a12
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, 0xe2fe1edb3eec45d5
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 0x140018da1
lea rcx, [rbp + 0x318]
call fcn.140006600
nop
mov ebx, dword [rbp + 0x328]
inc ebx
movabs rax, 0xb0966ddb3fe641c1
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x100], rax
movabs rax, 0xa7cef4eb58469b49
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 0x140018e50
lea rdx, [rbp + 0x100]
lea rcx, [rbp + 0x188]
call fcn.140006600
nop
movabs rax, 0xa1a273db39f35de0
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x200], rax
movabs rax, 0xc88d80853d519d5d
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x208], rax
movabs rax, 0x5082a1388a812a1b
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x210], rax
movabs rax, 0x3d26117f674341de
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x218], rax
movabs rax, 0x93aed3f4b2a74004
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x220], rax
movabs rcx, 0xe851cf6f7e8f5aac
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, 0x24e7f254e5f35e75
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x570], rax
movabs rax, 0x5845780915261282
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x578], rax
movabs rax, 0x93aee7c2c2d41c77
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 0x140018fd3
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 0x14001908b
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.14009ff40
mov rcx, qword [0x14077c4d8]
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 [0x14056f560]
addss xmm1, xmm7
addss xmm0, dword [0x14056f52c]
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, [0x14053f56e]
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.140021190
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, 0xc28a7fd121e241f7
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x130], rax
movabs rax, 0xa7a0958e3460cf0e
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.14009fd70
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 [0x14077c4d8]
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, [0x1407764ec]
lea rcx, str.Select_Strength
call fcn.1400d8dd0
mov rcx, qword [0x14077c4d8]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
cmp byte [rax + 0x9b], 0
jne 0x1400192f1
mov qword [rbp + 0x78], 0
movaps xmm1, xmm8
lea rcx, [rbp + 0x78]
call fcn.1400b1a80
mov rcx, qword [0x14077c4d8]
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 [0x14056f530]
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 [0x14077c49f], 0
je 0x140019451
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 [0x14077c4d8]
movsd xmm0, qword [rax + 0x3e08]
divsd xmm0, qword [0x14056f430]
cvttsd2si r8d, xmm0
and r8d, 3
lea rax, [0x140540fbc]
movzx r8d, byte [r8 + rax]
lea edx, [r15 - 0xe]
lea rcx, [rbp + 8]
call fcn.140021080
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.140024690
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 0x1400194ee
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, 0xa1ae3ed02ce548f0
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 0x1400194d0
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.1400d54a0
movzx ebx, al
lea rcx, [rbp + 0x2d0]
call fcn.1400062c0
test bl, bl
je 0x1400195aa
mov ecx, 1
call fcn.1402cbf30
mov qword [rbp + 0x4f0], rax
lea rcx, [rbp + 0xc8]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r12d
mov r9, rax
lea r8, [0x1400255d0]
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 0x140019f03
cmp dword [rbp + 0xc8], 0
je 0x140019ef7
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 0x140019ef7
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xc0], xmm0
call fcn.14009ff40
mov rcx, qword [0x14077c4d8]
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 [0x14056f5a4]
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, [0x14053f56e]
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.140021190
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.14009fd70
mov rbx, qword [0x140776388]
lea r13, [0x140776378]
cmp qword [reloc.WS2_32.dll_ntohs], 0xf
seta r14b
mov rcx, r13
mov rsi, qword [0x140776378]
cmova rcx, rsi
mov qword [rsp + 0x20], 2
lea r9, [0x14053f810]
mov rdx, rbx
call fcn.140023640
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 0x14001a044
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 [0x14077c4d8]
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 [0x140776378]
mov qword [rsp + 0x20], 4
lea r9, str..exe
xor r8d, r8d
mov rdx, qword [0x140776388]
call fcn.140023720
lea rdx, str.Select_Game
lea rcx, str.Select_New_Game
cmp rax, 0xffffffffffffffff
cmove rcx, rdx
lea rdx, [rbp + 0x30]
call fcn.1400d54a0
test al, al
je 0x140019962
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, [0x1405414a0]
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 0x140019918
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 0x14001993e
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 [0x14056f5e0]
movss xmm6, dword [0x14056f56c]
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 [0x14056f5a0]
unpcklps xmm1, xmm6
movq r9, xmm1
mov r8d, reloc.WLDAP32.dll_Ordinal_32
lea rdx, [rbp + 8]
mov rcx, rbx
call fcn.140044650
movzx ebx, al
lea rcx, [rbp + 8]
call fcn.1400062c0
test bl, bl
je 0x140019c88
call fcn.1400073a0
cmp byte [rax + 0x182e], 0
je 0x140019c64
call fcn.1400073a0
xor r8d, r8d
lea rdx, [rbp + 8]
mov rcx, rax
call fcn.140047020
mov rdx, rax
mov rcx, r13
call fcn.140020fc0
lea rcx, [rbp + 8]
call fcn.1400062c0
call fcn.1400073a0
lea rcx, [rax + 0x10]
lea rdx, [rbp + 8]
call fcn.140042b80
lea rdx, [rbp + 8]
lea rcx, [0x1407762d8]
call fcn.140020fc0
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, [0x14053f56e]
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, [0x14053f56e]
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.140021190
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.140021190
mov r14, rax
lea rax, [rbp + 0xe0]
mov qword [rbp + 0x310], rax
lea rdx, [rbp + 0x98]
lea rcx, [rbp + 0xe0]
call fcn.140021190
mov rsi, rax
lea rax, [rbp + 0xc0]
mov qword [rbp + 0x78], rax
mov rdx, r15
lea rcx, [rbp + 0xc0]
call fcn.140021190
mov rdi, rax
lea rax, [rbp + 0x240]
mov qword [rbp + 0x2c0], rax
lea rdx, [rbp + 0x58]
lea rcx, [rbp + 0x240]
call fcn.140021190
mov rbx, rax
lea rdx, [rbp + 8]
lea rcx, [rbp + 0x338]
call fcn.140021190
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.1400e38b0
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 [0x14077c530]
mov byte [rax + 2], 0
xor r8d, r8d
mov rdx, r13
mov rcx, qword [0x14077c530]
call fcn.140122af0
call fcn.1400073a0
lea rcx, [rax + 0x1838]
mov qword [rcx + 0x10], r12
cmp qword [rcx + 0x18], 0xf
jbe 0x140019c7e
mov rcx, qword [rcx]
mov byte [rcx], 0
mov byte [rax + 0x1818], 0
mov rcx, qword [0x14077c4d8]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
cmp byte [rax + 0x9b], 0
jne 0x140019cc2
mov qword [rbp + 0x48], 0
movaps xmm1, xmm8
lea rcx, [rbp + 0x48]
call fcn.1400b1a80
mov rcx, r13
cmp qword [reloc.WS2_32.dll_ntohs], 0xf
cmova rcx, qword [0x140776378]
mov qword [rsp + 0x20], 4
lea r9, str..exe
xor r8d, r8d
mov rdx, qword [0x140776388]
call fcn.140023720
cmp rax, 0xffffffffffffffff
je 0x140019e0a
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.14001ece0
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.140021520
nop
lea rdx, [rbp + 0x2d0]
cmp qword [rbp + 0x2e8], 0xf
cmova rdx, qword [rbp + 0x2d0]
movups xmm0, xmmword [0x1407764a8]
movups xmmword [rbp + 0x140], xmm0
lea rcx, [rbp + 0x140]
call fcn.1400d4c90
nop
lea rcx, [rbp + 0x338]
call fcn.140021ea0
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.140021ea0
lea rcx, [rbp + 0x490]
call fcn.1400062c0
mov rcx, qword [rbp + 0x488]
test rcx, rcx
je 0x140019e0a
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
test rax, rax
je 0x140019e0a
mov rcx, qword [rax]
mov r8, qword [rcx]
mov edx, 1
mov rcx, rax
call r8
mov rcx, qword [0x14077c4d8]
mov rax, qword [rcx + 0x3e90]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3e90]
cmp byte [rax + 0x9b], 0
jne 0x140019e44
mov qword [rbp + 0x28], 0
movaps xmm1, xmm8
lea rcx, [rbp + 0x28]
call fcn.1400b1a80
mov rcx, r13
cmp qword [reloc.WS2_32.dll_ntohs], 0xf
cmova rcx, qword [0x140776378]
mov qword [rsp + 0x20], 4
lea r9, str..exe
xor r8d, r8d
mov rdx, qword [0x140776388]
call fcn.140023720
cmp rax, 0xffffffffffffffff
je 0x140019eab
mov rdx, qword [0x14077c530]
add rdx, 2
lea rcx, str.Aggressive_Optimizations
call fcn.1400d6980
test al, al
je 0x140019eab
mov rcx, qword [0x14077c530]
movzx r8d, byte [rcx + 2]
mov rdx, r13
call fcn.140122af0
mov rcx, qword [0x14077c4d8]
mov r8, qword [rcx + 0x3e90]
cmp byte [rcx + 0x40db], 0
je 0x140019f16
cmp byte [rcx + 0x40da], 0
jne 0x140019f16
test byte [rcx + 0x3f58], 4
jne 0x140019fef
mov eax, dword [rcx + 0x40a0]
cmp eax, dword [rcx + 0x3f54]
jne 0x140019fef
test eax, eax
je 0x140019fef
jmp 0x140019fe2
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 0x140019fef
cmp qword [rcx + 0x3e98], r8
je 0x140019f35
test al, al
jns 0x140019fef
mov eax, dword [rcx + 0x3edc]
test eax, eax
je 0x140019f5a
cmp eax, dword [rcx + 0x3f54]
je 0x140019f5a
cmp byte [rcx + 0x3ee9], 0
jne 0x140019f5a
cmp eax, dword [r8 + 0x5c]
jne 0x140019fef
mov rax, qword [0x14077c4d8]
mov rdx, qword [rax + 0x4098]
test rdx, rdx
je 0x140019fc3
mov rdx, qword [rdx + 0x360]
test rdx, rdx
je 0x140019fc3
cmp byte [rdx + 0x97], 0
je 0x140019fc3
mov rax, qword [r8 + 0x360]
cmp rdx, rax
je 0x140019fc3
mov r9d, dword [rdx + 0xc]
bt r9d, 0x1b
jb 0x140019fa0
bt r9d, 0x1a
jae 0x140019fc3
cmp qword [rax + 0x360], rdx
je 0x140019fc3
nop dword [rax]
cmp rax, rdx
je 0x140019fc3
mov rax, qword [rax + 0x358]
test rax, rax
jne 0x140019fb0
jmp 0x140019fef
test byte [rcx + 0x3f58], 4
jne 0x140019fef
mov eax, dword [r8 + 0x5c]
cmp dword [rcx + 0x3f54], eax
jne 0x140019fe2
cmp byte [r8 + 0x98], 0
jne 0x140019fef
lea rcx, str.Note:_Alt_Tab_will_take_longer
call fcn.1400b2c90
nop
lea rcx, [rbp + 0x2d0]
call fcn.1400062c0
call fcn.14009ff40
mov rcx, qword [rbp + 0x5a0]
xor rcx, rsp
call fcn.1402cbf10
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.1400226d0
int3