Function at 0x14001e860
Capabilities:
Create thread
Encode data using xor
Execute command
Generate random numbers using a mersenne twister
Initialize winsock library
Set console window title
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x1470]
mov eax, 0x1570
call fcn.140089f50
sub rsp, rax
mov rax, qword [0x1400b30a0]
xor rax, rsp
mov qword [rbp + 0x1460], rax
mov dword [0x1400b41c4], 0x7d0
mov byte [0x1400b41db], 1
mov byte [0x1400b41d8], 1
mov byte [0x1400b41dc], 1
mov byte [0x1400b41c3], 1
mov byte [0x1400b41d9], 1
mov byte [0x1400b41da], 1
mov ecx, 8
call fcn.140089518
lea rcx, [0x14001dd00]
mov qword [rax], rcx
mov qword [rbp + 0x68], rax
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x28], rcx
xor r14d, r14d
mov dword [rsp + 0x20], r14d
mov r9, rax
lea r8, [0x140022780]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14001fbc4
cmp dword [rsp + 0x38], r14d
jne 0x14001e92c
lea ecx, [r14 + 1]
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rbp - 0x60], xmm0
lea rcx, [rbp - 0x60]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
je 0x14001e94d
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
nop
mov ecx, 8
call fcn.140089518
lea rcx, [0x14001d750]
mov qword [rax], rcx
mov qword [rbp + 0x68], rax
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r14d
mov r9, rax
lea r8, [0x140022780]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14001fbb3
cmp dword [rsp + 0x38], 0
jne 0x14001e9a9
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rbp - 0x60], xmm0
lea rcx, [rbp - 0x60]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
je 0x14001e9ca
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
nop
movups xmm0, xmmword [str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz]
movups xmmword [rbp + 0x1420], xmm0
movups xmm1, xmmword [0x1400a5430]
movups xmmword [rbp + 0x1430], xmm1
movups xmm0, xmmword [0x1400a5440]
movups xmmword [rbp + 0x1440], xmm0
movsd xmm1, qword [0x1400a5450]
movsd qword [rbp + 0x1450], xmm1
mov eax, dword [0x1400a5458]
mov dword [rbp + 0x1458], eax
movzx eax, word [0x1400a545c]
mov word [rbp + 0x145c], ax
movzx eax, byte [0x1400a545e]
mov byte [rbp + 0x145e], al
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x1414], 0xffffffff
mov dword [rbp + 0x94], eax
mov edx, 1
nop word [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rbp + rdx*4 + 0x94], eax
inc rdx
cmp rdx, 0x270
jb 0x14001ea50
mov dword [rbp + 0x90], 0x270
mov ecx, reloc.WS2_32.dll_listen
call fcn.1400897a4
mov rdi, rax
mov rbx, r14
nop dword [rax]
lea rcx, [rbp + 0x90]
call fcn.1400225f0
mov r8d, eax
mov eax, 0x8421085
mul r8d
mov ecx, r8d
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
cmp ecx, 0x4210842
jae 0x14001ea90
mov eax, 0x8421085
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
imul eax, eax, 0x3e
sub r8d, eax
movsxd rax, r8d
movzx ecx, byte [rbp + rax + 0x1420]
mov byte [rbx + rdi], cl
inc rbx
cmp rbx, 0xc
jb 0x14001ea90
mov byte [rdi + 0xc], 0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
lea rcx, [0x1400b4250]
call fcn.1400324a0
lea rcx, [0x1400b4250]
call fcn.14002d3f0
test al, al
je 0x14001eb1c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
int3
movdqa xmm0, xmmword [0x1400a5880]
movdqu xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x40], 0xb3b9b8b3
mov dword [rsp + 0x44], 0xc1dabaad
mov word [rsp + 0x48], 0x100
mov rcx, r14
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx - 0x36]
xor byte [rsp + rcx + 0x30], al
inc rcx
cmp rcx, 0x18
jb 0x14001eb50
mov byte [rsp + 0x49], 0
lea rdx, [rsp + 0x30]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140014bb0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call fcn.140022000
lea rdx, [0x1400b3118]
lea rcx, [rsp + 0x30]
call fcn.1400150b0
mov rdx, rax
lea rcx, [0x1400b4250]
call fcn.140033b60
cmp byte [0x1400b4460], 0
jne 0x14001ec4e
mov dword [rsp + 0x30], 0xb8caa9ce
mov dword [rsp + 0x34], 0xe8faeeea
mov dword [rsp + 0x38], 0x80a5ede8
mov word [rsp + 0x3c], 0x100
lea rdx, [rsp + 0x30]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140017900
mov rcx, rax
lea rdx, [0x1400a535c]
call fcn.140014bb0
mov rcx, rax
lea rdx, str.e_31m
call fcn.140014bb0
mov rcx, rax
lea rdx, [0x1400b4468]
call fcn.140014d80
mov rcx, rax
lea rdx, str.e_0m
call fcn.140014bb0
mov rcx, rax
lea rdx, [0x1400a5348]
call fcn.140014bb0
lea rdx, [0x140014da0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov ecx, 0x5dc
call qword [sym.imp.KERNEL32.dll_Sleep]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov rbx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov dword [rsp + 0x70], 0xb8caa9ce
mov dword [rsp + 0x74], 0xe8faeeea
mov dword [rsp + 0x78], 0x80a5ede8
mov word [rsp + 0x7c], 0x100
mov rcx, r14
nop word [rax + rax]
lea eax, [rcx - 0x6b]
xor byte [rsp + rcx + 0x70], al
inc rcx
cmp rcx, 0xc
jb 0x14001ec80
mov byte [rsp + 0x7d], 0
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.140014bb0
lea rdx, [0x1400a535c]
mov rcx, rbx
call fcn.140014bb0
mov rcx, rax
lea rdx, str.e_32m
call fcn.140014bb0
lea rdx, [0x1400b4468]
cmp qword [0x1400b4480], 0x10
cmovae rdx, qword [0x1400b4468]
mov r8, qword [0x1400b4478]
mov rcx, rax
call fcn.140014e50
lea rdx, str.e_0m
mov rcx, rax
call fcn.140014bb0
mov rcx, rax
lea rdx, [0x1400a5348]
call fcn.140014bb0
lea rdx, [0x140014da0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov dword [rsp + 0x58], 0xa4bba3ea
mov dword [rsp + 0x5c], 0xf0f5aa
mov byte [rsp + 0x60], 1
movdqa xmm0, xmmword [0x1400a5800]
movdqu xmmword [rsp + 0x30], xmm0
mov word [rsp + 0x40], 0x100
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x70]
call fcn.14001fc40
nop
lea rdx, [0x1400b43d0]
cmp qword [0x1400b43e8], 0x10
cmovae rdx, qword [0x1400b43d0]
mov r8, qword [0x1400b43e0]
mov rcx, rax
call fcn.1400207b0
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x48], r14
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x50], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
lea rdx, [rbp - 0x60]
lea rcx, [0x1400b4250]
call fcn.1400352e0
nop
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x14001edf3
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001edee
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001edee
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140089278
lea rcx, [0x1400a5388]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
call fcn.14001e530
call fcn.14001dfd0
nop word [rax + rax]
mov ecx, 0x202
lea rdx, [rbp + 0x90]
call qword [sym.imp.WS2_32.dll_WSAStartup]
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
call fcn.140012b10
mov qword [0x1400b4518], rax
mov rcx, r14
cmp rax, 0xffffffffffffffff
jne 0x14001ef98
mov dword [rsp + 0x30], 0xeef0f6c2
mov dword [rsp + 0x34], 0xfaf3cbe2
mov dword [rsp + 0x38], 0xd1c0ccdc
mov word [rsp + 0x3c], Ordinal_211
mov byte [rsp + 0x3e], 1
nop word [rax + rax]
lea eax, [rcx - 0x69]
xor byte [rsp + rcx + 0x30], al
inc rcx
cmp rcx, 0xd
jb 0x14001ee70
mov byte [rsp + 0x3e], 0
xor edx, edx
lea rcx, [rsp + 0x30]
call qword [sym.imp.USER32.dll_FindWindowA]
test rax, rax
jne 0x14001f051
call fcn.14001ac30
mov rbx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movdqa xmm0, xmmword [0x1400a58c0]
movdqu xmmword [rsp + 0x70], xmm0
mov dword [rbp - 0x80], 0xb6bfbeb2
mov dword [rbp - 0x7c], 0x100ffe4
mov rcx, r14
nop word [rax + rax]
lea eax, [rcx - 0x36]
xor byte [rsp + rcx + 0x70], al
inc rcx
cmp rcx, 0x16
jb 0x14001eed0
mov byte [rbp - 0x79], 0
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.140014bb0
mov word [rsp + 0x68], 0x5b
mov byte [rsp + 0x6a], 0
lea rdx, [rsp + 0x68]
mov rcx, rbx
call fcn.140014bb0
lea rdx, [0x14001b5b0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov dword [rsp + 0x50], 0x100d3d8
mov rdx, r14
nop word [rax + rax]
lea ecx, [rdx - 0x69]
xor byte [rsp + rdx + 0x50], cl
inc rdx
cmp rdx, 2
jb 0x14001ef30
mov byte [rsp + 0x53], 0
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.140014bb0
lea rdx, [0x14001b550]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov word [rbp + 0x30], 0x5d
mov byte [rbp + 0x32], 0
lea rdx, [rbp + 0x30]
mov rcx, rax
call fcn.140014bb0
lea rdx, [0x140014da0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov ecx, 0x898
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x14001ee10
mov dword [rbp - 0x60], 0xeef0f6c2
mov dword [rbp - 0x5c], 0xfaf3cbe2
mov dword [rbp - 0x58], 0xd1c0ccdc
mov word [rbp - 0x54], Ordinal_211
mov byte [rbp - 0x52], 1
nop word [rax + rax]
lea eax, [rcx - 0x69]
xor byte [rbp + rcx - 0x60], al
inc rcx
cmp rcx, 0xd
jb 0x14001efc0
mov byte [rbp - 0x52], 0
xor edx, edx
lea rcx, [rbp - 0x60]
call qword [sym.imp.USER32.dll_FindWindowA]
mov rcx, r14
test rax, rax
jne 0x14001f0c3
mov rbx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movdqa xmm0, xmmword [0x1400a56e0]
movdqu xmmword [rsp + 0x70], xmm0
mov dword [rbp - 0x80], 0xdcd4d3d7
mov word [rbp - 0x7c], 0x100
nop
lea eax, [rcx - 0x6b]
xor byte [rsp + rcx + 0x70], al
inc rcx
cmp rcx, 0x14
jb 0x14001f010
mov byte [rbp - 0x7b], 0
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.140014bb0
lea rdx, [0x140014da0]
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x14001ee10
mov word [rsp + 0x68], 0x100
lea rcx, [rsp + 0x68]
call fcn.14001e850
mov r8, rax
movdqa xmm0, xmmword [0x1400a5ae0]
movdqu xmmword [rsp + 0x70], xmm0
movdqa xmm1, xmmword [0x1400a5960]
movdqu xmmword [rbp - 0x80], xmm1
mov dword [rbp - 0x70], 0x828a8e88
mov dword [rbp - 0x6c], 0x93d08a9c
mov dword [rbp - 0x68], 0x8695838b
mov dword [rbp - 0x64], 0x100d985
lea rcx, [rsp + 0x70]
call fcn.14001e820
mov r9d, 0x40
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov dword [rsp + 0x30], 0xe9efeec8
mov dword [rsp + 0x34], 0xc4c9f3dd
mov dword [rsp + 0x38], 0xc08ad7cc
mov dword [rsp + 0x3c], 0x100c2de
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0x66]
xor byte [rsp + rcx + 0x30], al
inc rcx
cmp rcx, 0xe
jb 0x14001f0f0
mov byte [rsp + 0x3f], 0
mov qword [rsp + 0x70], r14
mov qword [rbp - 0x80], r14
mov qword [rbp - 0x78], reloc.WS2_32.dll_ntohs
lea rax, [rsp + 0x30]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x14001f122
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x70]
call fcn.1400145d0
lea rcx, [rsp + 0x70]
call fcn.140012c90
mov dword [0x1400b41e4], eax
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x14001f18a
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001f185
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001f185
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140089278
call fcn.140012bc0
mov qword [0x1400b44c8], rax
mov rbx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov dword [rsp + 0x30], 0xbac4b3cc
mov dword [rsp + 0x34], 0xf0e8fdf7
mov dword [rsp + 0x38], 0xccc8c8fc
mov word [rsp + 0x3c], Ordinal_200
mov byte [rsp + 0x3e], 1
mov rdx, r14
nop dword [rax]
nop dword [rax + rax]
lea eax, [rdx - 0x69]
xor byte [rsp + rdx + 0x30], al
inc rdx
cmp rdx, 0xd
jb 0x14001f1d0
mov byte [rsp + 0x3e], 0
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.140014bb0
lea rdx, [0x140014da0]
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov ecx, 0x2bc
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 8
call fcn.140089518
lea rcx, [0x140016740]
mov qword [rax], rcx
mov qword [rbp + 0x68], rax
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r14d
mov r9, rax
lea r8, [0x140022780]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14001fba2
cmp dword [rsp + 0x38], 0
jne 0x14001f269
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rbp - 0x60], xmm0
lea rcx, [rbp - 0x60]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
je 0x14001f28a
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x80], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x70], xmm1
mov qword [rbp + 0x80], r14
mov edx, 1
call fcn.140021d00
mov qword [rbp + 0x70], rax
lea rcx, [rax + 4]
mov qword [rbp + 0x80], rcx
xor edx, edx
mov dword [rax], edx
mov qword [rbp + 0x78], rcx
mov rax, rcx
mov rdx, qword [rbp + 0x70]
sub rax, rdx
sar rax, 2
cmp rax, 1
jbe 0x14001f2e7
lea rax, [rdx + 4]
cmp rax, rcx
cmovne rcx, rax
mov qword [rbp + 0x78], rcx
mov qword [rbp + 0x88], ntohl
and dword [rdx], 0xfff
mov esi, r14d
call fcn.14001de30
lea r15, [0x140000000]
call fcn.14001de30
lea rcx, [0x1400a5388]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
lea rdx, str.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140014bb0
mov rcx, rax
lea rdx, str.e_36m
call fcn.140014bb0
mov rbx, rax
movdqa xmm0, xmmword [0x1400a56f0]
movdqu xmmword [rbp + 0x1420], xmm0
movdqa xmm1, xmmword [0x1400a5890]
movdqu xmmword [rbp + 0x1430], xmm1
movdqa xmm0, xmmword [0x1400a5810]
movdqu xmmword [rbp + 0x1440], xmm0
mov word [rbp + 0x1450], 0xf0
mov byte [rbp + 0x1452], 1
mov rcx, r14
lea eax, [rcx - 0x36]
xor byte [rbp + rcx + 0x1420], al
inc rcx
cmp rcx, 0x31
jb 0x14001f381
mov byte [rbp + 0x1452], 0
lea rdx, [rbp + 0x1420]
mov rcx, rbx
call fcn.140014bb0
lea rdx, [0x140014da0]
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov ebx, r14d
nop dword [rax]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
cmp ebx, esi
jne 0x14001f40c
lea rdx, str.e_36m
call fcn.140014bb0
mov dword [rsp + 0x50], 0xf3ecebea
mov word [rsp + 0x54], 0xee
mov byte [rsp + 0x56], 1
mov rdx, r14
nop
lea ecx, [rdx - 0x36]
xor byte [rsp + rdx + 0x50], cl
inc rdx
cmp rdx, 5
jb 0x14001f3f0
mov byte [rsp + 0x56], 0
lea rdx, [rsp + 0x50]
jmp 0x14001f448
lea rdx, str.e_0m
call fcn.140014bb0
mov dword [rbp + 0x68], 0xedecebea
mov word [rbp + 0x6c], 0xee
mov byte [rbp + 0x6e], 1
mov rdx, r14
nop dword [rax]
lea ecx, [rdx - 0x36]
xor byte [rbp + rdx + 0x68], cl
inc rdx
cmp rdx, 5
jb 0x14001f430
mov byte [rbp + 0x6e], 0
lea rdx, [rbp + 0x68]
mov rcx, rax
call fcn.140014bb0
mov ecx, ebx
mov edx, ebx
shr rdx, 5
mov rax, qword [rbp + 0x70]
lea r8, [rax + rdx*4]
and ecx, 0x1f
mov eax, 1
shl eax, cl
lea rdx, str.e_0m
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
test dword [r8], eax
je 0x14001f4e7
call fcn.140014bb0
mov rdi, rax
mov dword [rbp - 0x30], 0xb8b7b6b5
mov dword [rbp - 0x2c], 0xbcbbbab9
mov word [rbp - 0x28], 0xbd
mov byte [rbp - 0x26], 1
mov rcx, r14
lea eax, [rcx - 0x6b]
xor byte [rbp + rcx - 0x30], al
inc rcx
cmp rcx, 9
jb 0x14001f4a0
mov byte [rbp - 0x26], 0
lea rdx, [rbp - 0x30]
mov rcx, rdi
call fcn.140014bb0
lea rdx, [0x1400a535c]
mov rcx, rdi
call fcn.140014bb0
mov rcx, rax
lea rdx, str.e_32m
call fcn.140014bb0
lea rdx, [0x1400a54b4]
jmp 0x14001f555
call fcn.140014bb0
mov rdi, rax
mov dword [rbp - 0x20], 0xb8b7b6b5
mov dword [rbp - 0x1c], 0xbcbbbab9
mov word [rbp - 0x18], 0xbd
mov byte [rbp - 0x16], 1
mov rcx, r14
nop word [rax + rax]
lea eax, [rcx - 0x6b]
xor byte [rbp + rcx - 0x20], al
inc rcx
cmp rcx, 9
jb 0x14001f510
mov byte [rbp - 0x16], 0
lea rdx, [rbp - 0x20]
mov rcx, rdi
call fcn.140014bb0
lea rdx, [0x1400a535c]
mov rcx, rdi
call fcn.140014bb0
mov rcx, rax
lea rdx, str.e_31m
call fcn.140014bb0
lea rdx, reloc.WLDAP32.dll_Ordinal_45
mov rcx, rax
call fcn.140014bb0
lea rdx, str.e_0m
mov rcx, rax
call fcn.140014bb0
lea rdx, [0x1400a5334]
mov rcx, rax
call fcn.140014bb0
cmp ebx, 0xb
ja case.default.0x14001f592
movsxd rax, ebx
mov ecx, dword [r15 + rax*4 + 0x1fbd8]
add rcx, r15
jmp rcx
lea rdx, str.e_0m
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140014bb0
mov r8, rax
mov dword [rbp - 0x40], 0xedb4a488
mov dword [rbp - 0x3c], 0x809c8b
mov byte [rbp - 0x38], 1
mov rcx, r14
nop
lea eax, [rcx - 0x36]
xor byte [rbp + rcx - 0x40], al
inc rcx
cmp rcx, 7
jb 0x14001f5c0
mov byte [rbp - 0x38], 0
lea rdx, [rbp - 0x40]
jmp 0x14001f918
lea rdx, str.e_0m
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140014bb0
mov r8, rax
mov dword [rbp - 0x10], 0xf7e3e3d4
mov dword [rbp - 0xc], 0xf5effbf4
mov word [rbp - 8], 0xfe
mov byte [rbp - 6], 1
mov rcx, r14
nop
lea eax, [rcx - 0x6b]
xor byte [rbp + rcx - 0x10], al
inc rcx
cmp rcx, 9
jb 0x14001f610
mov byte [rbp - 6], 0
lea rdx, [rbp - 0x10]
jmp 0x14001f918
lea rdx, str.e_0m
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140014bb0
mov r8, rax
mov dword [rbp + 0x38], 0xa8bcbe99
mov dword [rbp + 0x3c], 0xbe95efbc
mov dword [rbp + 0x40], 0x100b2b9
mov rcx, r14
nop dword [rax + rax]
lea eax, [rcx - 0x36]
xor byte [rbp + rcx + 0x38], al
inc rcx
cmp rcx, 0xa
jb 0x14001f660
mov byte [rbp + 0x43], 0
lea rdx, [rbp + 0x38]
jmp 0x14001f918
lea rdx, str.e_0m
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140014bb0
mov r8, rax
mov dword [rbp + 0x48], 0xa4a1af8b
mov dword [rbp + 0x4c], 0xbd96efa0
mov dword [rbp + 0x50], 0x100b4b3
mov rcx, r14
nop dword [rax + rax]
lea eax, [rcx - 0x36]
xor byte [rbp + rcx + 0x48], al
inc rcx
cmp rcx, 0xa
jb 0x14001f6b0
mov byte [rbp + 0x53], 0
lea rdx, [rbp + 0x48]
jmp 0x14001f918
lea rdx, str.e_0m
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140014bb0
mov r8, rax
mov dword [rbp], 0xfcfee6c6
mov dword [rbp + 4], 0xfdf6e8fc
mov word [rbp + 8], 0xf3
mov byte [rbp + 0xa], 1
mov rcx, r14
nop
lea eax, [rcx - 0x6b]
xor byte [rbp + rcx], al
inc rcx
cmp rcx, 9
jb 0x14001f700
mov byte [rbp + 0xa], 0
lea rdx, [rbp]
jmp 0x14001f918
lea rdx, str.e_0m
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140014bb0
mov r8, rax
mov dword [rbp + 0x10], 0xcab7f9db
mov dword [rbp + 0x14], 0xf5f4f9fc
mov word [rbp + 0x18], 0xf1
mov byte [rbp + 0x1a], 1
mov rcx, r14
nop
lea eax, [rcx - 0x6b]
xor byte [rbp + rcx + 0x10], al
inc rcx
cmp rcx, 9
jb 0x14001f750
mov byte [rbp + 0x1a], 0
lea rdx, [rbp + 0x10]
jmp 0x14001f918
lea rdx, str.e_0m
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140014bb0
mov r8, rax
mov dword [rbp + 0x20], 0xcbb7f9db
mov dword [rbp + 0x24], 0xfdfee8e9
mov word [rbp + 0x28], 0xf9
mov byte [rbp + 0x2a], 1
mov rcx, r14
nop
lea eax, [rcx - 0x6b]
xor byte [rbp + rcx + 0x20], al
inc rcx
cmp rcx, 9
jb 0x14001f7a0
mov byte [rbp + 0x2a], 0
lea rdx, [rbp + 0x20]
jmp 0x14001f918
lea rdx, str.e_0m
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140014bb0
mov r8, rax
mov dword [rsp + 0x58], 0x9eeca484
mov dword [rsp + 0x5c], 0xa9aeb9
mov byte [rsp + 0x60], 1
mov rcx, r14
nop dword [rax + rax]
lea eax, [rcx - 0x36]
xor byte [rsp + rcx + 0x58], al
inc rcx
cmp rcx, 7
jb 0x14001f7f0
mov byte [rsp + 0x60], 0
lea rdx, [rsp + 0x58]
jmp 0x14001f918
lea rdx, str.e_0m
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140014bb0
mov r8, rax
mov dword [rbp - 0x60], 0xfbfefec1
mov dword [rbp - 0x5c], 0xe9d9baf2
mov dword [rbp - 0x58], 0xd4faf2f1
mov word [rbp - 0x54], 0x100
mov rcx, r14
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0x6b]
xor byte [rbp + rcx - 0x60], al
inc rcx
cmp rcx, 0xc
jb 0x14001f850
mov byte [rbp - 0x53], 0
lea rdx, [rbp - 0x60]
jmp 0x14001f918
lea rdx, str.e_0m
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140014bb0
mov r8, rax
mov dword [rsp + 0x30], 0xeafefec1
mov dword [rsp + 0x34], 0xf9cbbafd
mov dword [rsp + 0x38], 0xcef0edef
mov word [rsp + 0x3c], 0x100
mov rcx, r14
nop word [rax + rax]
lea eax, [rcx - 0x6b]
xor byte [rsp + rcx + 0x30], al
inc rcx
cmp rcx, 0xc
jb 0x14001f8b0
mov byte [rsp + 0x3d], 0
lea rdx, [rsp + 0x30]
jmp 0x14001f918
lea rdx, str.e_0m
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140014bb0
mov r8, rax
mov dword [rbp + 0x58], 0xacbba78b
mov dword [rbp + 0x5c], 0x95f0bcb7
mov dword [rbp + 0x60], 0x100aab3
mov rcx, r14
nop word [rax + rax]
lea eax, [rcx - 0x36]
xor byte [rbp + rcx + 0x58], al
inc rcx
cmp rcx, 0xa
jb 0x14001f900
mov byte [rbp + 0x63], 0
lea rdx, [rbp + 0x58]
mov rcx, r8
call fcn.140014bb0
lea rdx, [0x140014da0]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
inc ebx
cmp ebx, 0xc
jge 0x14001f9b6
jmp 0x14001f3c0
lea rdx, str.e_0m
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140014bb0
mov r8, rax
mov dword [rsp + 0x70], 0xaaa5b988
mov dword [rsp + 0x74], 0xb4bebba6
mov dword [rsp + 0x78], 0x100a0a1
mov rcx, r14
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0x36]
xor byte [rsp + rcx + 0x70], al
inc rcx
cmp rcx, 0xa
jb 0x14001f980
mov byte [rsp + 0x7b], 0
lea rdx, [rsp + 0x70]
mov rcx, r8
call fcn.140014bb0
lea rdx, [0x140014da0]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
lea rdx, str.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140014bb0
mov rcx, rax
lea rdx, str.e_36m
call fcn.140014bb0
mov rcx, rax
lea rdx, str._n_n_n______________________________________________n
call fcn.140014bb0
lea rdx, [0x140014da0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
call qword [sym.imp.api_ms_win_crt_conio_l1_1_0.dll__getch]
cmp eax, 0xe0
jne case.default.0x14001fa8f
call qword [sym.imp.api_ms_win_crt_conio_l1_1_0.dll__getch]
cmp eax, 0x48
jne 0x14001fa22
test esi, esi
jle case.default.0x14001fa8f
dec esi
jmp case.default.0x14001fa8f
cmp eax, 0x50
jne 0x14001fa37
cmp esi, 0xb
jge case.default.0x14001fa8f
inc esi
jmp case.default.0x14001fa8f
cmp eax, 0x4d
jne case.default.0x14001fa8f
movsxd r9, esi
mov rcx, r9
shr rcx, 5
mov rax, qword [rbp + 0x70]
lea rdx, [rax + rcx*4]
and r9d, 0x1f
lea r10, [rax + rcx*4]
mov r8d, dword [r10]
mov ecx, r9d
mov eax, 1
shl eax, cl
test dword [rdx], eax
jne 0x14001fa71
bts r8d, r9d
jmp 0x14001fa75
btr r8d, r9d
mov dword [r10], r8d
cmp esi, 0xb
ja case.default.0x14001fa8f
movsxd rax, esi
mov ecx, dword [r15 + rax*4 + 0x1fc08]
add rcx, r15
jmp rcx
mov rax, qword [rbp + 0x70]
movzx ecx, byte [rax]
and cl, 1
mov byte [0x1400b41b5], cl
jmp case.default.0x14001fa8f
mov rax, qword [rbp + 0x70]
mov ecx, dword [rax]
shr ecx, 1
and cl, 1
mov byte [0x1400b41c0], cl
jmp case.default.0x14001fa8f
mov rax, qword [rbp + 0x70]
mov ecx, dword [rax]
shr ecx, 2
and cl, 1
mov byte [0x1400b41bd], cl
jmp case.default.0x14001fa8f
mov rax, qword [rbp + 0x70]
mov ecx, dword [rax]
shr ecx, 3
and cl, 1
mov byte [0x1400b41c2], cl
jmp case.default.0x14001fa8f
mov rax, qword [rbp + 0x70]
mov ecx, dword [rax]
shr ecx, 4
and cl, 1
mov byte [0x1400b41bb], cl
jmp case.default.0x14001fa8f
mov rax, qword [rbp + 0x70]
mov ecx, dword [rax]
shr ecx, 5
and cl, 1
mov byte [0x1400b41b4], cl
jmp case.default.0x14001fa8f
mov rax, qword [rbp + 0x70]
mov ecx, dword [rax]
shr ecx, 6
and cl, 1
mov byte [0x1400b41b8], cl
jmp case.default.0x14001fa8f
mov rax, qword [rbp + 0x70]
mov ecx, dword [rax]
shr ecx, 7
and cl, 1
mov byte [0x1400b41ba], cl
jmp case.default.0x14001fa8f
mov rax, qword [rbp + 0x70]
mov ecx, dword [rax]
shr ecx, 8
and cl, 1
mov byte [0x1400b41bf], cl
jmp case.default.0x14001fa8f
mov rax, qword [rbp + 0x70]
mov ecx, dword [rax]
shr ecx, 9
and cl, 1
mov byte [0x1400b41bc], cl
jmp case.default.0x14001fa8f
mov rax, qword [rbp + 0x70]
mov ecx, dword [rax]
shr ecx, 0xa
and cl, 1
mov byte [0x1400b41b7], cl
jmp case.default.0x14001fa8f
mov rax, qword [rbp + 0x70]
mov ecx, dword [rax]
shr ecx, 0xb
and cl, 1
mov byte [0x1400b41be], cl
jmp case.default.0x14001fa8f
mov dword [rsp + 0x38], r14d
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov dword [rsp + 0x38], r14d
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov dword [rsp + 0x38], r14d
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3