Function at 0x140021490
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, 0x5f0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
lea rbp, [rsp + 0x50]
and rbp, 0xffffffffffffffe0
mov rax, qword [0x1402ec080]
xor rax, rsp
mov qword [rbp + 0x570], rax
xor r12d, r12d
mov rdx, qword [0x140315920]
mov rcx, qword [0x140315308]
test rdx, rdx
jne 0x140021532
test rcx, rcx
je 0x14002151b
cmp dword [0x14031525c], r12d
je 0x14002151b
mov qword [rsp + 0x20], r12
mov r9d, 8
lea r8, [rbp + 0x160]
mov rdx, qword [0x1403157d8]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x140315308]
mov rdx, qword [rbp + 0x160]
mov qword [0x140315920], rdx
test rdx, rdx
je 0x1400215e2
test rcx, rcx
je 0x140021563
cmp dword [0x14031525c], r12d
je 0x140021563
add rdx, 8
mov qword [rsp + 0x20], r12
mov r9d, 8
lea r8, [rbp + 0xe0]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x140315308]
mov rax, qword [rbp + 0xe0]
mov qword [0x140315928], rax
test rax, rax
je 0x1400215e2
mov rdx, qword [0x140315930]
test rdx, rdx
jne 0x1400215c9
test rcx, rcx
je 0x1400215b6
cmp dword [0x14031525c], r12d
je 0x1400215b6
mov qword [rsp + 0x20], r12
mov r9d, 8
lea r8, [rbp + 0x170]
mov rdx, qword [0x1403157e0]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x140315308]
mov rdx, qword [rbp + 0x170]
mov qword [0x140315930], rdx
test rdx, rdx
je 0x1400215e2
cmp qword [0x140315938], r12
jne 0x140021662
test rdx, rdx
jne 0x14002161e
mov qword [0x140315938], r12
xor al, al
mov rcx, qword [rbp + 0x570]
xor rcx, rsp
call fcn.1400cf9f0
lea r11, [rsp + 0x5f0]
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
test rcx, rcx
je 0x14002164f
cmp dword [0x14031525c], r12d
je 0x14002164f
add rdx, 0x18
mov qword [rsp + 0x20], r12
mov r9d, 8
lea r8, [rbp + 0x1d0]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x140315308]
mov rax, qword [rbp + 0x1d0]
mov qword [0x140315938], rax
test rax, rax
je 0x1400215e2
cmp qword [0x140315948], r12
jne 0x1400216af
test rcx, rcx
je 0x140021698
cmp dword [0x14031525c], r12d
je 0x140021698
mov qword [rsp + 0x20], r12
mov r9d, 8
lea r8, [rbp + 0x1c8]
mov rdx, qword [0x1403157f0]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rax, qword [rbp + 0x1c8]
mov qword [0x140315948], rax
test rax, rax
je 0x1400215e2
lea rcx, [0x140315958]
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x1400216cc
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov eax, dword [0x1403159a4]
cmp eax, 0x7fffffff
jne 0x1400216ed
dec eax
mov dword [0x1403159a4], eax
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov rbx, qword [0x1403159f8]
mov rdi, qword [0x140315a00]
cmp rbx, rdi
je 0x140021725
mov rcx, rbx
call fcn.140005720
add rbx, 0xa0
cmp rbx, rdi
jne 0x140021700
mov rbx, qword [0x1403159f8]
mov rdi, rbx
mov qword [0x140315a00], rbx
cmp rdi, qword [0x140315a08]
je 0x140021772
lea rcx, [0x1403159f8]
cmp rbx, rdi
jne 0x140021741
call fcn.1400037d0
jmp 0x140021772
sub rdi, rbx
movabs rax, 0x6666666666666667
imul rdi
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov qword [rbp + 0x160], rdx
lea rdx, [rbp + 0x160]
call fcn.140027890
mov rdi, r12
mov esi, 4
movabs r13, 0xccccccccccccb
movabs r14, 0x100000001b3
lea r15, [0x140000000]
xorps xmm6, xmm6
movss xmm7, dword [0x1402d8a74]
mov rcx, qword [0x140315308]
nop word [rax + rax]
mov rdx, qword [0x140315938]
test rdx, rdx
je 0x140022128
test rcx, rcx
je 0x1400217f4
cmp dword [0x14031525c], 0
je 0x1400217f4
add rdx, 0x108
mov qword [rsp + 0x20], r12
mov r9d, 8
lea r8, [rbp + 0x1d8]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x140315308]
cmp rdi, qword [rbp + 0x1d8]
jae 0x140022128
mov rdx, qword [0x140315938]
test rdx, rdx
je 0x140021892
test rcx, rcx
je 0x140021845
cmp dword [0x14031525c], 0
je 0x140021845
add rdx, 0x100
mov qword [rsp + 0x20], r12
mov r9d, 8
lea r8, [rbp + 0x1e0]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x140315308]
mov r8, qword [rbp + 0x1e0]
test r8, r8
je 0x140021892
test rcx, rcx
je 0x140021889
cmp dword [0x14031525c], 0
je 0x140021889
mov eax, edi
shl eax, 4
movsxd rdx, eax
add rdx, r8
mov qword [rsp + 0x20], r12
mov r9d, 8
lea r8, [rbp + 0x1e8]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x140315308]
mov rbx, qword [rbp + 0x1e8]
jmp 0x140021895
mov rbx, r12
mov qword [rbp + 0xe0], rbx
lea rax, [rbx - 1]
cmp rax, r13
ja 0x140022119
mov rcx, rbx
call fcn.140017000
test eax, eax
je 0x1400218c5
and eax, 0x1fc000
cmp eax, 0x6c000
ja 0x140022112
mov rcx, qword [0x140315308]
test rcx, rcx
je 0x1400218fd
cmp dword [0x14031525c], 0
je 0x1400218fd
lea rdx, [rbx + 0x280]
mov qword [rsp + 0x20], r12
mov r9, rsi
lea r8, [rbp + 0x1c0]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x140315308]
comiss xmm6, dword [rbp + 0x1c0]
jae 0x140022119
test rcx, rcx
je 0x14002193b
cmp dword [0x14031525c], 0
je 0x14002193b
lea rdx, [rbx + 0x280]
mov qword [rsp + 0x20], r12
mov r9, rsi
lea r8, [rbp + 0x1c8]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x140315308]
comiss xmm7, dword [rbp + 0x1c8]
jae 0x140022119
xorps xmm0, xmm0
movups xmmword [rbp + 0x58], xmm0
mov qword [rbp + 0x68], r12
mov qword [rbp + 0x70], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x58], 0
mov byte [rbp + 0x80], 0
lea rax, [rbp + 0x88]
mov qword [rbp], rax
mov dword [rbp + 0x1d0], 0
mov eax, dword [rbp + 0x1d0]
mov dword [rbp + 0x88], eax
mov qword [rbp + 0x90], r12
mov qword [rbp + 0x98], r12
mov ecx, Ordinal_27
call fcn.1400cfa10
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp + 0x90], rax
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xa0], xmm0
mov qword [rbp + 0xb0], r12
mov qword [rbp + 0xb8], 7
mov qword [rbp + 0xc0], 8
mov dword [rbp + 0x88], 0x3f800000
mov r8, rax
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rbp + 0xa0]
call fcn.140003a90
nop
mov qword [rbp + 0x40], rbx
mov dword [rbp + 0x48], edi
cmp rbx, qword [0x140315928]
sete byte [rbp + 0x50]
mov rcx, rbx
call fcn.140017080
movzx r10d, al
mov byte [rbp + 0x51], al
movzx edx, bl
movabs rax, 0xcbf29ce484222325
xor rdx, rax
imul rdx, r14
movzx ecx, byte [rbp + 0xe1]
xor rdx, rcx
imul rdx, r14
movzx ecx, byte [rbp + 0xe2]
xor rdx, rcx
imul rdx, r14
movzx eax, byte [rbp + 0xe3]
xor rdx, rax
imul rdx, r14
movzx eax, byte [rbp + 0xe4]
xor rdx, rax
imul rdx, r14
movzx eax, byte [rbp + 0xe5]
xor rdx, rax
imul rdx, r14
movzx eax, byte [rbp + 0xe6]
xor rdx, rax
imul rdx, r14
movzx eax, byte [rbp + 0xe7]
xor rdx, rax
imul rdx, r14
and rdx, qword [0x1403157c0]
mov rax, rdx
add rax, rax
mov r8, qword [0x1403157a8]
mov rcx, qword [r8 + rax*8 + 8]
mov r9, qword [0x140315798]
cmp rcx, r9
je 0x140021ad1
add rdx, rdx
mov rax, qword [r8 + rdx*8]
cmp rbx, qword [rcx + 0x10]
je 0x140021ad4
nop dword [rax]
cmp rcx, rax
je 0x140021ad1
mov rcx, qword [rcx + 8]
cmp rbx, qword [rcx + 0x10]
jne 0x140021ac0
jmp 0x140021ad4
mov rcx, r12
mov rax, r9
test rcx, rcx
cmovne rax, rcx
cmp rax, r9
setne byte [rbp + 0x80]
test r10b, r10b
mov r10, qword [0x140315308]
jne 0x140021b8a
mov rdx, qword [0x1403151e0]
add rdx, rbx
test r10, r10
je 0x140021b32
cmp dword [0x14031525c], 0
je 0x140021b32
mov qword [rsp + 0x20], r12
mov r9d, 8
lea r8, [rbp + 0x160]
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov r10, qword [0x140315308]
cmp qword [rbp + 0x160], 0
jne 0x140021b44
mov eax, r12d
mov dword [rbp + 0x4c], eax
jmp 0x140021b91
mov rdx, qword [rbp + 0x160]
add rdx, qword [0x1403151f0]
test r10, r10
je 0x140021b7f
cmp dword [0x14031525c], 0
je 0x140021b7f
mov qword [rsp + 0x20], r12
mov r9, rsi
lea r8, [rbp + 0x170]
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov r10, qword [0x140315308]
mov eax, dword [rbp + 0x170]
mov dword [rbp + 0x4c], eax
jmp 0x140021b91
mov dword [rbp + 0x4c], 0xffffffff
mov rdx, qword [0x1403151e8]
add rdx, rbx
test r10, r10
je 0x140021c41
cmp dword [0x14031525c], 0
je 0x140021bcf
mov qword [rsp + 0x20], r12
mov r9d, 8
lea r8, [rbp + 0x1f0]
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov r10, qword [0x140315308]
test r10, r10
je 0x140021c41
cmp dword [0x14031525c], 0
je 0x140021c0a
mov rdx, qword [rbp + 0x1f0]
add rdx, 0x68
mov qword [rsp + 0x20], r12
mov r9d, 8
lea r8, [rbp + 0x1f8]
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov r10, qword [0x140315308]
test r10, r10
je 0x140021c41
cmp dword [0x14031525c], 0
je 0x140021c41
mov rdx, qword [rbp + 0x1f8]
add rdx, 0x178
mov qword [rsp + 0x20], r12
mov r9d, 8
lea r8, [rbp + 0xd0]
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x78], rax
lea rcx, [rbp + 0x200]
call fcn.140015f70
mov qword [rbp + 0x298], 0
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x200], rax
mov eax, dword [rbp + 0x48]
mov dword [rbp + 0x208], eax
mov eax, dword [rbp + 0x4c]
mov dword [rbp + 0x20c], eax
movzx eax, byte [rbp + 0x50]
mov byte [rbp + 0x210], al
movzx eax, byte [rbp + 0x51]
mov byte [rbp + 0x211], al
lea rdx, [rbp + 0x58]
cmp qword [rbp + 0x70], 0xf
cmova rdx, qword [rbp + 0x58]
mov r8, qword [rbp + 0x68]
lea rcx, [rbp + 0x218]
call fcn.140009900
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x238], rax
movzx eax, byte [rbp + 0x80]
mov byte [rbp + 0x240], al
lea rax, [rbp + 0x248]
mov qword [rbp + 0xe0], rax
mov eax, dword [rbp + 0x88]
mov dword [rbp + 0x248], eax
mov rdx, qword [rbp + 0x90]
mov r8, rdx
mov rdx, qword [rdx]
lea rcx, [rbp + 0x250]
call fcn.140027e70
mov rdx, qword [rbp + 0x258]
lea rcx, [rbp + 0x248]
call fcn.140016550
mov rdx, rax
lea rcx, [rbp + 0x248]
call fcn.1400163a0
mov qword [rbp + 0xe0], r12
lea rcx, [rbp + 0xe0]
call fcn.1400165f0
cmp qword [rbp + 0x228], 0
jne case.0x140021d57.0
movzx eax, byte [0x1403158c8]
cmp eax, 9
ja case.0x140021d57.3
mov ecx, dword [r15 + rax*4 + 0x23d5c]
add rcx, r15
jmp rcx
mov rcx, qword [0x1403158d0]
mov rax, qword [rcx + 8]
cmp qword [rcx], rax
jmp 0x140021d75
mov rax, qword [0x1403158d0]
cmp qword [rax + 8], 0
sete al
test al, al
jne case.0x140021d57.0
cmp qword [0x1403158e8], 0
je case.0x140021d57.0
movzx ecx, byte [rbp + 0x20c]
movabs rax, 0xcbf29ce484222325
xor rcx, rax
imul rcx, r14
movzx eax, byte [rbp + 0x20d]
xor rcx, rax
imul rcx, r14
movzx eax, byte [rbp + 0x20e]
xor rcx, rax
imul rcx, r14
movzx eax, byte [rbp + 0x20f]
xor rcx, rax
imul rcx, r14
mov rdx, qword [0x140315908]
and rdx, rcx
mov rax, rdx
add rax, rax
mov r8, qword [0x1403158f0]
mov rcx, qword [r8 + rax*8 + 8]
mov r9, qword [0x1403158e0]
mov eax, dword [rbp + 0x20c]
cmp rcx, r9
je 0x140021e20
add rdx, rdx
mov r8, qword [r8 + rdx*8]
cmp eax, dword [rcx + 0x10]
je 0x140021e23
nop word [rax + rax]
cmp rcx, r8
je 0x140021e20
mov rcx, qword [rcx + 8]
cmp eax, dword [rcx + 0x10]
jne 0x140021e10
jmp 0x140021e23
mov rcx, r12
mov rdx, r9
test rcx, rcx
cmovne rdx, rcx
cmp rdx, r9
je 0x140021e62
cmp eax, 0xffffffff
je 0x140021e62
add rdx, 0x18
lea rax, [rbp + 0x218]
cmp rax, rdx
je case.0x140021d57.0
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x140021f11
mov rdx, qword [rdx]
jmp 0x140021f11
movabs rax, 0x3709a284131b0c7a
mov qword [rbp + 0xe0], rax
mov rax, qword [rbp + 0xe0]
mov qword [rbp + 0x120], rax
movabs rcx, 0x3a54302320a9bf60
mov qword [rbp + 0xe0], rcx
mov rax, qword [rbp + 0xe0]
mov qword [rbp + 0x128], rax
movabs rax, 0x5264c3ea617e7f0f
mov qword [rbp + 0xe0], rax
mov rax, qword [rbp + 0xe0]
mov qword [rbp + 0x100], rax
mov qword [rbp + 0xe0], rcx
mov rax, qword [rbp + 0xe0]
mov qword [rbp + 0x108], rax
movdqa xmm0, xmmword [rbp + 0x120]
xorps xmm0, xmmword [rbp + 0x100]
movdqa xmmword [rbp + 0x120], xmm0
lea rax, [rbp + 0x120]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140021f00
lea rdx, [rbp + 0x120]
lea rcx, [rbp + 0x218]
call fcn.140009900
mov rcx, qword [0x140315308]
test rcx, rcx
je 0x140021f4e
cmp dword [0x14031525c], 0
je 0x140021f4e
lea rdx, [rbx + 0x90]
mov qword [rsp + 0x20], r12
mov r9d, listen
lea r8, [rbp + 8]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movsd xmm0, qword [rbp + 8]
movsd qword [rbp + 0x288], xmm0
mov eax, dword [rbp + 0x10]
mov dword [rbp + 0x290], eax
lea rdx, [rbp + 0x200]
lea rcx, [rbp + 0x360]
call fcn.140016020
mov r9d, 0x796e
mov r8, rax
lea rdx, [rbp + 0x180]
call fcn.1400245e0
movsd xmm0, qword [rax]
movsd qword [rbp + 0x20], xmm0
mov eax, dword [rax + 8]
mov dword [rbp + 0x28], eax
lea r8, [rbp + 0x20]
lea rdx, [rbp + 0x30]
call fcn.140025860
movsd xmm0, qword [rax]
movsd qword [rbp + 0x298], xmm0
mov rdx, qword [0x140315220]
add rdx, rbx
mov rcx, qword [0x140315308]
test rcx, rcx
je 0x140021feb
cmp dword [0x14031525c], 0
je 0x140021feb
mov qword [rsp + 0x20], r12
mov r9d, 1
lea r8, [rbp + 0xd8]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movzx eax, byte [rbp + 0xd8]
test al, 0xdb
jne 0x140021ffe
cmp al, 0x20
je 0x140021ffe
xor al, al
jmp 0x140022000
mov al, 1
mov byte [rbp + 0x294], al
cmp byte [rbp + 0x210], 0
je 0x14002206f
mov qword [0x140315a10], rbx
movzx eax, byte [rbp + 0x51]
mov byte [0x140315918], al
mov dword [0x140315a18], edi
movsd xmm0, qword [rbp + 0x288]
movsd qword [0x140315a24], xmm0
mov eax, dword [rbp + 0x290]
mov dword [0x140315a2c], eax
movsd qword [rbp + 0x2a0], xmm0
mov dword [rbp + 0x2a8], eax
lea r8, [rbp + 0x2a0]
lea rdx, [rbp + 0x168]
call fcn.140025860
movsd xmm0, qword [rax]
movsd qword [0x140315a1c], xmm0
mov rax, qword [0x140315a00]
cmp rax, qword [0x140315a08]
je 0x14002209b
lea rdx, [rbp + 0x200]
mov rcx, rax
call fcn.140016020
add qword [0x140315a00], 0xa0
jmp 0x1400220b2
lea r8, [rbp + 0x200]
mov rdx, rax
lea rcx, [0x1403159f8]
call fcn.140028910
nop
lea rcx, [rbp + 0x200]
call fcn.140005720
nop
lea rcx, [rbp + 0x88]
call fcn.140005790
mov rdx, qword [rbp + 0x70]
cmp rdx, 0xf
jbe 0x140022102
inc rdx
mov rcx, qword [rbp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400220fd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140022121
call fcn.1400cfc94
mov qword [rbp + 0x68], r12
mov qword [rbp + 0x70], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x58], 0
mov rcx, qword [0x140315308]
inc rdi
jmp 0x1400217b0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
lea rcx, [0x140315958]
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
cmp byte [0x140315918], 0
jne 0x140023d32
cmp qword [0x140315898], 2
jae 0x140023d32
cmp qword [0x140315858], 0
je 0x140022168
cmp qword [0x140315878], 0
jne 0x140022da3
mov dword [rbp + 0x170], 0x208
movabs rax, 0x5230c3ac61317f5c
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x320], rax
movabs rax, 0x3a11307120e8bf37
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x328], rax
movabs rax, 0x56018ab583e8b3bd
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x330], rax
movabs rax, 0x9d190b80562b3223
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x338], rax
movabs rax, 0xbe61a05a4f2f52a5
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x340], rax
movabs rax, 0xc0f4f74aa85f838d
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x348], rax
movabs rdx, 0xccab5e885c880225
mov qword [rbp + 0xd0], rdx
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x350], rax
movabs rcx, 0x424f1ab1734fe36e
mov qword [rbp + 0xd0], rcx
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x358], rax
movabs rax, 0x5264c3ea617e7f0f
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x2e0], rax
movabs rax, 0x3a54302320a9bf60
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x2e8], rax
movabs r15, 0x56758adc83abb3e1
mov qword [rbp + 0xd0], r15
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x2f0], rax
movabs r13, 0x9d770be55651324a
mov qword [rbp + 0xd0], r13
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x2f8], rax
movabs r14, 0xbe27a0064f7752e3
mov qword [rbp + 0xd0], r14
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x300], rax
movabs rdi, 0xc0b9f72fa82983e4
mov qword [rbp + 0xd0], rdi
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x308], rax
mov qword [rbp + 0xd0], rdx
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x310], rax
mov qword [rbp + 0xd0], rcx
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x318], rax
vmovdqu ymm0, ymmword [rbp + 0x320]
vpxor ymm1, ymm0, ymmword [rbp + 0x2e0]
vmovdqa ymmword [rbp + 0x320], ymm1
vmovdqu ymm0, ymmword [rbp + 0x340]
vpxor ymm1, ymm0, ymmword [rbp + 0x300]
vmovdqa ymmword [rbp + 0x340], ymm1
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
vzeroupper
nop dword [rax]
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 0x140022414
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x140022414
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, 0x30696a46
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x14002240f
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x1400223f0
cmp edx, 0x67f6e1b
je 0x140022419
test r9d, r9d
jne 0x1400223d0
mov rax, qword [rax]
jmp 0x1400223a0
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 + 0x160]
mov qword [rsp + 0x20], rcx
mov r9d, 0x20019
xor r8d, r8d
lea rdx, [rbp + 0x320]
mov rcx, 0xffffffff80000001
call rax
test eax, eax
jne 0x140022d8b
movabs rax, 0x5210c399611f7f43
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x2e0], rax
movabs rax, 0x3a3a305620fbbf40
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x2e8], rax
movabs rax, 0x56168ab383e7b3c1
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x2f0], rax
movabs rax, 0x9d180b8c5625322b
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x2f8], rax
movabs rax, 0xbe27a0064f77528d
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x300], rax
mov qword [rbp + 0xd0], rdi
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x308], rax
movabs rax, 0x5264c3ea617e7f0f
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x320], rax
movabs rbx, 0x3a54302320a9bf60
mov qword [rbp + 0xd0], rbx
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x328], rax
mov qword [rbp + 0xd0], r15
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x330], rax
mov qword [rbp + 0xd0], r13
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x338], rax
mov qword [rbp + 0xd0], r14
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x340], rax
mov qword [rbp + 0xd0], rdi
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x348], rax
vmovdqu ymm0, ymmword [rbp + 0x2e0]
vpxor ymm1, ymm0, ymmword [rbp + 0x320]
vmovdqa ymmword [rbp + 0x2e0], ymm1
vmovdqa xmm0, xmmword [rbp + 0x300]
vxorps xmm0, xmm0, xmmword [rbp + 0x340]
vmovdqa xmmword [rbp + 0x300], xmm0
lea rax, [rbp + 0x170]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x360]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x2e0]
mov rcx, qword [rbp + 0x160]
vzeroupper
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140022cdc
movabs rdi, 0x3105a0b6000a1e6b
mov qword [rbp + 0xd0], rdi
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x100], rax
movabs r14, 0x5227515143f5da08
mov qword [rbp + 0xd0], r14
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x108], rax
movabs r15, 0x5675f3aef7cede8e
mov qword [rbp + 0xd0], r15
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x110], rax
mov qword [rbp + 0xd0], r13
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x118], rax
movabs rax, 0x5264c3ea617e7f0f
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x2c0], rax
mov qword [rbp + 0xd0], rbx
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x2c8], rax
movabs rax, 0x56758adc83abb3e1
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x2d0], rax
mov qword [rbp + 0xd0], r13
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x2d8], rax
vmovdqu ymm0, ymmword [rbp + 0x100]
vpxor ymm1, ymm0, ymmword [rbp + 0x2c0]
vmovdqa ymmword [rbp + 0x100], ymm1
lea rdx, [rbp + 0x360]
lea rcx, [rbp + 0x2e0]
vzeroupper
call fcn.140026df0
mov rdx, rax
lea rcx, [rbp + 0x2c0]
call fcn.14006f100
nop
lea rcx, [rbp + 0x100]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rcx + r8], 0
jne 0x140022734
lea rdx, [rbp + 0x100]
mov rcx, rax
call fcn.1400038b0
xorps xmm0, xmm0
movups xmmword [rbp + 0x180], xmm0
mov qword [rbp + 0x190], r12
mov qword [rbp + 0x198], r12
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x180], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x190], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
mov rdx, qword [rbp + 0x2d8]
cmp rdx, 0xf
jbe 0x1400227cd
inc rdx
mov rcx, qword [rbp + 0x2c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400227c8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400227c8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400cfc94
mov qword [rbp + 0x2d0], r12
mov qword [rbp + 0x2d8], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x2c0], 0
lea rax, [rbp + 0x180]
cmp qword [rbp + 0x198], 0xf
cmova rax, qword [rbp + 0x180]
mov qword [rbp + 0x100], rax
mov rax, qword [rbp + 0x190]
mov qword [rbp + 0x108], rax
call fcn.1400cf4a0
movaps xmm0, xmmword [rbp + 0x100]
movdqa xmmword [rbp + 0x100], xmm0
lea r8, [rbp + 0x100]
mov edx, eax
lea rcx, [rbp + 0x2a0]
call fcn.14001b780
nop
lea rcx, [rbp + 0x2a0]
cmp qword [rbp + 0x2b8], 7
cmova rcx, qword [rbp + 0x2a0]
mov r9d, 0xffffffff
mov r8d, 3
lea rdx, [rbp + 0x100]
call fcn.1400cf5dc
mov r8d, eax
test eax, eax
jne 0x1400228a8
mov edx, dword [rbp + 0x110]
mov ecx, edx
shr ecx, 0xa
test cl, 1
je 0x14002289d
mov eax, dword [rbp + 0x114]
cmp eax, 0xa000000c
je 0x1400228c5
cmp eax, 0xa0000003
jne 0x14002289d
mov esi, 0xa
jmp 0x1400228c5
shr edx, 4
and edx, 1
lea esi, [rdx + 2]
jmp 0x1400228c5
sub eax, 2
je 0x1400228c0
sub eax, 1
je 0x1400228c0
sub eax, 0x32
je 0x1400228c0
cmp eax, 0x46
je 0x1400228c0
xor al, al
jmp 0x1400228c2
mov al, 1
movzx esi, al
mov dword [rbp + 0x100], r8d
lea rax, [0x1402ec118]
mov qword [rbp + 0x108], rax
movaps xmm0, xmmword [rbp + 0x100]
movdqa xmmword [rbp + 0x120], xmm0
test esi, esi
je 0x140022945
mov dword [rbp + 0x120], r12d
mov qword [rbp + 0x128], rax
cmp esi, 1
setne bl
mov rdx, qword [rbp + 0x2b8]
cmp rdx, 7
jbe 0x140022957
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x2a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140022952
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140022952
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
xor bl, bl
test r8d, r8d
jne 0x140023d3f
jmp 0x140022901
call fcn.1400cfc94
mov qword [rbp + 0x2b0], r12
mov qword [rbp + 0x2b8], 7
mov word [rbp + 0x2a0], r12w
test bl, bl
je 0x140022c7f
lea rdx, [rbp + 0x360]
lea rcx, [rbp + 0x120]
call fcn.140026df0
mov rdx, rax
lea rcx, [rbp + 0x100]
call fcn.14006f100
mov rbx, rax
lea rax, [0x140315848]
cmp rax, rbx
je 0x140022a24
mov rdx, qword [0x140315860]
cmp rdx, 0xf
jbe 0x1400229e7
mov rcx, qword [0x140315848]
inc rdx
cmp rdx, 0x1000
jb 0x1400229e2
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140022a5c
mov rcx, r8
call fcn.1400cfc94
mov qword [0x140315858], r12
mov qword [0x140315860], 0xf
mov byte [0x140315848], 0
movups xmm0, xmmword [rbx]
movups xmmword [0x140315848], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [0x140315858], xmm1
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbx], 0
mov rdx, qword [rbp + 0x118]
cmp rdx, 0xf
jbe 0x140022a68
inc rdx
mov rcx, qword [rbp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140022a63
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140022a63
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400cfc94
mov qword [rbp + 0x110], r12
mov qword [rbp + 0x118], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x100], 0
mov qword [rbp + 0xd0], rdi
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x100], rax
mov qword [rbp + 0xd0], r14
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x108], rax
mov qword [rbp + 0xd0], r15
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x110], rax
mov qword [rbp + 0xd0], r13
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x118], rax
movabs rax, 0x5264c3ea617e7f0f
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x2a0], rax
movabs rax, 0x3a54302320a9bf60
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x2a8], rax
movabs rax, 0x56758adc83abb3e1
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x2b0], rax
mov qword [rbp + 0xd0], r13
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x2b8], rax
vmovdqu ymm0, ymmword [rbp + 0x100]
vpxor ymm1, ymm0, ymmword [rbp + 0x2a0]
vmovdqa ymmword [rbp + 0x100], ymm1
lea rdx, [rbp + 0x360]
lea rcx, [rbp + 0x320]
vzeroupper
call fcn.140026df0
mov rdx, rax
lea rcx, [rbp + 0x120]
call fcn.14006f100
nop
lea rcx, [rbp + 0x100]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rcx + r8], 0
jne 0x140022b93
lea rdx, [rbp + 0x100]
mov rcx, rax
call fcn.1400038b0
movups xmm6, xmmword [rax]
movups xmmword [rbp + 0x2e0], xmm6
movups xmm7, xmmword [rax + 0x10]
movups xmmword [rbp + 0x2f0], xmm7
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
mov rdx, qword [0x140315880]
cmp rdx, 0xf
jbe 0x140022c0d
mov rcx, qword [0x140315868]
inc rdx
cmp rdx, 0x1000
jb 0x140022c08
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140022c5a
mov rcx, r8
call fcn.1400cfc94
movups xmmword [0x140315868], xmm6
movups xmmword [0x140315878], xmm7
mov rdx, qword [rbp + 0x138]
cmp rdx, 0xf
jbe 0x140022c66
inc rdx
mov rcx, qword [rbp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140022c61
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140022c61
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.1400cfc94
mov qword [rbp + 0x130], r12
mov qword [rbp + 0x138], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x120], 0
mov rdx, qword [rbp + 0x198]
cmp rdx, 0xf
jbe 0x140022cc3
inc rdx
mov rcx, qword [rbp + 0x180]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140022cbe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140022cbe
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400cfc94
mov qword [rbp + 0x190], r12
mov qword [rbp + 0x198], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x180], 0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov r11d, dword [rcx + r10 + 0x88]
add r11, r10
cmp r11, r10
je 0x140022d64
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x140022d64
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, 0xf5bea142
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x140022d5f
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x140022d40
cmp edx, 0x7183939b
je 0x140022d69
test r9d, r9d
jne 0x140022d20
mov rax, qword [rax]
jmp 0x140022cf0
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 + 0x160]
call rax
cmp qword [0x140315878], 0
jne 0x140022da3
cmp qword [0x140315898], 0
jne 0x140023c74
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0x360]
call sub.VCRUNTIME140.dll_memset
lea rdx, [0x140315868]
cmp qword [0x140315880], 0xf
cmova rdx, qword [0x140315868]
lea rcx, [rbp + 0x360]
call fcn.1400272a0
mov rax, qword [rbp + 0x360]
movsxd rcx, dword [rax + 4]
lea rbx, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x360], rbx
mov rax, qword [rbp + 0x360]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x35c], edx
xorps xmm0, xmm0
movups xmmword [rbp + 0x1a0], xmm0
mov qword [rbp + 0x1b0], r12
mov qword [rbp + 0x1b8], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x1a0], 0
cmp qword [rbp + 0x3f0], 0
je 0x140023bc5
xor eax, eax
movups xmmword [rbp + 0x2a0], xmm0
mov qword [rbp + 0x2b0], rax
mov qword [rbp + 0x120], r12
mov word [rbp + 0x128], 1
mov rax, qword [rbp + 0x360]
movsxd rcx, dword [rax + 4]
mov rax, qword [rbp + rcx + 0x3a8]
mov qword [rbp + 0x180], rax
test rax, rax
sete byte [rbp + 0x188]
mov byte [rbp + 0x189], 0
movdqu xmmword [rbp + 0x2a0], xmm0
mov qword [rbp + 0x2b0], r12
lea rcx, [rbp + 0x2a0]
mov qword [rbp + 0xd0], rcx
movaps xmm0, xmmword [rbp + 0x120]
movdqa xmmword [rbp + 0x120], xmm0
movaps xmm1, xmmword [rbp + 0x180]
movdqa xmmword [rbp + 0x180], xmm1
movzx esi, byte [rbp + 0x189]
mov rbx, qword [rbp + 0x180]
movzx r15d, byte [rbp + 0x128]
mov rdi, qword [rbp + 0x120]
test rax, rax
jne 0x140022eef
movzx r14d, byte [rbp + 0x188]
jmp 0x140022f10
test rbx, rbx
je 0x140022f07
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::sgetc_void____ptr64]
cmp eax, 0xffffffff
je 0x140022f07
movzx esi, al
jmp 0x140022f0a
mov rbx, r12
mov r14b, 1
nop dword [rax]
test r15b, r15b
jne 0x140022f2e
test rdi, rdi
je 0x140022f28
mov rcx, rdi
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::sgetc_void____ptr64]
cmp eax, 0xffffffff
jne 0x140022f2b
mov rdi, r12
mov r15b, 1
test rbx, rbx
jne 0x140022f82
test rdi, rdi
jne 0x140022f87
mov qword [rbp + 0xd0], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x100], xmm0
mov qword [rbp + 0x110], r12
mov qword [rbp + 0x118], r12
mov rdx, qword [rbp + 0x2a0]
cmp rdx, qword [rbp + 0x2a8]
jne 0x14002300b
mov qword [rbp + 0x118], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x100], 0
jmp 0x140023021
test rdi, rdi
jne 0x140022f38
test r14b, r14b
jne 0x140022fa7
test rbx, rbx
je 0x140022fa4
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::sgetc_void____ptr64]
cmp eax, 0xffffffff
je 0x140022fa4
movzx esi, al
jmp 0x140022fa7
mov rbx, r12
mov byte [rbp + 0xd8], sil
mov rax, qword [rbp + 0x2a8]
cmp rax, qword [rbp + 0x2b0]
je 0x140022fca
mov byte [rax], sil
inc qword [rbp + 0x2a8]
jmp 0x140022fe4
lea r8, [rbp + 0xd8]
mov rdx, qword [rbp + 0x2a8]
lea rcx, [rbp + 0x2a0]
call fcn.140010c20
test rbx, rbx
je 0x140022f07
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::sbumpc_void____ptr64]
cmp eax, 0xffffffff
je 0x140022f07
mov byte [rbp + 0x188], 0
jmp 0x140022eef
mov r8, qword [rbp + 0x2a8]
sub r8, rdx
lea rcx, [rbp + 0x100]
call fcn.140004530
mov rax, qword [rbp + 0x1b8]
cmp rax, 0xf
jbe 0x140023066
lea rdx, [rax + 1]
mov rcx, qword [rbp + 0x1a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140023061
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140023061
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400cfc94
movups xmm0, xmmword [rbp + 0x100]
movups xmmword [rbp + 0x1a0], xmm0
movups xmm1, xmmword [rbp + 0x110]
movups xmmword [rbp + 0x1b0], xmm1
mov qword [rbp + 0x110], r12
mov qword [rbp + 0x118], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x100], 0
movq rax, xmm1
test rax, rax
je 0x140023b46
movabs rax, 0x2001b0b5150d1e63
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x120], rax
movabs rax, 0x3a3842567fdbda16
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x128], rax
movabs rax, 0x5264c3ea617e7f0f
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x100], rax
movabs r15, 0x3a54302320a9bf60
mov qword [rbp + 0xd0], r15
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x108], rax
movdqa xmm0, xmmword [rbp + 0x100]
xorps xmm0, xmmword [rbp + 0x120]
movdqa xmmword [rbp + 0x120], xmm0
lea rax, [rbp + 0x120]
mov rdi, 0xffffffffffffffff
nop word [rax + rax]
inc rdi
cmp byte [rax + rdi], 0
jne 0x140023150
lea r14, [rbp + 0x1a0]
mov r13, qword [rbp + 0x1a0]
mov rcx, qword [rbp + 0x1b8]
cmp rcx, 0xf
cmova r14, r13
mov rsi, qword [rbp + 0x1b0]
cmp rdi, rsi
ja 0x14002320e
test rdi, rdi
jne 0x140023193
mov rbx, r12
jmp 0x140023215
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 0x1400231fa
nop
mov r8, rdi
lea rdx, [rbp + 0x120]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400233a8
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 0x1400231c0
mov rcx, qword [rbp + 0x1b8]
xor r12d, r12d
movabs r15, 0x3a54302320a9bf60
mov rbx, 0xffffffffffffffff
cmp rbx, 0xffffffffffffffff
je 0x140023b46
add rbx, 0xf
xorps xmm0, xmm0
movups xmmword [rbp + 0x140], xmm0
mov qword [rbp + 0x150], r12
mov qword [rbp + 0x158], r12
cmp rsi, rbx
jb 0x140023d53
sub rsi, rbx
mov r8, 0xffffffffffffffff
cmp rsi, r8
cmovb r8, rsi
lea rdx, [rbp + 0x1a0]
cmp rcx, 0xf
cmova rdx, r13
add rdx, rbx
lea rcx, [rbp + 0x140]
call fcn.140004530
nop
movabs rax, 0x2001b0b5150d1e63
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x120], rax
movabs r13, 0x3a3842567fdbda16
mov qword [rbp + 0xd0], r13
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x128], rax
movabs rax, 0x5264c3ea617e7f0f
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x100], rax
mov qword [rbp + 0xd0], r15
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x108], rax
movdqa xmm0, xmmword [rbp + 0x100]
xorps xmm0, xmmword [rbp + 0x120]
movdqa xmmword [rbp + 0x120], xmm0
lea rax, [rbp + 0x120]
mov rdi, 0xffffffffffffffff
nop dword [rax + rax]
inc rdi
cmp byte [rax + rdi], 0
jne 0x140023310
lea rsi, [rbp + 0x140]
cmp qword [rbp + 0x158], 0xf
cmova rsi, qword [rbp + 0x140]
mov rax, qword [rbp + 0x150]
cmp rdi, rax
ja 0x1400233cd
test rdi, rdi
je 0x1400235e5
sub rax, rdi
lea r14, [rax + rsi]
movq rax, xmm0
movsx r15d, al
lea r8, [r14 + 1]
sub r8, rsi
mov edx, r15d
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x1400233cd
mov r8, rdi
lea rdx, [rbp + 0x120]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400233c4
inc rbx
lea r8, [r14 + 1]
sub r8, rbx
mov edx, r15d
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x140023373
jmp 0x1400233cd
sub rbx, r14
mov rcx, qword [rbp + 0x1b8]
xor r12d, r12d
movabs r15, 0x3a54302320a9bf60
jmp 0x140023215
cmp rbx, rsi
je 0x1400235e5
movabs rax, 0x2001b0b5150d1e63
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x120], rax
mov qword [rbp + 0xd0], r13
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x128], rax
movabs rax, 0x5264c3ea617e7f0f
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x100], rax
movabs rax, 0x3a54302320a9bf60
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x108], rax
movdqa xmm0, xmmword [rbp + 0x100]
xorps xmm0, xmmword [rbp + 0x120]
movdqa xmmword [rbp + 0x120], xmm0
lea rax, [rbp + 0x120]
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [rax + rdi], 0
jne 0x140023464
lea r14, [rbp + 0x140]
mov r13, qword [rbp + 0x140]
mov rcx, qword [rbp + 0x158]
cmp rcx, 0xf
cmova r14, r13
mov rsi, qword [rbp + 0x150]
cmp rdi, rsi
ja 0x140023514
test rdi, rdi
jne 0x1400234a4
mov rbx, r12
jmp 0x14002351b
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 0x14002350a
mov r8, rdi
lea rdx, [rbp + 0x120]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400236c9
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 0x1400234d0
mov rcx, qword [rbp + 0x158]
xor r12d, r12d
mov rbx, 0xffffffffffffffff
add rbx, 0xf
xorps xmm0, xmm0
movups xmmword [rbp + 0x100], xmm0
mov qword [rbp + 0x110], r12
mov qword [rbp + 0x118], r12
cmp rsi, rbx
jb 0x140023d39
sub rsi, rbx
mov r8, 0xffffffffffffffff
cmp rsi, r8
cmovb r8, rsi
lea rdx, [rbp + 0x140]
cmp rcx, 0xf
cmova rdx, r13
add rdx, rbx
lea rcx, [rbp + 0x100]
call fcn.140004530
mov rdx, qword [rbp + 0x158]
cmp rdx, 0xf
jbe 0x1400235b0
inc rdx
mov rcx, qword [rbp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400235ab
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023b3a
call fcn.1400cfc94
movups xmm0, xmmword [rbp + 0x100]
movups xmmword [rbp + 0x140], xmm0
movups xmm1, xmmword [rbp + 0x110]
movups xmmword [rbp + 0x150], xmm1
mov qword [rbp + 0x110], r12
mov qword [rbp + 0x118], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x100], 0
movabs rax, 0x2001b0b5150d1e63
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x120], rax
movabs rax, 0x3a54302320dbda16
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x128], rax
movabs rax, 0x5264c3ea617e7f0f
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x100], rax
movabs r15, 0x3a54302320a9bf60
mov qword [rbp + 0xd0], r15
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x108], rax
movdqa xmm0, xmmword [rbp + 0x100]
xorps xmm0, xmmword [rbp + 0x120]
movdqa xmmword [rbp + 0x120], xmm0
lea rax, [rbp + 0x120]
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [rax + rdi], 0
jne 0x140023686
lea r14, [rbp + 0x140]
mov r13, qword [rbp + 0x140]
mov rcx, qword [rbp + 0x158]
cmp rcx, 0xf
cmova r14, r13
mov rsi, qword [rbp + 0x150]
cmp rdi, rsi
ja 0x14002375e
test rdi, rdi
jne 0x1400236db
mov rbx, r12
jmp 0x140023765
sub rbx, r14
mov rcx, qword [rbp + 0x158]
xor r12d, r12d
jmp 0x14002351b
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 0x14002374a
nop word [rax + rax]
mov r8, rdi
lea rdx, [rbp + 0x120]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400238ff
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 0x140023710
mov rcx, qword [rbp + 0x158]
xor r12d, r12d
movabs r15, 0x3a54302320a9bf60
mov rbx, 0xffffffffffffffff
add rbx, 0xb
xorps xmm0, xmm0
movups xmmword [rbp + 0x100], xmm0
mov qword [rbp + 0x110], r12
mov qword [rbp + 0x118], r12
cmp rsi, rbx
jb 0x140023d39
sub rsi, rbx
mov r8, 0xffffffffffffffff
cmp rsi, r8
cmovb r8, rsi
lea rdx, [rbp + 0x140]
cmp rcx, 0xf
cmova rdx, r13
add rdx, rbx
lea rcx, [rbp + 0x100]
call fcn.140004530
mov rdx, qword [rbp + 0x158]
cmp rdx, 0xf
jbe 0x1400237fa
inc rdx
mov rcx, qword [rbp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400237f5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023b3a
call fcn.1400cfc94
movups xmm0, xmmword [rbp + 0x100]
movups xmmword [rbp + 0x140], xmm0
movups xmm1, xmmword [rbp + 0x110]
movups xmmword [rbp + 0x150], xmm1
mov qword [rbp + 0x110], r12
mov qword [rbp + 0x118], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x100], 0
movabs rax, 0x5264c3ea617e7f35
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x120], rax
mov qword [rbp + 0xd0], r15
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x128], rax
movabs rax, 0x5264c3ea617e7f0f
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x100], rax
mov qword [rbp + 0xd0], r15
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x108], rax
movdqa xmm0, xmmword [rbp + 0x100]
xorps xmm0, xmmword [rbp + 0x120]
movdqa xmmword [rbp + 0x120], xmm0
lea rax, [rbp + 0x120]
mov rdi, 0xffffffffffffffff
nop dword [rax]
inc rdi
cmp byte [rax + rdi], 0
jne 0x1400238c0
lea rsi, [rbp + 0x140]
mov r13, qword [rbp + 0x140]
cmp qword [rbp + 0x158], 0xf
cmova rsi, r13
mov r12, qword [rbp + 0x150]
cmp rdi, r12
ja 0x14002398a
test rdi, rdi
jne 0x14002391b
xor ebx, ebx
jmp 0x140023991
sub rbx, r14
mov rcx, qword [rbp + 0x158]
xor r12d, r12d
movabs r15, 0x3a54302320a9bf60
jmp 0x140023765
mov r14, r12
sub r14, rdi
movq rax, xmm0
movsx r15d, al
lea r8, [rsi + 1]
add r8, r14
sub r8, rsi
mov edx, r15d
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x14002398a
nop word [rax + rax]
mov r8, rdi
lea rdx, [rbp + 0x120]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140023b32
inc rbx
lea r8, [rsi + 1]
add r8, r14
sub r8, rbx
mov edx, r15d
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x140023950
mov rbx, 0xffffffffffffffff
xorps xmm0, xmm0
movups xmmword [rbp + 0x2c0], xmm0
mov qword [rbp + 0x2d0], 0
mov qword [rbp + 0x2d8], 0
mov r8, rbx
cmp r12, rbx
cmovb r8, r12
lea rdx, [rbp + 0x140]
cmp qword [rbp + 0x158], 0xf
cmova rdx, r13
lea rcx, [rbp + 0x2c0]
call fcn.140004530
mov rdx, qword [0x1403158a0]
cmp rdx, 0xf
jbe 0x140023a1b
mov rcx, qword [0x140315888]
inc rdx
cmp rdx, 0x1000
jb 0x140023a16
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140023b3a
mov rcx, r8
call fcn.1400cfc94
movups xmm0, xmmword [rbp + 0x2c0]
movups xmmword [0x140315888], xmm0
movups xmm1, xmmword [rbp + 0x2d0]
movups xmmword [0x140315898], xmm1
lea rcx, [rbx + 1]
xorps xmm0, xmm0
movups xmmword [rbp + 0x2c0], xmm0
xor r12d, r12d
mov qword [rbp + 0x2d0], r12
mov qword [rbp + 0x2d8], r12
mov rax, qword [rbp + 0x150]
cmp rax, rcx
jb 0x140023d39
lea r8, [rbx + 5]
sub rax, rcx
cmp rax, r8
cmovb r8, rax
lea rdx, [rbp + 0x140]
cmp qword [rbp + 0x158], 0xf
cmova rdx, qword [rbp + 0x140]
add rdx, rcx
lea rcx, [rbp + 0x2c0]
call fcn.140004530
mov rdx, qword [0x1403158c0]
cmp rdx, 0xf
jbe 0x140023ad7
mov rcx, qword [0x1403158a8]
inc rdx
cmp rdx, 0x1000
jb 0x140023ad2
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140023b3a
mov rcx, r8
call fcn.1400cfc94
movups xmm0, xmmword [rbp + 0x2c0]
movups xmmword [0x1403158a8], xmm0
movups xmm1, xmmword [rbp + 0x2d0]
movups xmmword [0x1403158b8], xmm1
mov rdx, qword [rbp + 0x158]
cmp rdx, 0xf
jbe 0x140023b46
inc rdx
mov rcx, qword [rbp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140023b41
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140023b41
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
sub rbx, rsi
jmp 0x140023991
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.1400cfc94
lea rcx, [rbp + 0x370]
call fcn.1400271e0
test rax, rax
jne 0x140023b7b
mov rax, qword [rbp + 0x360]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x360]
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]
nop
mov rcx, qword [rbp + 0x2a0]
test rcx, rcx
je 0x140023bbe
mov rdx, qword [rbp + 0x2b0]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140023bb9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140023bb9
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400cfc94
lea rbx, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov rax, qword [rbp + 0x1b8]
cmp rax, 0xf
jbe 0x140023c0a
lea rdx, [rax + 1]
mov rcx, qword [rbp + 0x1a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140023c05
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140023c05
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400cfc94
mov qword [rbp + 0x1b0], r12
mov qword [rbp + 0x1b8], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x1a0], 0
mov rax, qword [rbp + 0x360]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x360], rbx
mov rax, qword [rbp + 0x360]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x35c], edx
lea rcx, [rbp + 0x370]
call fcn.140026d80
lea rcx, [rbp + 0x378]
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 + 0x410]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
cmp qword [0x140315898], 5
jb 0x140023d2b
cmp qword [0x1403158b8], 2
jb 0x140023d2b
mov ecx, 8
call fcn.1400cfa10
lea rcx, [0x140315750]
mov qword [rax], rcx
mov qword [rbp + 0x168], rax
lea rcx, [rbp + 0x128]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r12d
mov r9, rax
lea r8, [0x140028af0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbp + 0x120], rax
test rax, rax
je 0x140023d18
cmp dword [rbp + 0x128], 0
je 0x140023d0c
movaps xmm0, xmmword [rbp + 0x120]
movdqa xmmword [rbp + 0x100], xmm0
lea rcx, [rbp + 0x100]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
jne 0x140023d0c
mov al, 1
jmp 0x1400215e4
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov dword [rbp + 0x128], r12d
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov byte [0x140315918], 1
mov al, 1
jmp 0x1400215e4
call fcn.140009aa0
nop
lea r8, [rbp + 0x2a0]
lea rdx, [rbp + 0x120]
call fcn.14001c200
nop
call fcn.140009aa0
int3