Function at 0x140014080
Capabilities:
Access peb ldr_data
Create thread
Encode data using xor
Hash data using fnv
Query or enumerate registry value
Resolve function by parsing pe exports

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, 0x570
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
lea rbp, [rsp + 0x50]
and rbp, 0xffffffffffffffe0
mov rax, qword [0x1400ba040]
xor rax, rsp
mov qword [rbp + 0x4f0], rax
xor r15d, r15d
mov rdx, qword [0x14022e920]
mov rcx, qword [0x14022d9b0]
test rdx, rdx
jne 0x140014132
test rcx, rcx
je 0x140014118
cmp dword [0x14022d804], r15d
je 0x140014118
mov qword [rsp + 0x20], r15
mov r9d, 8
lea r8, [rbp + 0x100]
mov rdx, qword [0x14022e7b0]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x14022d9b0]
test eax, eax
je 0x140014118
mov rdx, qword [rbp + 0x100]
jmp 0x140014122
mov rdx, r15
mov qword [rbp + 0x100], rdx
mov qword [0x14022e920], rdx
test rdx, rdx
je 0x140016139
test rcx, rcx
je 0x140014170
cmp dword [0x14022d804], r15d
je 0x140014170
add rdx, 8
mov qword [rsp + 0x20], r15
mov r9d, 8
lea r8, [rbp + 0xf8]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x14022d9b0]
test eax, eax
je 0x140014170
mov rax, qword [rbp + 0xf8]
jmp 0x14001417a
mov rax, r15
mov qword [rbp + 0xf8], rax
mov qword [0x14022e928], rax
test rax, rax
je 0x140016139
mov rdx, qword [0x14022e930]
test rdx, rdx
jne 0x1400141f1
test rcx, rcx
je 0x1400141d7
cmp dword [0x14022d804], r15d
je 0x1400141d7
mov qword [rsp + 0x20], r15
mov r9d, 8
lea r8, [rbp + 0x140]
mov rdx, qword [0x14022e7b8]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x14022d9b0]
test eax, eax
je 0x1400141d7
mov rdx, qword [rbp + 0x140]
jmp 0x1400141e1
mov rdx, r15
mov qword [rbp + 0x140], rdx
mov qword [0x14022e930], rdx
test rdx, rdx
je 0x140016139
cmp qword [0x14022e938], r15
jne 0x140014263
test rdx, rdx
jne 0x14001420b
mov qword [0x14022e938], r15
jmp 0x140016139
test rcx, rcx
je 0x140014249
cmp dword [0x14022d804], r15d
je 0x140014249
add rdx, 0x18
mov qword [rsp + 0x20], r15
mov r9d, 8
lea r8, [rbp + 0x148]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x14022d9b0]
test eax, eax
je 0x140014249
mov rax, qword [rbp + 0x148]
jmp 0x140014253
mov rax, r15
mov qword [rbp + 0x148], rax
mov qword [0x14022e938], rax
test rax, rax
je 0x140016139
cmp qword [0x14022e940], r15
jne 0x1400142c0
test rcx, rcx
je 0x1400142a6
cmp dword [0x14022d804], r15d
je 0x1400142a6
mov qword [rsp + 0x20], r15
mov r9d, 8
lea r8, [rbp + 0x150]
mov rdx, qword [0x14022e7c8]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x1400142a6
mov rax, qword [rbp + 0x150]
jmp 0x1400142b0
mov rax, r15
mov qword [rbp + 0x150], rax
mov qword [0x14022e940], rax
test rax, rax
je 0x140016139
lea rcx, [0x14022e950]
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x1400142dd
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov eax, dword [0x14022e99c]
cmp eax, 0x7fffffff
jne 0x1400142fe
dec eax
mov dword [0x14022e99c], eax
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov rbx, qword [0x14022e9a0]
mov rdi, qword [0x14022e9a8]
cmp rbx, rdi
je 0x140014336
mov rcx, rbx
call fcn.14000bd70
add rbx, 0x88
cmp rbx, rdi
jne 0x140014311
mov rbx, qword [0x14022e9a0]
mov rdi, rbx
mov qword [0x14022e9a8], rbx
cmp rdi, qword [0x14022e9b0]
je 0x14001437d
lea rcx, [0x14022e9a0]
cmp rbx, rdi
jne 0x140014352
call fcn.140009e40
jmp 0x14001437d
sub rdi, rbx
movabs rax, 0x7878787878787879
imul rdi
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov qword [rbp + 0x60], rdx
lea rdx, [rbp + 0x60]
call fcn.14001e350
mov rdi, r15
movabs rsi, 0x100000001b3
movabs r12, 0xcbf29ce484222325
movabs r13, 0x81d4a8db36d880ef
lea r14, [0x140000000]
xorps xmm6, xmm6
movss xmm7, dword [0x1400a9234]
mov rcx, qword [0x14022e938]
test rcx, rcx
jne 0x1400143c1
mov rax, r15
jmp 0x1400143cd
add rcx, 0x110
call fcn.14001dcd0
cmp rdi, rax
jae 0x140014e16
mov rcx, qword [0x14022e938]
test rcx, rcx
je 0x140014e00
add rcx, 0x100
call fcn.14001dcd0
test rax, rax
je 0x140014e00
mov r10, qword [0x14022d9b0]
test r10, r10
je 0x14001444a
cmp dword [0x14022d804], 0
je 0x14001444a
mov ecx, edi
shl ecx, 4
movsxd rdx, ecx
add rdx, rax
mov qword [rsp + 0x20], r15
mov r9d, 8
lea r8, [rbp + 0x150]
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov r10, qword [0x14022d9b0]
test eax, eax
je 0x14001444a
mov rdx, qword [rbp + 0x150]
jmp 0x140014454
mov rdx, r15
mov qword [rbp + 0x150], rdx
mov qword [rbp + 0x100], rdx
test rdx, rdx
je 0x140014e07
test r10, r10
je 0x1400144a6
cmp dword [0x14022d804], 0
je 0x1400144a6
add rdx, 0x280
mov qword [rsp + 0x20], r15
mov r9d, 4
lea r8, [rbp + 0x148]
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, qword [rbp + 0x100]
mov r10, qword [0x14022d9b0]
test eax, eax
jne 0x1400144ad
mov qword [rbp + 0x148], r15
comiss xmm6, dword [rbp + 0x148]
jae 0x140014e07
test rdx, rdx
jne 0x1400144d3
movaps xmm0, xmm6
movss dword [rbp + 0x160], xmm6
mov qword [rbp + 0x164], rdx
jmp 0x14001451d
test r10, r10
je 0x140014511
cmp dword [0x14022d804], 0
je 0x140014511
add rdx, 0x90
mov qword [rsp + 0x20], r15
mov r9d, 0xc
lea r8, [rbp + 0x160]
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x140014511
movss xmm0, dword [rbp + 0x160]
jmp 0x14001451d
mov qword [rbp + 0x160], r15
movd xmm0, r15d
movss xmm2, dword [rbp + 0x168]
addss xmm2, xmm7
movss xmm1, dword [rbp + 0x164]
unpcklps xmm0, xmm1
movsd qword [rbp + 0x30], xmm0
movss dword [rbp + 0x38], xmm2
lea r8, [rbp + 0x30]
lea rdx, [rbp + 0x50]
lea rcx, [0x14022e710]
call fcn.1400162e0
mov r8, qword [rbp + 0x100]
movzx edx, r8b
xor rdx, r12
imul rdx, rsi
movzx eax, byte [rbp + 0x101]
xor rdx, rax
imul rdx, rsi
movzx eax, byte [rbp + 0x102]
xor rdx, rax
imul rdx, rsi
movzx eax, byte [rbp + 0x103]
xor rdx, rax
imul rdx, rsi
movzx eax, byte [rbp + 0x104]
xor rdx, rax
imul rdx, rsi
movzx eax, byte [rbp + 0x105]
xor rdx, rax
imul rdx, rsi
movzx eax, byte [rbp + 0x106]
xor rdx, rax
imul rdx, rsi
movzx eax, byte [rbp + 0x107]
xor rdx, rax
imul rdx, rsi
and rdx, qword [0x14022e9e8]
mov rax, rdx
add rax, rax
mov r10, qword [0x14022e9d0]
mov rcx, qword [r10 + rax*8 + 8]
mov r9, qword [0x14022e9c0]
cmp rcx, r9
je 0x140014609
add rdx, rdx
mov rax, qword [r10 + rdx*8]
cmp r8, qword [rcx + 0x10]
je 0x14001460c
cmp rcx, rax
je 0x140014609
mov rcx, qword [rcx + 8]
cmp r8, qword [rcx + 0x10]
jne 0x1400145f8
jmp 0x14001460c
mov rcx, r15
mov rax, r9
test rcx, rcx
cmovne rax, rcx
cmp rax, r9
jne 0x1400148b5
xorps xmm0, xmm0
movups xmmword [rbp + 0x88], xmm0
mov qword [rbp + 0x98], r15
mov qword [rbp + 0xa0], 0xf
mov byte [rbp + 0x88], 0
lea rax, [rbp + 0xa8]
mov qword [rbp + 0x58], rax
mov dword [rbp + 0xf8], 0
mov eax, dword [rbp + 0xf8]
mov dword [rbp + 0xa8], eax
mov qword [rbp + 0xb0], r15
mov qword [rbp + 0xb8], r15
mov ecx, 0x18
call fcn.140098ef0
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp + 0xb0], rax
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xd0], r15
mov qword [rbp + 0xd8], 7
mov qword [rbp + 0xe0], 8
mov dword [rbp + 0xa8], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [rbp + 0xc0]
call fcn.14000a020
nop
mov r8, qword [rbp + 0x100]
mov qword [rbp + 0x70], r8
mov dword [rbp + 0x78], edi
cmp r8, qword [0x14022e928]
sete byte [rbp + 0x80]
mov rcx, qword [0x14022d9b0]
test r8, r8
je 0x140014a92
mov rdx, qword [0x14022d7d0]
add rdx, r8
test rcx, rcx
je 0x140014747
cmp dword [0x14022d804], 0
je 0x140014747
mov qword [rsp + 0x20], r15
mov r9d, 4
lea r8, [rbp + 0x140]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov r8, qword [rbp + 0x100]
mov rcx, qword [0x14022d9b0]
test eax, eax
je 0x140014747
mov rax, qword [rbp + 0x140]
jmp 0x140014751
mov rax, r15
mov qword [rbp + 0x140], rax
test eax, eax
je 0x140014a92
and eax, 0x1fc000
cmp eax, 0x8000
je 0x140014a92
mov byte [rbp + 0x81], 1
mov dword [rbp + 0x7c], 0xffffffff
lea r8, [rbp + 0x100]
lea rdx, [rbp + 0x280]
lea rcx, [0x14022e9b8]
call fcn.14001e040
mov rbx, qword [rax]
mov rax, qword [rbp + 0x70]
mov qword [rbx + 0x18], rax
mov eax, dword [rbp + 0x78]
mov dword [rbx + 0x20], eax
mov eax, dword [rbp + 0x7c]
mov dword [rbx + 0x24], eax
movzx eax, byte [rbp + 0x80]
mov byte [rbx + 0x28], al
movzx eax, byte [rbp + 0x81]
mov byte [rbx + 0x29], al
lea rcx, [rbx + 0x30]
lea rax, [rbp + 0x88]
cmp rcx, rax
je 0x1400147ef
lea rdx, [rbp + 0x88]
cmp qword [rbp + 0xa0], 0xf
cmova rdx, qword [rbp + 0x88]
mov r8, qword [rbp + 0x98]
call fcn.14001d0a0
add rbx, 0x50
lea rax, [rbp + 0xa8]
cmp rbx, rax
je 0x14001484f
mov qword [rbp + 0xf8], rbx
mov eax, dword [rbp + 0xa8]
mov dword [rbx], eax
lea rcx, [rbx + 8]
mov rdx, qword [rbp + 0xb0]
mov r8, rdx
mov rdx, qword [rdx]
call fcn.14001eac0
mov rdx, qword [rbx + 0x10]
mov rcx, rbx
call fcn.14001d730
mov rdx, rax
mov rcx, rbx
call fcn.14001d580
mov qword [rbp + 0xf8], r15
lea rcx, [rbp + 0xf8]
call fcn.14001d240
nop
lea rcx, [rbp + 0xa8]
call fcn.14000bde0
mov rdx, qword [rbp + 0xa0]
cmp rdx, 0xf
jbe 0x14001489c
inc rdx
mov rcx, qword [rbp + 0x88]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140014897
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140014e0f
call fcn.140098d40
mov qword [rbp + 0x98], r15
mov qword [rbp + 0xa0], 0xf
mov byte [rbp + 0x88], 0
lea rcx, [rbp + 0x190]
call fcn.1400161d0
nop
lea r8, [rbp + 0x100]
lea rdx, [rbp + 0x220]
lea rcx, [0x14022e9b8]
call fcn.14001e040
mov rbx, qword [rax]
mov rax, qword [rbx + 0x18]
mov qword [rbp + 0x190], rax
mov eax, dword [rbx + 0x20]
mov dword [rbp + 0x198], eax
mov r8d, dword [rbx + 0x24]
mov dword [rbp + 0x19c], r8d
movzx eax, byte [rbx + 0x28]
mov byte [rbp + 0x1a0], al
movzx eax, byte [rbx + 0x29]
mov byte [rbp + 0x1a1], al
lea rdx, [rbx + 0x30]
lea rax, [rbp + 0x1a8]
cmp rax, rdx
je 0x140014943
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x140014930
mov rdx, qword [rdx]
lea rcx, [rbp + 0x1a8]
call fcn.14001d0a0
mov r8d, dword [rbp + 0x19c]
lea rdx, [rbx + 0x50]
lea rax, [rbp + 0x1c8]
cmp rax, rdx
je 0x1400149bb
lea rax, [rbp + 0x1c8]
mov qword [rbp + 0xf8], rax
mov eax, dword [rdx]
mov dword [rbp + 0x1c8], eax
mov rdx, qword [rdx + 8]
mov r8, rdx
mov rdx, qword [rdx]
lea rcx, [rbp + 0x1d0]
call fcn.14001eac0
mov rdx, qword [rbp + 0x1d8]
lea rcx, [rbp + 0x1c8]
call fcn.14001d730
mov rdx, rax
lea rcx, [rbp + 0x1c8]
call fcn.14001d580
mov qword [rbp + 0xf8], r15
lea rcx, [rbp + 0xf8]
call fcn.14001d240
mov r8d, dword [rbp + 0x19c]
cmp qword [rbp + 0x1b8], 0
jne case.0x140014a90.0
movabs rbx, 0x37fa5566560b2246
cmp byte [rbp + 0x1a1], 0
je 0x140014a75
mov qword [rbp + 0xf8], r13
mov rax, qword [rbp + 0xf8]
mov qword [rbp + 0x10], rax
mov qword [rbp + 0xf8], rbx
mov rax, qword [rbp + 0xf8]
mov qword [rbp + 0x18], rax
movabs rax, 0x81d4a8db369bd0a1
mov qword [rbp + 0xf8], rax
mov rax, qword [rbp + 0xf8]
mov qword [rbp + 0x2c0], rax
mov qword [rbp + 0xf8], rbx
mov rax, qword [rbp + 0xf8]
mov qword [rbp + 0x2c8], rax
movdqa xmm0, xmmword [rbp + 0x10]
xorps xmm0, xmmword [rbp + 0x2c0]
movdqa xmmword [rbp + 0x10], xmm0
lea rax, [rbp + 0x10]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140014a54
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0x1a8]
call fcn.14001d0a0
mov r8d, dword [rbp + 0x19c]
movzx eax, byte [0x14022e8c8]
cmp eax, 9
ja case.0x140014a90.3
mov ecx, dword [r14 + rax*4 + 0x1619c]
add rcx, r14
jmp rcx
mov byte [rbp + 0x81], 0
cmp byte [0x14022e918], 0
jne 0x140014770
test r8, r8
je 0x140014b4b
mov rdx, qword [0x14022d7c0]
add rdx, r8
test rcx, rcx
je 0x140014af3
cmp dword [0x14022d804], 0
je 0x140014af3
mov qword [rsp + 0x20], r15
mov r9d, 8
lea r8, [rbp + 0xf0]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x14022d9b0]
test eax, eax
je 0x140014af3
mov rdx, qword [rbp + 0xf0]
jmp 0x140014afd
mov rdx, r15
mov qword [rbp + 0xf0], rdx
test rdx, rdx
je 0x140014b4b
add rdx, qword [0x14022d7e0]
test rcx, rcx
je 0x140014b3c
cmp dword [0x14022d804], 0
je 0x140014b3c
mov qword [rsp + 0x20], r15
mov r9d, 4
lea r8, [rbp + 0x60]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x140014b3c
mov rax, qword [rbp + 0x60]
mov dword [rbp + 0x7c], eax
jmp 0x140014777
mov rax, r15
mov qword [rbp + 0x60], rax
mov dword [rbp + 0x7c], eax
jmp 0x140014777
mov eax, r15d
mov dword [rbp + 0x7c], eax
jmp 0x140014777
mov rcx, qword [0x14022e8d0]
mov rax, qword [rcx + 8]
cmp qword [rcx], rax
jmp 0x140014b72
mov rax, qword [0x14022e8d0]
cmp qword [rax + 8], 0
sete al
test al, al
jne case.0x140014a90.0
cmp qword [0x14022e8e8], 0
je case.0x140014a90.0
movzx edx, r8b
xor rdx, r12
imul rdx, rsi
movzx eax, byte [rbp + 0x19d]
xor rdx, rax
imul rdx, rsi
movzx eax, byte [rbp + 0x19e]
xor rdx, rax
imul rdx, rsi
movzx eax, byte [rbp + 0x19f]
xor rdx, rax
imul rdx, rsi
and rdx, qword [0x14022e908]
mov rax, rdx
add rax, rax
mov r10, qword [0x14022e8f0]
mov rcx, qword [r10 + rax*8 + 8]
mov r9, qword [0x14022e8e0]
cmp rcx, r9
je 0x140014c03
add rdx, rdx
mov rax, qword [r10 + rdx*8]
cmp r8d, dword [rcx + 0x10]
je 0x140014c06
cmp rcx, rax
je 0x140014c03
mov rcx, qword [rcx + 8]
cmp r8d, dword [rcx + 0x10]
jne 0x140014bf2
jmp 0x140014c06
mov rcx, r15
mov rdx, r9
test rcx, rcx
cmovne rdx, rcx
cmp rdx, r9
je 0x140014c46
cmp r8d, 0xffffffff
je 0x140014c46
add rdx, 0x18
lea rax, [rbp + 0x1a8]
cmp rax, rdx
je case.0x140014a90.0
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x140014ce1
mov rdx, qword [rdx]
jmp 0x140014ce1
movabs rcx, 0x81d4a8db369bd0a1
mov qword [rbp + 0xf8], rcx
mov rax, qword [rbp + 0xf8]
mov qword [rbp + 0x110], rax
mov qword [rbp + 0xf8], rbx
mov rax, qword [rbp + 0xf8]
mov qword [rbp + 0x118], rax
mov qword [rbp + 0xf8], rcx
mov rax, qword [rbp + 0xf8]
mov qword [rbp + 0x260], rax
mov qword [rbp + 0xf8], rbx
mov rax, qword [rbp + 0xf8]
mov qword [rbp + 0x268], rax
movdqa xmm0, xmmword [rbp + 0x110]
xorps xmm0, xmmword [rbp + 0x260]
movdqa xmmword [rbp + 0x110], xmm0
lea rax, [rbp + 0x110]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140014cd0
lea rdx, [rbp + 0x110]
lea rcx, [rbp + 0x1a8]
call fcn.14001d0a0
mov rax, qword [rbp + 0x100]
test rax, rax
jne 0x140014d04
mov qword [rbp], rax
movss dword [rbp + 8], xmm6
jmp 0x140014d44
mov rcx, qword [0x14022d9b0]
test rcx, rcx
je 0x140014d40
cmp dword [0x14022d804], 0
je 0x140014d40
lea rdx, [rax + 0x90]
mov qword [rsp + 0x20], r15
mov r9d, 0xc
lea r8, [rbp]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
mov rax, qword [rbp + 0x100]
jne 0x140014d44
mov qword [rbp], r15
movsd xmm0, qword [rbp]
movsd qword [rbp + 0x208], xmm0
mov ecx, dword [rbp + 8]
mov dword [rbp + 0x210], ecx
cmp byte [rbp + 0x1a0], 0
je 0x140014da9
mov qword [0x14022e9f8], rax
mov dword [0x14022ea00], edi
movsd qword [0x14022ea0c], xmm0
mov dword [0x14022ea14], ecx
movsd qword [rbp + 0x40], xmm0
mov dword [rbp + 0x48], ecx
lea r8, [rbp + 0x40]
lea rdx, [rbp + 0x158]
lea rcx, [0x14022e710]
call fcn.1400162e0
movsd xmm0, qword [rax]
movsd qword [0x14022ea04], xmm0
mov rax, qword [0x14022e9a8]
cmp rax, qword [0x14022e9b0]
je 0x140014dd5
lea rdx, [rbp + 0x190]
mov rcx, rax
call fcn.140029960
add qword [0x14022e9a8], 0x88
jmp 0x140014dec
lea r8, [rbp + 0x190]
mov rdx, rax
lea rcx, [0x14022e9a0]
call fcn.140022b00
nop
lea rcx, [rbp + 0x190]
call fcn.14000bd70
inc rdi
jmp 0x1400143b0
mov qword [rbp + 0x100], r15
inc rdi
jmp 0x1400143b0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
lea rcx, [0x14022e950]
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
cmp qword [0x14022e898], 0
jne 0x140016139
cmp byte [0x14022e918], 0
jne 0x140016139
lea rdi, [0x14022e868]
cmp qword [0x14022e858], 0
je 0x140014e5d
cmp qword [0x14022e878], 0
jne 0x140015810
mov dword [rbp + 0xf8], 0x208
movabs rax, 0x8180a89d36d4d0f2
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x220], rax
movabs rax, 0x37bf5534564a2211
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x228], rax
movabs rax, 0xe7d754cc6f29e727
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x230], rax
movabs rax, 0x90c040ad6a51f9a1
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x238], rax
movabs rax, 0xf8542c9b35a211e3
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x240], rax
movabs rax, 0x6a9735672e4bc333
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x248], rax
movabs rdx, 0xb4254df1867e7d0f
mov qword [rbp + 0x60], rdx
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x250], rax
movabs rcx, 0xab56bce4a0954fdc
mov qword [rbp + 0x60], rcx
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x258], rax
movabs rax, 0x81d4a8db369bd0a1
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x280], rax
movabs rax, 0x37fa5566560b2246
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x288], rax
movabs r14, 0xe7a354a56f6ae77b
mov qword [rbp + 0x60], r14
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x290], rax
movabs rsi, 0x90ae40c86a2bf9c8
mov qword [rbp + 0x60], rsi
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x298], rax
movabs r13, 0xf8122cc735fa11a5
mov qword [rbp + 0x60], r13
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x2a0], rax
movabs r12, 0x6ada35022e3dc35a
mov qword [rbp + 0x60], r12
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x2a8], rax
mov qword [rbp + 0x60], rdx
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x2b0], rax
mov qword [rbp + 0x60], rcx
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x2b8], rax
vmovdqu ymm0, ymmword [rbp + 0x220]
vpxor ymm1, ymm0, ymmword [rbp + 0x280]
vmovdqa ymmword [rbp + 0x220], ymm1
vmovdqu ymm0, ymmword [rbp + 0x240]
vpxor ymm1, ymm0, ymmword [rbp + 0x2a0]
vmovdqa ymmword [rbp + 0x240], ymm1
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
vzeroupper
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov r11d, dword [rcx + r10 + 0x88]
add r11, r10
cmp r11, r10
je 0x1400150a4
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x1400150a4
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + rbx]
add r8, r10
mov edx, 0xc88ada51
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x14001509f
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x140015080
cmp edx, 0x57bb26aa
je 0x1400150a9
test r9d, r9d
jne 0x140015060
mov rax, qword [rax]
jmp 0x140015030
mov edx, dword [r11 + 0x1c]
add rdx, r10
mov ecx, dword [r11 + 0x24]
add rcx, r10
movzx ecx, word [rcx + r9*2]
mov eax, dword [rdx + rcx*4]
add rax, r10
lea rcx, [rbp + 0x60]
mov qword [rsp + 0x20], rcx
mov r9d, 0x20019
xor r8d, r8d
lea rdx, [rbp + 0x220]
mov rcx, 0xffffffff80000001
call rax
test eax, eax
jne 0x1400157f8
movabs rax, 0x81a0a8a836fad0ed
mov qword [rbp + 0xf0], rax
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0x280], rax
movabs rax, 0x3794551356592266
mov qword [rbp + 0xf0], rax
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0x288], rax
movabs rax, 0xe7c054ca6f26e75b
mov qword [rbp + 0xf0], rax
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0x290], rax
movabs rax, 0x90c140a16a5ff9a9
mov qword [rbp + 0xf0], rax
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0x298], rax
movabs rax, 0xf8122cc735fa11cb
mov qword [rbp + 0xf0], rax
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0x2a0], rax
mov qword [rbp + 0xf0], r12
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0x2a8], rax
movabs rax, 0x81d4a8db369bd0a1
mov qword [rbp + 0xf0], rax
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0x220], rax
movabs rbx, 0x37fa5566560b2246
mov qword [rbp + 0xf0], rbx
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0x228], rax
mov qword [rbp + 0xf0], r14
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0x230], rax
mov qword [rbp + 0xf0], rsi
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0x238], rax
mov qword [rbp + 0xf0], r13
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0x240], rax
mov qword [rbp + 0xf0], r12
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0x248], rax
vmovdqu ymm0, ymmword [rbp + 0x280]
vpxor ymm1, ymm0, ymmword [rbp + 0x220]
vmovdqa ymmword [rbp + 0x280], ymm1
vmovdqa xmm0, xmmword [rbp + 0x2a0]
vxorps xmm0, xmm0, xmmword [rbp + 0x240]
vmovdqa xmmword [rbp + 0x2a0], xmm0
lea rax, [rbp + 0xf8]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x2e0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x280]
mov rcx, qword [rbp + 0x60]
vzeroupper
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14001574d
movabs rax, 0xe2b5cb8757efb1c5
mov qword [rbp + 0xf0], rax
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0x280], rax
movabs rax, 0x5f8934143557472e
mov qword [rbp + 0xf0], rax
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0x288], rax
movabs rax, 0xe7a32dd71b0f8a14
mov qword [rbp + 0xf0], rax
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0x290], rax
mov qword [rbp + 0xf0], rsi
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0x298], rax
movabs rax, 0x81d4a8db369bd0a1
mov qword [rbp + 0xf0], rax
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0x220], rax
mov qword [rbp + 0xf0], rbx
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0x228], rax
mov qword [rbp + 0xf0], r14
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0x230], rax
mov qword [rbp + 0xf0], rsi
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0x238], rax
vmovdqu ymm0, ymmword [rbp + 0x280]
vpxor ymm1, ymm0, ymmword [rbp + 0x220]
vmovdqa ymmword [rbp + 0x280], ymm1
vxorps xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x2c0], xmm0
mov qword [rbp + 0x2d0], r15
mov qword [rbp + 0x2d8], r15
lea rax, [rbp + 0x2e0]
mov r8, 0xffffffffffffffff
vzeroupper
nop dword [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x1400153b0
lea rdx, [rbp + 0x2e0]
lea rcx, [rbp + 0x2c0]
call fcn.14001e990
lea rdx, [rbp + 0x2c0]
lea rcx, [rbp + 0x10]
call fcn.140093640
nop
lea rcx, [rbp + 0x280]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rcx + r8], 0
jne 0x1400153f0
lea rdx, [rbp + 0x280]
mov rcx, rax
call fcn.140009f20
xorps xmm0, xmm0
movups xmmword [rbp + 0x220], xmm0
mov qword [rbp + 0x230], r15
mov qword [rbp + 0x238], r15
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x220], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x230], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x140015483
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001547e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001547e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140098d40
mov qword [rbp + 0x20], r15
mov qword [rbp + 0x28], 0xf
mov byte [rbp + 0x10], 0
lea rax, [rbp + 0x220]
cmp qword [rbp + 0x238], 0xf
cmova rax, qword [rbp + 0x220]
mov qword [rbp + 0x260], rax
mov rax, qword [rbp + 0x230]
mov qword [rbp + 0x268], rax
call fcn.140098234
movaps xmm0, xmmword [rbp + 0x260]
movdqa xmmword [rbp + 0x260], xmm0
lea r8, [rbp + 0x260]
mov edx, eax
lea rcx, [rbp + 0x280]
call fcn.14000ca10
nop
mov qword [rbp + 0x110], r15
lea rax, [0x14022c7e0]
mov qword [rbp + 0x118], rax
lea rdx, [rbp + 0x110]
lea rcx, [rbp + 0x280]
call fcn.14000d4d0
movzx ebx, al
cmp dword [rbp + 0x110], 0
jne 0x140016179
mov rdx, qword [rbp + 0x298]
cmp rdx, 7
jbe 0x14001556a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x280]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015565
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140015565
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140098d40
mov qword [rbp + 0x290], r15
mov qword [rbp + 0x298], 7
mov word [rbp + 0x280], r15w
test bl, bl
je 0x1400156f0
xorps xmm0, xmm0
movups xmmword [rbp + 0x280], xmm0
mov qword [rbp + 0x290], r15
mov qword [rbp + 0x298], r15
lea rax, [rbp + 0x2e0]
mov r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x1400155b2
lea rdx, [rbp + 0x2e0]
lea rcx, [rbp + 0x280]
call fcn.14001e990
lea rdx, [rbp + 0x280]
lea rcx, [rbp + 0x260]
call fcn.140093640
mov rbx, rax
lea rax, [0x14022e848]
cmp rax, rbx
je 0x14001566c
mov rdx, qword [0x14022e860]
cmp rdx, 0xf
jbe 0x14001562f
mov rcx, qword [0x14022e848]
inc rdx
cmp rdx, 0x1000
jb 0x14001562a
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400156a4
mov rcx, r8
call fcn.140098d40
mov qword [0x14022e858], r15
mov qword [0x14022e860], 0xf
mov byte [0x14022e848], 0
movups xmm0, xmmword [rbx]
movups xmmword [0x14022e848], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [0x14022e858], xmm1
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov rdx, qword [rbp + 0x278]
cmp rdx, 0xf
jbe 0x1400156b0
inc rdx
mov rcx, qword [rbp + 0x260]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400156ab
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400156ab
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140098d40
mov qword [rbp + 0x270], r15
mov qword [rbp + 0x278], 0xf
mov byte [rbp + 0x260], 0
lea rdx, [rbp + 0x220]
cmp qword [rbp + 0x238], 0xf
cmova rdx, qword [rbp + 0x220]
mov r8, qword [rbp + 0x230]
mov rcx, rdi
call fcn.14001d0a0
nop
mov rdx, qword [rbp + 0x238]
cmp rdx, 0xf
jbe 0x140015734
inc rdx
mov rcx, qword [rbp + 0x220]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001572f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001572f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140098d40
mov qword [rbp + 0x230], r15
mov qword [rbp + 0x238], 0xf
mov byte [rbp + 0x220], 0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov r11d, dword [rcx + r10 + 0x88]
add r11, r10
cmp r11, r10
je 0x1400157d4
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x1400157d4
mov ebx, dword [r11 + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [rbx + r9*4]
mov r8d, dword [rdx + r10]
add r8, r10
mov edx, 0x5db1e387
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x1400157cf
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x1400157b0
cmp edx, 0xbcdcf9c8
je 0x1400157d9
test r9d, r9d
jne 0x140015790
mov rax, qword [rax]
jmp 0x140015760
mov edx, dword [r11 + 0x1c]
add rdx, r10
mov ecx, dword [r11 + 0x24]
add rcx, r10
movzx ecx, word [rcx + r9*2]
mov eax, dword [rdx + rcx*4]
add rax, r10
mov rcx, qword [rbp + 0x60]
call rax
cmp qword [0x14022e878], 0
jne 0x140015810
cmp qword [0x14022e898], 0
jne 0x14001608e
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0x2e0]
call sub.VCRUNTIME140.dll_memset
cmp qword [0x14022e880], 0xf
cmova rdi, qword [0x14022e868]
mov r8d, 1
mov rdx, rdi
lea rcx, [rbp + 0x2e0]
call fcn.14001cf90
mov rax, qword [rbp + 0x2e0]
movsxd rcx, dword [rax + 4]
lea rbx, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x2e0], rbx
mov rax, qword [rbp + 0x2e0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x2dc], edx
xorps xmm0, xmm0
movups xmmword [rbp + 0x170], xmm0
mov qword [rbp + 0x180], r15
mov eax, 0xf
mov qword [rbp + 0x188], rax
mov byte [rbp + 0x170], 0
cmp qword [rbp + 0x370], 0
je 0x140015fd8
mov rax, qword [rbp + 0x2e0]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x2e0]
add rcx, rax
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_char___cdecl_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const___ptr64]
movzx r8d, al
lea rdx, [rbp + 0x170]
lea rcx, [rbp + 0x2e0]
call fcn.1400227b0
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::operator_bool_void_const___ptr64]
test al, al
je 0x140015f9d
movabs r12, 0xf3b1db8442e8b1cd
mov qword [rbp + 0x60], r12
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x110], rax
movabs rax, 0x3796271309794730
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x118], rax
movabs rax, 0x81d4a8db369bd0a1
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x260], rax
movabs rax, 0x37fa5566560b2246
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x268], rax
movdqa xmm0, xmmword [rbp + 0x110]
xorps xmm0, xmmword [rbp + 0x260]
movdqa xmmword [rbp + 0x110], xmm0
lea rax, [rbp + 0x110]
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [rax + rdi], 0
jne 0x140015982
lea r14, [rbp + 0x170]
mov r13, qword [rbp + 0x170]
mov rcx, qword [rbp + 0x188]
cmp rcx, 0xf
cmova r14, r13
mov rsi, qword [rbp + 0x180]
cmp rdi, rsi
ja 0x140015a3f
test rdi, rdi
jne 0x1400159c5
mov rbx, r15
jmp 0x140015a46
mov r15, rsi
sub r15, rdi
movq rax, xmm0
movsx r12d, al
lea r8, [r14 + 1]
add r8, r15
sub r8, r14
mov edx, r12d
mov rcx, r14
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x140015a2b
mov r8, rdi
lea rdx, [rbp + 0x110]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140015de6
inc rbx
lea r8, [r14 + 1]
add r8, r15
sub r8, rbx
mov edx, r12d
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x1400159f1
mov rcx, qword [rbp + 0x188]
xor r15d, r15d
movabs r12, 0xf3b1db8442e8b1cd
mov rbx, 0xffffffffffffffff
cmp rbx, 0xffffffffffffffff
je 0x140015f96
add rbx, 0xf
xorps xmm0, xmm0
movups xmmword [rbp + 0x120], xmm0
mov qword [rbp + 0x130], r15
mov qword [rbp + 0x138], r15
cmp rsi, rbx
jb 0x140016194
sub rsi, rbx
mov r8, 0xffffffffffffffff
cmp rsi, r8
cmovb r8, rsi
lea rdx, [rbp + 0x170]
cmp rcx, 0xf
cmova rdx, r13
add rdx, rbx
lea rcx, [rbp + 0x120]
call fcn.140004d60
nop
mov qword [rbp + 0x60], r12
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x110], rax
movabs rax, 0x37fa556656794730
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x118], rax
movabs rdi, 0x81d4a8db369bd0a1
mov qword [rbp + 0x60], rdi
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x260], rax
movabs rbx, 0x37fa5566560b2246
mov qword [rbp + 0x60], rbx
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x268], rax
movdqa xmm0, xmmword [rbp + 0x110]
xorps xmm0, xmmword [rbp + 0x260]
movdqa xmmword [rbp + 0x110], xmm0
lea rdx, [rbp + 0x110]
lea rcx, [rbp + 0x120]
call fcn.14001c950
lea rdx, [rax + 0xb]
xorps xmm0, xmm0
movups xmmword [rbp + 0x220], xmm0
mov qword [rbp + 0x230], r15
mov qword [rbp + 0x238], r15
mov rcx, qword [rbp + 0x130]
cmp rcx, rdx
jb 0x140016173
sub rcx, rdx
mov r8, 0xffffffffffffffff
cmp rcx, r8
cmovb r8, rcx
lea rax, [rbp + 0x120]
cmp qword [rbp + 0x138], 0xf
cmova rax, qword [rbp + 0x120]
add rdx, rax
lea rcx, [rbp + 0x220]
call fcn.140004d60
mov rdx, qword [rbp + 0x138]
cmp rdx, 0xf
jbe 0x140015bcd
inc rdx
mov rcx, qword [rbp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015bc8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015f8a
call fcn.140098d40
movups xmm0, xmmword [rbp + 0x220]
movups xmmword [rbp + 0x120], xmm0
movups xmm1, xmmword [rbp + 0x230]
movups xmmword [rbp + 0x130], xmm1
mov qword [rbp + 0x230], r15
mov qword [rbp + 0x238], 0xf
mov byte [rbp + 0x220], 0
movabs rax, 0x81d4a8db369bd09b
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x110], rax
mov qword [rbp + 0x60], rbx
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x118], rax
mov qword [rbp + 0x60], rdi
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x260], rax
mov qword [rbp + 0x60], rbx
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x268], rax
movdqa xmm0, xmmword [rbp + 0x110]
xorps xmm0, xmmword [rbp + 0x260]
movdqa xmmword [rbp + 0x110], xmm0
lea rdx, [rbp + 0x110]
lea rcx, [rbp + 0x120]
call fcn.14001c950
mov r13, rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x220], xmm0
mov qword [rbp + 0x230], r15
mov qword [rbp + 0x238], r15
mov r8, rax
cmp qword [rbp + 0x130], rax
cmovb r8, qword [rbp + 0x130]
lea rdx, [rbp + 0x120]
cmp qword [rbp + 0x138], 0xf
cmova rdx, qword [rbp + 0x120]
lea rcx, [rbp + 0x220]
call fcn.140004d60
mov rdx, qword [0x14022e8a0]
cmp rdx, 0xf
jbe 0x140015d03
mov rcx, qword [0x14022e888]
inc rdx
cmp rdx, 0x1000
jb 0x140015cfe
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140015f8a
mov rcx, r8
call fcn.140098d40
movups xmm0, xmmword [rbp + 0x220]
movups xmmword [0x14022e888], xmm0
movups xmm1, xmmword [rbp + 0x230]
movups xmmword [0x14022e898], xmm1
mov qword [rbp + 0x230], r15
mov qword [rbp + 0x238], 0xf
mov byte [rbp + 0x220], 0
movabs rax, 0x81d4a8db369bd0aa
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x110], rax
mov qword [rbp + 0x60], rbx
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x118], rax
mov qword [rbp + 0x60], rdi
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x260], rax
mov qword [rbp + 0x60], rbx
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x268], rax
movdqa xmm0, xmmword [rbp + 0x110]
xorps xmm0, xmmword [rbp + 0x260]
movdqa xmmword [rbp + 0x110], xmm0
lea rax, [rbp + 0x110]
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [rax + rdi], 0
jne 0x140015da3
lea r14, [rbp + 0x120]
mov rdx, qword [rbp + 0x120]
mov r8, qword [rbp + 0x138]
cmp r8, 0xf
cmova r14, rdx
mov rsi, qword [rbp + 0x130]
cmp rdi, rsi
ja 0x140015e7b
test rdi, rdi
jne 0x140015e02
mov rbx, r15
jmp 0x140015e82
sub rbx, r14
mov rcx, qword [rbp + 0x188]
xor r15d, r15d
movabs r12, 0xf3b1db8442e8b1cd
jmp 0x140015a46
mov r15, rsi
sub r15, rdi
movq rax, xmm0
movsx r12d, al
lea r8, [r14 + 1]
add r8, r15
sub r8, r14
mov edx, r12d
mov rcx, r14
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x140015e6a
nop
mov r8, rdi
lea rdx, [rbp + 0x110]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140015f71
inc rbx
lea r8, [r14 + 1]
add r8, r15
sub r8, rbx
mov edx, r12d
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x140015e30
mov rdx, qword [rbp + 0x120]
mov r8, qword [rbp + 0x138]
xor r15d, r15d
mov rbx, 0xffffffffffffffff
lea rcx, [r13 + 1]
xorps xmm0, xmm0
movups xmmword [rbp + 0x220], xmm0
mov qword [rbp + 0x230], r15
mov qword [rbp + 0x238], r15
cmp rsi, rcx
jb 0x140016173
sub rbx, r13
dec rbx
sub rsi, rcx
cmp rsi, rbx
cmovb rbx, rsi
lea rax, [rbp + 0x120]
cmp r8, 0xf
cmova rax, rdx
lea rdx, [rax + rcx]
mov r8, rbx
lea rcx, [rbp + 0x220]
call fcn.140004d60
mov rdx, qword [0x14022e8c0]
cmp rdx, 0xf
jbe 0x140015f16
mov rcx, qword [0x14022e8a8]
inc rdx
cmp rdx, 0x1000
jb 0x140015f11
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140015f8a
mov rcx, r8
call fcn.140098d40
movups xmm0, xmmword [rbp + 0x220]
movups xmmword [0x14022e8a8], xmm0
movups xmm1, xmmword [rbp + 0x230]
movups xmmword [0x14022e8b8], xmm1
mov rdx, qword [rbp + 0x138]
cmp rdx, 0xf
jbe 0x140015f96
inc rdx
mov rcx, qword [rbp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015f91
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140015f91
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
sub rbx, r14
mov rdx, qword [rbp + 0x120]
mov r8, qword [rbp + 0x138]
xor r15d, r15d
jmp 0x140015e82
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.140098d40
lea rbx, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
lea rcx, [rbp + 0x2f0]
call fcn.14001ced0
test rax, rax
jne 0x140015fd1
mov rax, qword [rbp + 0x2e0]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x2e0]
add rcx, rax
xor r8d, r8d
mov edx, 2
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
mov rax, qword [rbp + 0x188]
cmp rax, 0xf
jbe 0x140016016
lea rdx, [rax + 1]
mov rcx, qword [rbp + 0x170]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140016011
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140016011
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140098d40
mov qword [rbp + 0x180], r15
mov qword [rbp + 0x188], 0xf
mov byte [rbp + 0x170], 0
mov rax, qword [rbp + 0x2e0]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x2e0], rbx
mov rax, qword [rbp + 0x2e0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x2dc], edx
lea rcx, [rbp + 0x2f0]
call fcn.14001c240
lea rcx, [rbp + 0x2f8]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x390]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
cmp qword [0x14022e898], 0
je 0x140016132
cmp qword [0x14022e8b8], 0
je 0x140016132
mov ecx, 8
call fcn.140098ef0
lea rcx, [0x14022e710]
mov qword [rax], rcx
mov qword [rbp + 0x158], rax
lea rcx, [rbp + 0x118]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r15d
mov r9, rax
lea r8, [0x140026670]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbp + 0x110], rax
test rax, rax
je 0x14001611f
cmp dword [rbp + 0x118], 0
je 0x140016113
movaps xmm0, xmmword [rbp + 0x110]
movdqa xmmword [rbp + 0x260], xmm0
lea rcx, [rbp + 0x260]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
jne 0x140016113
jmp 0x140016139
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov dword [rbp + 0x118], r15d
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov byte [0x14022e918], 1
mov rcx, qword [rbp + 0x4f0]
xor rcx, rsp
call fcn.140098d20
lea r11, [rsp + 0x570]
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]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14001d7d0
nop
lea r8, [rbp + 0x280]
lea rdx, [rbp + 0x110]
lea rcx, str.exists
call fcn.14000d470
nop
call fcn.14001d7d0
int3