Function at 0x140022c50
Capabilities:
Authenticate hmac
Delete file
Encode data using xor
Execute command
Log keystrokes via polling
Parse pe header
Set console window title
Terminate process

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
lea rbp, [rax - 0x2e8]
sub rsp, 0x3c0
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x1400d9b80]
xor rax, rsp
mov qword [rbp + 0x2a0], rax
xor ebx, ebx
mov dword [rbp + 0x70], ebx
mov ecx, 0xfffffff6
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rdi, rax
lea rdx, [rbp + 0x100]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
mov edx, dword [rbp + 0x100]
and edx, 0x80
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetConsoleMode]
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rdi, rax
mov dword [rbp + 0x80], 0x60
lea rdx, [rbp + 0x80]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfoEx]
lea r13d, [rbx + 0x64]
mov dword [rbp + 0x84], 0x140064
mov dword [rbp + 0x8e], ebx
mov dword [rbp + 0x92], 0x140064
mov dword [rbp + 0x96], 0x140064
lea rdx, [rbp + 0x80]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetConsoleScreenBufferInfoEx]
lea rdx, [rbp + 0x70]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
mov edx, dword [rbp + 0x70]
and edx, 0xfffffffd
mov dword [rbp + 0x70], edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetConsoleMode]
lea rcx, str.Styll_Chair__Blocker
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
lea rcx, str.Color_B
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
lea rcx, str.Color
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
lea rdx, str._n________________________n________________________n______________________n________________________n______________________n________________________n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140019910
lea rdx, [0x14001c540]
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, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
lea rdx, str.____Product:_MWIII_Cheat__Blocker
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140019910
lea rdx, [0x14001c540]
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]
lea rdx, str.____Status:_Undetected
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140019910
lea rdx, [0x14001c540]
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]
lea rcx, [0x1400da3e0]
call fcn.1400049e0
lea rcx, [0x1400da3e0]
call fcn.140006f50
test al, al
je 0x140022e00
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
int3
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
mov rsi, 0xffffffffffffffff
lea r12d, [rsi + 4]
lea r14d, [rsi + 5]
lea r15d, [rsi + 8]
test eax, eax
je 0x140023040
xor edx, edx
mov cl, 0x44
call fcn.14001a2d0
mov byte [rbp + 0x50], al
lea edx, [rsi + 2]
mov cl, 0x45
call fcn.14001a2d0
mov byte [rbp + 0x51], al
lea edx, [rsi + 3]
mov cl, 0x42
call fcn.14001a2d0
mov byte [rbp + 0x52], al
mov edx, r12d
mov cl, 0x55
call fcn.14001a2d0
mov byte [rbp + 0x53], al
mov edx, r14d
mov cl, 0x47
call fcn.14001a2d0
mov byte [rbp + 0x54], al
lea edx, [rsi + 6]
mov cl, 0x47
call fcn.14001a2d0
mov byte [rbp + 0x55], al
lea edx, [rsi + 7]
mov cl, 0x45
call fcn.14001a2d0
mov byte [rbp + 0x56], al
mov edx, r15d
mov cl, 0x52
call fcn.14001a2d0
mov byte [rbp + 0x57], al
lea edx, [rsi + 9]
mov cl, reloc.WLDAP32.dll_Ordinal_32
call fcn.14001a2d0
mov byte [rbp + 0x58], al
lea edx, [rsi + 0xa]
mov cl, 0x50
call fcn.14001a2d0
mov byte [rbp + 0x59], al
lea edx, [rsi + 0xb]
mov cl, 0x52
call fcn.14001a2d0
mov byte [rbp + 0x5a], al
lea edx, [rsi + 0xc]
mov cl, 0x45
call fcn.14001a2d0
mov byte [rbp + 0x5b], al
lea edx, [rsi + 0xd]
mov cl, 0x53
call fcn.14001a2d0
mov byte [rbp + 0x5c], al
lea edx, [rsi + 0xe]
mov cl, 0x45
call fcn.14001a2d0
mov byte [rbp + 0x5d], al
lea edx, [rsi + 0xf]
mov cl, Ordinal_79
call fcn.14001a2d0
mov byte [rbp + 0x5e], al
lea edx, [rsi + 0x10]
mov cl, 0x54
call fcn.14001a2d0
mov byte [rbp + 0x5f], al
lea edx, [rsi + 0x11]
mov cl, reloc.WLDAP32.dll_Ordinal_32
call fcn.14001a2d0
mov byte [rbp + 0x60], al
lea edx, [rsi + 0x12]
mov cl, 0x54
call fcn.14001a2d0
mov byte [rbp + 0x61], al
lea edx, [rsi + 0x13]
mov cl, 0x48
call fcn.14001a2d0
mov byte [rbp + 0x62], al
lea edx, [rsi + 0x14]
mov cl, 0x45
call fcn.14001a2d0
mov byte [rbp + 0x63], al
lea edx, [rsi + 0x15]
mov cl, 0x59
call fcn.14001a2d0
mov byte [rbp + 0x64], al
lea edx, [rsi + 0x16]
mov cl, reloc.WLDAP32.dll_Ordinal_32
call fcn.14001a2d0
mov byte [rbp + 0x65], al
lea edx, [rsi + 0x17]
mov cl, 0x47
call fcn.14001a2d0
mov byte [rbp + 0x66], al
lea edx, [rsi + 0x18]
mov cl, reloc.WLDAP32.dll_Ordinal_79
call fcn.14001a2d0
mov byte [rbp + 0x67], al
lea edx, [rsi + 0x19]
mov cl, 0x54
call fcn.14001a2d0
mov byte [rbp + 0x68], al
lea edx, [rsi + 0x1a]
mov cl, reloc.WLDAP32.dll_Ordinal_32
call fcn.14001a2d0
mov byte [rbp + 0x69], al
lea edx, [rsi + 0x1b]
mov cl, 0x42
call fcn.14001a2d0
mov byte [rbp + 0x6a], al
lea edx, [rsi + 0x1c]
mov cl, 0x53
call fcn.14001a2d0
mov byte [rbp + 0x6b], al
lea edx, [rsi + 0x1d]
mov cl, reloc.WLDAP32.dll_Ordinal_79
call fcn.14001a2d0
mov byte [rbp + 0x6c], al
lea edx, [rsi + 0x1e]
mov cl, 0x44
call fcn.14001a2d0
mov byte [rbp + 0x6d], al
xor eax, eax
mov byte [rbp + 0x6e], al
mov edx, ebx
nop dword [rax]
movsxd rax, edx
lea rcx, [rbp + 0x50]
add rcx, rax
lea eax, [rdx + 0x13]
xor byte [rcx], al
inc edx
cmp edx, 0x1e
jb 0x140022fb0
mov byte [rbp + 0x6e], bl
xorps xmm0, xmm0
movups xmmword [rbp + 0xe0], xmm0
mov qword [rbp + 0xf0], rbx
mov qword [rbp + 0xf8], rbx
lea rax, [rbp + 0x50]
mov r8, rsi
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], bl
jne 0x140022ff0
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0xe0]
call fcn.140018660
lea rdx, [rbp + 0xe0]
lea rcx, [0x1400da3e0]
call fcn.140007e70
lea rcx, [0x1400da3e0]
call fcn.140006870
call fcn.14001f930
call fcn.14001f930
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_Sleep]
call fcn.14001e040
xorps xmm0, xmm0
movups xmmword [rbp + 0x108], xmm0
mov qword [rbp + 0x118], rbx
mov qword [rbp + 0x120], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x108], bl
xor edx, edx
mov cl, 0x43
call fcn.14001a2d0
mov byte [rbp - 0x77], al
mov byte [rbp + 0x240], al
mov edx, 1
mov cl, 0x3a
call fcn.14001a2d0
mov byte [rbp - 0x76], al
mov byte [rbp + 0x241], al
mov edx, 2
mov cl, 0x5c
call fcn.14001a2d0
mov byte [rbp - 0x7a], al
mov byte [rbp + 0x242], al
mov edx, r12d
mov cl, 0x55
call fcn.14001a2d0
mov byte [rbp - 0x78], al
mov byte [rbp + 0x243], al
mov edx, r14d
mov cl, reloc.WS2_32.dll_WSAStartup
call fcn.14001a2d0
mov byte [rbp - 0x79], al
mov byte [rbp + 0x244], al
mov edx, 5
mov cl, 0x65
call fcn.14001a2d0
mov byte [rsp + 0x30], al
mov byte [rbp + 0x245], al
mov edx, 6
mov cl, WSAStartup
call fcn.14001a2d0
mov byte [rsp + 0x31], al
mov byte [rbp + 0x246], al
mov edx, r15d
mov cl, reloc.WS2_32.dll_WSAStartup
call fcn.14001a2d0
mov byte [rsp + 0x32], al
mov byte [rbp + 0x247], al
mov edx, 8
mov cl, 0x5c
call fcn.14001a2d0
mov byte [rsp + 0x33], al
mov byte [rbp + 0x248], al
mov edx, 9
mov cl, 0x44
call fcn.14001a2d0
mov byte [rsp + 0x34], al
mov byte [rbp + 0x249], al
mov edx, 0xa
mov cl, 0x65
call fcn.14001a2d0
mov byte [rsp + 0x35], al
mov byte [rbp + 0x24a], al
mov edx, listen
mov cl, 0x66
call fcn.14001a2d0
mov byte [rsp + 0x36], al
mov byte [rbp + 0x24b], al
mov edx, listen
mov cl, 0x61
call fcn.14001a2d0
mov byte [rsp + 0x37], al
mov byte [rbp + 0x24c], al
mov edx, reloc.WS2_32.dll_listen
mov cl, 0x75
call fcn.14001a2d0
mov byte [rsp + 0x38], al
mov byte [rbp + 0x24d], al
mov edx, reloc.WS2_32.dll_ntohl
mov cl, 0x6c
call fcn.14001a2d0
mov byte [rsp + 0x39], al
mov byte [rbp + 0x24e], al
mov edx, reloc.WS2_32.dll_ntohs
mov cl, reloc.WS2_32.dll_WSACleanup
call fcn.14001a2d0
mov byte [rsp + 0x3a], al
mov byte [rbp + 0x24f], al
mov edx, reloc.WS2_32.dll_recv
mov cl, 0x5c
call fcn.14001a2d0
mov byte [rsp + 0x3b], al
mov byte [rbp + 0x250], al
mov edx, reloc.WS2_32.dll_recvfrom
mov cl, 0x41
call fcn.14001a2d0
mov byte [rsp + 0x3c], al
mov byte [rbp + 0x251], al
mov edx, reloc.WS2_32.dll_select
mov cl, reloc.WS2_32.dll_WSASetLastError
call fcn.14001a2d0
mov byte [rsp + 0x3d], al
mov byte [rbp + 0x252], al
mov edx, reloc.WS2_32.dll_send
mov cl, reloc.WS2_32.dll_WSASetLastError
call fcn.14001a2d0
mov byte [rsp + 0x3e], al
mov byte [rbp + 0x253], al
mov edx, reloc.WS2_32.dll_sendto
mov cl, 0x44
call fcn.14001a2d0
mov byte [rsp + 0x3f], al
mov byte [rbp + 0x254], al
mov edx, reloc.WS2_32.dll_setsockopt
mov cl, 0x61
call fcn.14001a2d0
mov byte [rsp + 0x40], al
mov byte [rbp + 0x255], al
mov edx, reloc.WLDAP32.dll_Ordinal_22
mov cl, reloc.WS2_32.dll_WSACleanup
call fcn.14001a2d0
mov byte [rsp + 0x41], al
mov byte [rbp + 0x256], al
mov edx, reloc.WS2_32.dll_socket
mov cl, 0x61
call fcn.14001a2d0
mov byte [rsp + 0x42], al
mov byte [rbp + 0x257], al
mov edx, Ordinal_27
mov cl, 0x5c
call fcn.14001a2d0
mov byte [rsp + 0x43], al
mov byte [rbp + 0x258], al
mov edx, Ordinal_27
mov cl, 0x52
call fcn.14001a2d0
mov byte [rsp + 0x44], al
mov byte [rbp + 0x259], al
mov edx, reloc.WLDAP32.dll_Ordinal_26
mov cl, reloc.WS2_32.dll_WSAGetLastError
call fcn.14001a2d0
mov byte [rsp + 0x45], al
mov byte [rbp + 0x25a], al
mov edx, reloc.WLDAP32.dll_Ordinal_27
mov cl, 0x61
call fcn.14001a2d0
mov byte [rsp + 0x46], al
mov byte [rbp + 0x25b], al
mov edx, Ordinal_32
mov cl, 0x6d
call fcn.14001a2d0
mov byte [rsp + 0x47], al
mov byte [rbp + 0x25c], al
mov edx, Ordinal_32
mov cl, 0x69
call fcn.14001a2d0
mov byte [rsp + 0x48], al
mov byte [rbp + 0x25d], al
mov edx, reloc.WLDAP32.dll_Ordinal_30
mov cl, WSAGetLastError
call fcn.14001a2d0
mov byte [rsp + 0x49], al
mov byte [rbp + 0x25e], al
mov edx, Ordinal_35
mov cl, 0x67
call fcn.14001a2d0
mov byte [rsp + 0x4a], al
mov byte [rbp + 0x25f], al
mov edx, reloc.WLDAP32.dll_Ordinal_32
mov cl, 0x5c
call fcn.14001a2d0
mov byte [rsp + 0x4b], al
mov byte [rbp + 0x260], al
mov edx, reloc.WLDAP32.dll_Ordinal_33
mov cl, 0x4d
call fcn.14001a2d0
mov byte [rsp + 0x4c], al
mov byte [rbp + 0x261], al
mov edx, Ordinal_35
mov cl, 0x69
call fcn.14001a2d0
mov byte [rsp + 0x4d], al
mov byte [rbp + 0x262], al
mov edx, reloc.WLDAP32.dll_Ordinal_35
mov cl, 0x63
call fcn.14001a2d0
mov byte [rsp + 0x4e], al
mov byte [rbp + 0x263], al
mov edx, 0x24
mov cl, WSAStartup
call fcn.14001a2d0
mov byte [rsp + 0x4f], al
mov byte [rbp + 0x264], al
mov edx, Ordinal_41
mov cl, reloc.WS2_32.dll_WSAGetLastError
call fcn.14001a2d0
mov byte [rsp + 0x50], al
mov byte [rbp + 0x265], al
mov edx, Ordinal_41
mov cl, reloc.WS2_32.dll_WSAStartup
call fcn.14001a2d0
mov byte [rsp + 0x51], al
mov byte [rbp + 0x266], al
mov edx, Ordinal_41
mov cl, reloc.WS2_32.dll_WSAGetLastError
call fcn.14001a2d0
mov byte [rsp + 0x52], al
mov byte [rbp + 0x267], al
mov edx, Ordinal_41
mov cl, 0x66
call fcn.14001a2d0
mov byte [rsp + 0x53], al
mov byte [rbp + 0x268], al
mov edx, reloc.WLDAP32.dll_Ordinal_41
mov cl, reloc.WS2_32.dll_WSACleanup
call fcn.14001a2d0
mov byte [rsp + 0x54], al
mov byte [rbp + 0x269], al
mov edx, Ordinal_46
mov cl, 0x5c
call fcn.14001a2d0
mov byte [rsp + 0x55], al
mov byte [rbp + 0x26a], al
mov edx, Ordinal_46
mov cl, 0x57
call fcn.14001a2d0
mov byte [rsp + 0x56], al
mov byte [rbp + 0x26b], al
mov edx, Ordinal_46
mov cl, 0x69
call fcn.14001a2d0
mov byte [rsp + 0x57], al
mov byte [rbp + 0x26c], al
mov edx, reloc.WLDAP32.dll_Ordinal_45
mov cl, WSAGetLastError
call fcn.14001a2d0
mov byte [rsp + 0x58], al
mov byte [rbp + 0x26d], al
mov edx, reloc.WLDAP32.dll_Ordinal_46
mov cl, 0x64
call fcn.14001a2d0
mov byte [rsp + 0x59], al
mov byte [rbp + 0x26e], al
mov edx, Ordinal_50
mov cl, reloc.WS2_32.dll_WSAGetLastError
call fcn.14001a2d0
mov byte [rsp + 0x5a], al
mov byte [rbp + 0x26f], al
mov edx, Ordinal_50
mov cl, 0x77
call fcn.14001a2d0
mov byte [rsp + 0x5b], al
mov byte [rbp + 0x270], al
mov edx, Ordinal_50
mov cl, reloc.WS2_32.dll_WSAStartup
call fcn.14001a2d0
mov byte [rsp + 0x5c], al
mov byte [rbp + 0x271], al
mov edx, reloc.WLDAP32.dll_Ordinal_50
mov cl, 0x5c
call fcn.14001a2d0
mov byte [rsp + 0x5d], al
mov byte [rbp + 0x272], al
mov edx, 0x33
mov cl, 0x53
call fcn.14001a2d0
mov byte [rsp + 0x5e], al
mov byte [rbp + 0x273], al
mov edx, 0x34
mov cl, reloc.WS2_32.dll_WSACleanup
call fcn.14001a2d0
mov byte [rsp + 0x5f], al
mov byte [rbp + 0x274], al
mov edx, gethostname
mov cl, 0x61
call fcn.14001a2d0
mov byte [rsp + 0x60], al
mov byte [rbp + 0x275], al
mov edx, gethostname
mov cl, WSAStartup
call fcn.14001a2d0
mov byte [rsp + 0x61], al
mov byte [rbp + 0x276], al
mov edx, gethostname
mov cl, reloc.WS2_32.dll_WSACleanup
call fcn.14001a2d0
mov byte [rsp + 0x62], al
mov byte [rbp + 0x277], al
mov edx, gethostname
mov cl, reloc.WLDAP32.dll_Ordinal_32
call fcn.14001a2d0
mov byte [rsp + 0x63], al
mov byte [rbp + 0x278], al
mov edx, reloc.WS2_32.dll_gethostname
mov cl, 0x4d
call fcn.14001a2d0
mov byte [rsp + 0x64], al
mov byte [rbp + 0x279], al
mov edx, Ordinal_60
mov cl, 0x65
call fcn.14001a2d0
mov byte [rsp + 0x65], al
mov byte [rbp + 0x27a], al
mov edx, Ordinal_60
mov cl, WSAGetLastError
call fcn.14001a2d0
mov byte [rsp + 0x66], al
mov byte [rbp + 0x27b], al
mov edx, reloc.WLDAP32.dll_Ordinal_60
mov cl, 0x75
call fcn.14001a2d0
mov byte [rsp + 0x67], al
mov byte [rbp + 0x27c], al
mov edx, 0x3d
mov cl, 0x5c
call fcn.14001a2d0
mov byte [rsp + 0x68], al
mov byte [rbp + 0x27d], al
mov edx, 0x3e
mov cl, 0x50
call fcn.14001a2d0
mov byte [rsp + 0x69], al
mov byte [rbp + 0x27e], al
mov edx, 0x3f
mov cl, WSAStartup
call fcn.14001a2d0
mov byte [rsp + 0x6a], al
mov byte [rbp + 0x27f], al
mov edx, 0x40
mov cl, reloc.WS2_32.dll_WSAGetLastError
call fcn.14001a2d0
mov byte [rsp + 0x6b], al
mov byte [rbp + 0x280], al
mov edx, 0x41
mov cl, 0x67
call fcn.14001a2d0
mov byte [rsp + 0x6c], al
mov byte [rbp + 0x281], al
mov edx, 0x42
mov cl, WSAStartup
call fcn.14001a2d0
mov byte [rsp + 0x6d], al
mov byte [rbp + 0x282], al
mov edx, 0x43
mov cl, 0x61
call fcn.14001a2d0
mov byte [rsp + 0x6e], al
mov byte [rbp + 0x283], al
mov edx, 0x44
mov cl, 0x6d
call fcn.14001a2d0
mov byte [rsp + 0x6f], al
mov byte [rbp + 0x284], al
mov edx, 0x45
mov cl, reloc.WS2_32.dll_WSAStartup
call fcn.14001a2d0
mov byte [rsp + 0x70], al
mov byte [rbp + 0x285], al
mov edx, 0x46
mov cl, 0x5c
call fcn.14001a2d0
mov byte [rsp + 0x71], al
mov byte [rbp + 0x286], al
mov edx, 0x47
mov cl, 0x53
call fcn.14001a2d0
mov byte [rsp + 0x72], al
mov byte [rbp + 0x287], al
mov edx, 0x48
mov cl, 0x79
call fcn.14001a2d0
mov byte [rsp + 0x73], al
mov byte [rbp + 0x288], al
mov edx, 0x49
mov cl, reloc.WS2_32.dll_WSAStartup
call fcn.14001a2d0
mov byte [rsp + 0x74], al
mov byte [rbp + 0x289], al
mov edx, 0x4a
mov cl, reloc.WS2_32.dll_WSACleanup
call fcn.14001a2d0
mov byte [rsp + 0x75], al
mov byte [rbp + 0x28a], al
mov edx, Ordinal_79
mov cl, 0x65
call fcn.14001a2d0
mov byte [rsp + 0x76], al
mov byte [rbp + 0x28b], al
mov edx, Ordinal_79
mov cl, 0x6d
call fcn.14001a2d0
mov byte [rsp + 0x77], al
mov byte [rbp + 0x28c], al
mov edx, Ordinal_79
mov cl, reloc.WLDAP32.dll_Ordinal_32
call fcn.14001a2d0
mov byte [rsp + 0x78], al
mov byte [rbp + 0x28d], al
mov edx, Ordinal_79
mov cl, 0x54
call fcn.14001a2d0
mov byte [rsp + 0x79], al
mov byte [rbp + 0x28e], al
mov edx, reloc.WLDAP32.dll_Ordinal_79
mov cl, reloc.WS2_32.dll_WSAGetLastError
call fcn.14001a2d0
mov byte [rsp + 0x7a], al
mov byte [rbp + 0x28f], al
mov edx, 0x50
mov cl, reloc.WS2_32.dll_WSAGetLastError
call fcn.14001a2d0
mov byte [rsp + 0x7b], al
mov byte [rbp + 0x290], al
mov edx, 0x51
mov cl, 0x6c
call fcn.14001a2d0
mov byte [rsp + 0x7c], al
mov byte [rbp + 0x291], al
mov edx, 0x52
mov cl, reloc.WS2_32.dll_WSAStartup
call fcn.14001a2d0
mov byte [rsp + 0x7d], al
mov byte [rbp + 0x292], al
mov edx, 0x53
mov cl, 0x5c
call fcn.14001a2d0
mov byte [rsp + 0x7e], al
mov byte [rbp + 0x293], al
mov edx, 0x54
mov cl, 0x6b
call fcn.14001a2d0
mov byte [rsp + 0x7f], al
mov byte [rbp + 0x294], al
mov edx, 0x55
mov cl, 0x65
call fcn.14001a2d0
mov byte [rbp - 0x80], al
mov byte [rbp + 0x295], al
mov edx, 0x56
mov cl, 0x79
call fcn.14001a2d0
mov byte [rbp - 0x7f], al
mov byte [rbp + 0x296], al
mov edx, 0x57
mov cl, reloc.WLDAP32.dll_Ordinal_46
call fcn.14001a2d0
mov byte [rbp - 0x7e], al
mov byte [rbp + 0x297], al
mov edx, 0x58
mov cl, reloc.WS2_32.dll_WSACleanup
call fcn.14001a2d0
mov byte [rbp - 0x7d], al
mov byte [rbp + 0x298], al
mov edx, 0x59
mov cl, 0x78
call fcn.14001a2d0
mov byte [rbp - 0x7c], al
mov byte [rbp + 0x299], al
mov edx, 0x5a
mov cl, reloc.WS2_32.dll_WSACleanup
call fcn.14001a2d0
mov byte [rbp - 0x7b], al
mov byte [rbp + 0x29a], al
xor eax, eax
mov byte [rbp + 0x29b], al
mov r8d, ebx
nop dword [rax + rax]
movsxd rcx, r8d
lea rdx, [rbp + 0x240]
add rdx, rcx
lea ecx, [r8 + 0x13]
xor byte [rdx], cl
inc r8d
cmp r8d, 0x5b
jb 0x140023830
mov byte [rbp + 0x29b], al
lea rax, [rbp + 0x50]
mov qword [rbp - 0x70], rax
lea rax, [rbp + 0x240]
mov rdi, rsi
inc rdi
cmp byte [rax + rdi], 0
jne 0x140023864
call fcn.140073958
mov r13d, eax
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x60], rbx
mov qword [rbp + 0x68], r15
mov word [rbp + 0x50], bx
mov dword [rbp + 0x70], r14d
test rdi, rdi
je 0x140023927
cmp rdi, 0x7fffffff
jbe 0x1400238a9
mov ecx, reloc.WLDAP32.dll_Ordinal_22
call fcn.140020700
int3
mov dword [rsp + 0x20], ebx
xor r9d, r9d
mov r8d, edi
lea rdx, [rbp + 0x240]
mov ecx, r13d
call fcn.140073980
mov r15, rax
shr rax, 0x20
test eax, eax
je 0x1400238da
shr r15, 0x20
mov ecx, r15d
call fcn.140020740
int3
xor r8d, r8d
movsxd rdx, r15d
lea rcx, [rbp + 0x50]
call fcn.140022850
lea r9, [rbp + 0x50]
cmp qword [rbp + 0x68], 7
cmova r9, qword [rbp + 0x50]
mov dword [rsp + 0x20], r15d
mov r8d, edi
lea rdx, [rbp + 0x240]
mov ecx, r13d
call fcn.140073980
mov rcx, rax
shr rax, 0x20
test eax, eax
je 0x140023923
shr rcx, 0x20
call fcn.140020740
int3
mov r15, qword [rbp + 0x68]
lea rcx, [rbp + 0x50]
cmp r15, 7
cmova rcx, qword [rbp + 0x50]
mov r9d, 0xffffffff
mov r8d, r12d
lea rdx, [rbp + 0xe0]
call fcn.140073a94
mov edx, eax
test eax, eax
jne 0x14002399d
mov eax, dword [rbp + 0xf0]
test al, 1
mov ecx, 0x1ff
mov r8d, 0x16d
cmovne ecx, r8d
mov dword [rbp - 0x6c], ecx
bt eax, 0xa
jae 0x14002398b
mov ecx, dword [rbp + 0xf4]
cmp ecx, 0xa000000c
je 0x1400239c1
cmp ecx, 0xa0000003
jne 0x14002398b
lea r14d, [rdx + 0xa]
jmp 0x1400239c1
movzx r14d, al
and r14d, 0x10
or r14d, 0x20
shr r14d, 4
jmp 0x1400239c1
mov dword [rbp - 0x6c], 0xffff
sub eax, 2
je 0x1400239bb
sub eax, 1
je 0x1400239bb
sub eax, 0x32
je 0x1400239bb
cmp eax, 0x46
mov r14d, ebx
jne 0x1400239c1
mov r14d, 1
mov dword [rbp - 0x70], edx
lea rax, [0x1400d9b20]
mov qword [rbp - 0x68], rax
movaps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x70], xmm0
test r14d, r14d
je 0x1400243a2
cmp r14d, 1
setne dil
lea rcx, [rbp + 0x50]
call fcn.14000a480
test dil, dil
je 0x1400243c2
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0x130]
call sub.VCRUNTIME140.dll_memset
movzx r14d, byte [rbp - 0x77]
mov byte [rbp + 0x240], r14b
movzx r15d, byte [rbp - 0x76]
mov byte [rbp + 0x241], r15b
movzx r13d, byte [rbp - 0x7a]
mov byte [rbp + 0x242], r13b
movzx eax, byte [rbp - 0x78]
mov byte [rbp + 0x243], al
movzx eax, byte [rbp - 0x79]
mov byte [rbp + 0x244], al
movzx eax, byte [rsp + 0x30]
mov byte [rbp + 0x245], al
movzx eax, byte [rsp + 0x31]
mov byte [rbp + 0x246], al
movzx eax, byte [rsp + 0x32]
mov byte [rbp + 0x247], al
movzx eax, byte [rsp + 0x33]
mov byte [rbp + 0x248], al
movzx eax, byte [rsp + 0x34]
mov byte [rbp + 0x249], al
movzx eax, byte [rsp + 0x35]
mov byte [rbp + 0x24a], al
movzx eax, byte [rsp + 0x36]
mov byte [rbp + 0x24b], al
movzx eax, byte [rsp + 0x37]
mov byte [rbp + 0x24c], al
movzx eax, byte [rsp + 0x38]
mov byte [rbp + 0x24d], al
movzx eax, byte [rsp + 0x39]
mov byte [rbp + 0x24e], al
movzx eax, byte [rsp + 0x3a]
mov byte [rbp + 0x24f], al
movzx eax, byte [rsp + 0x3b]
mov byte [rbp + 0x250], al
movzx eax, byte [rsp + 0x3c]
mov byte [rbp + 0x251], al
movzx eax, byte [rsp + 0x3d]
mov byte [rbp + 0x252], al
movzx eax, byte [rsp + 0x3e]
mov byte [rbp + 0x253], al
movzx eax, byte [rsp + 0x3f]
mov byte [rbp + 0x254], al
movzx eax, byte [rsp + 0x40]
mov byte [rbp + 0x255], al
movzx eax, byte [rsp + 0x41]
mov byte [rbp + 0x256], al
movzx eax, byte [rsp + 0x42]
mov byte [rbp + 0x257], al
movzx eax, byte [rsp + 0x43]
mov byte [rbp + 0x258], al
movzx eax, byte [rsp + 0x44]
mov byte [rbp + 0x259], al
movzx eax, byte [rsp + 0x45]
mov byte [rbp + 0x25a], al
movzx eax, byte [rsp + 0x46]
mov byte [rbp + 0x25b], al
movzx eax, byte [rsp + 0x47]
mov byte [rbp + 0x25c], al
movzx eax, byte [rsp + 0x48]
mov byte [rbp + 0x25d], al
movzx eax, byte [rsp + 0x49]
mov byte [rbp + 0x25e], al
movzx eax, byte [rsp + 0x4a]
mov byte [rbp + 0x25f], al
movzx eax, byte [rsp + 0x4b]
mov byte [rbp + 0x260], al
movzx eax, byte [rsp + 0x4c]
mov byte [rbp + 0x261], al
movzx eax, byte [rsp + 0x4d]
mov byte [rbp + 0x262], al
movzx eax, byte [rsp + 0x4e]
mov byte [rbp + 0x263], al
movzx eax, byte [rsp + 0x4f]
mov byte [rbp + 0x264], al
movzx eax, byte [rsp + 0x50]
mov byte [rbp + 0x265], al
movzx eax, byte [rsp + 0x51]
mov byte [rbp + 0x266], al
movzx eax, byte [rsp + 0x52]
mov byte [rbp + 0x267], al
movzx eax, byte [rsp + 0x53]
mov byte [rbp + 0x268], al
movzx eax, byte [rsp + 0x54]
mov byte [rbp + 0x269], al
movzx eax, byte [rsp + 0x55]
mov byte [rbp + 0x26a], al
movzx eax, byte [rsp + 0x56]
mov byte [rbp + 0x26b], al
movzx eax, byte [rsp + 0x57]
mov byte [rbp + 0x26c], al
movzx eax, byte [rsp + 0x58]
mov byte [rbp + 0x26d], al
movzx eax, byte [rsp + 0x59]
mov byte [rbp + 0x26e], al
movzx eax, byte [rsp + 0x5a]
mov byte [rbp + 0x26f], al
movzx eax, byte [rsp + 0x5b]
mov byte [rbp + 0x270], al
movzx eax, byte [rsp + 0x5c]
mov byte [rbp + 0x271], al
movzx eax, byte [rsp + 0x5d]
mov byte [rbp + 0x272], al
movzx eax, byte [rsp + 0x5e]
mov byte [rbp + 0x273], al
movzx eax, byte [rsp + 0x5f]
mov byte [rbp + 0x274], al
movzx eax, byte [rsp + 0x60]
mov byte [rbp + 0x275], al
movzx eax, byte [rsp + 0x61]
mov byte [rbp + 0x276], al
movzx eax, byte [rsp + 0x62]
mov byte [rbp + 0x277], al
movzx eax, byte [rsp + 0x63]
mov byte [rbp + 0x278], al
movzx eax, byte [rsp + 0x64]
mov byte [rbp + 0x279], al
movzx eax, byte [rsp + 0x65]
mov byte [rbp + 0x27a], al
movzx eax, byte [rsp + 0x66]
mov byte [rbp + 0x27b], al
movzx eax, byte [rsp + 0x67]
mov byte [rbp + 0x27c], al
movzx eax, byte [rsp + 0x68]
mov byte [rbp + 0x27d], al
movzx eax, byte [rsp + 0x69]
mov byte [rbp + 0x27e], al
movzx eax, byte [rsp + 0x6a]
mov byte [rbp + 0x27f], al
movzx eax, byte [rsp + 0x6b]
mov byte [rbp + 0x280], al
movzx eax, byte [rsp + 0x6c]
mov byte [rbp + 0x281], al
movzx eax, byte [rsp + 0x6d]
mov byte [rbp + 0x282], al
movzx eax, byte [rsp + 0x6e]
mov byte [rbp + 0x283], al
movzx eax, byte [rsp + 0x6f]
mov byte [rbp + 0x284], al
movzx eax, byte [rsp + 0x70]
mov byte [rbp + 0x285], al
movzx eax, byte [rsp + 0x71]
mov byte [rbp + 0x286], al
movzx eax, byte [rsp + 0x72]
mov byte [rbp + 0x287], al
movzx eax, byte [rsp + 0x73]
mov byte [rbp + 0x288], al
movzx eax, byte [rsp + 0x74]
mov byte [rbp + 0x289], al
movzx eax, byte [rsp + 0x75]
mov byte [rbp + 0x28a], al
movzx eax, byte [rsp + 0x76]
mov byte [rbp + 0x28b], al
movzx eax, byte [rsp + 0x77]
mov byte [rbp + 0x28c], al
movzx eax, byte [rsp + 0x78]
mov byte [rbp + 0x28d], al
movzx eax, byte [rsp + 0x79]
mov byte [rbp + 0x28e], al
movzx eax, byte [rsp + 0x7a]
mov byte [rbp + 0x28f], al
movzx eax, byte [rsp + 0x7b]
mov byte [rbp + 0x290], al
movzx eax, byte [rsp + 0x7c]
mov byte [rbp + 0x291], al
movzx eax, byte [rsp + 0x7d]
mov byte [rbp + 0x292], al
movzx eax, byte [rsp + 0x7e]
mov byte [rbp + 0x293], al
movzx eax, byte [rsp + 0x7f]
mov byte [rbp + 0x294], al
movzx eax, byte [rbp - 0x80]
mov byte [rbp + 0x295], al
movzx eax, byte [rbp - 0x7f]
mov byte [rbp + 0x296], al
movzx eax, byte [rbp - 0x7e]
mov byte [rbp + 0x297], al
movzx eax, byte [rbp - 0x7d]
mov byte [rbp + 0x298], al
movzx eax, byte [rbp - 0x7c]
mov byte [rbp + 0x299], al
movzx eax, byte [rbp - 0x7b]
mov byte [rbp + 0x29a], al
xor eax, eax
mov byte [rbp + 0x29b], al
mov edx, ebx
nop dword [rax]
movsxd rax, edx
lea rcx, [rbp + 0x240]
add rcx, rax
lea eax, [rdx + 0x13]
xor byte [rcx], al
inc edx
cmp edx, 0x5b
jb 0x140023e00
mov byte [rbp + 0x29b], 0
lea rax, [0x140000000]
lea rax, [rax + 0x78e98]
mov qword [rbp + 0x130], rax
lea rcx, [rbp + 0x1e0]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
mov r12d, listen
mov dword [rbp + 0x70], r12d
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x140]
lea rcx, [rbp + 0x130]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64__bool____ptr64]
nop
mov rax, qword [rbp + 0x130]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x130], rax
mov rax, qword [rbp + 0x130]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x12c], edx
lea rcx, [rbp + 0x140]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
lea rax, vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov qword [rbp + 0x140], rax
mov byte [rbp + 0x1bc], 0
mov byte [rbp + 0x1b1], 0
lea rcx, [rbp + 0x140]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void____ptr64]
mov qword [rbp + 0x1c0], rbx
mov rax, qword [0x1400da2b8]
mov qword [rbp + 0x1b4], rax
mov qword [rbp + 0x1a8], rbx
lea r9d, [r12 + 0x35]
lea r8d, [r12 - 0xa]
lea rdx, [rbp + 0x240]
lea rcx, [rbp + 0x140]
call fcn.140021a60
test rax, rax
jne 0x140023f32
mov rax, qword [rbp + 0x130]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x130]
add rcx, rax
xor r8d, r8d
lea edx, [r12 - 9]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
nop
mov rax, qword [rbp + 0x130]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x130]
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 + 0x108]
lea rcx, [rbp + 0x130]
call fcn.14001c5a0
movups xmm0, xmmword [0x140079d48]
movups xmmword [rbp - 0x60], xmm0
mov eax, dword [0x140079d58]
mov dword [rbp - 0x50], eax
movzx eax, byte [0x140079d5c]
mov byte [rbp - 0x4c], al
mov ecx, ebx
mov edi, dword [reloc.WS2_32.dll_accept]
cmp edi, 2
jl 0x1400240c4
movdqa xmm5, xmmword [0x140079e80]
movdqa xmm4, xmmword [0x140079ed0]
movdqa xmm6, xmmword [0x140079ea0]
movdqa xmm0, xmmword [str.7777777777777777]
movdqa xmmword [rbp - 0x70], xmm0
lea rdx, [rbp - 0x5c]
mov r8d, dword [rbp - 0x70]
movd xmm2, ecx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140079eb0]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx - 4]
xorps xmm2, xmm0
movd dword [rdx - 4], xmm2
lea eax, [rcx + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140079eb0]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx]
xorps xmm2, xmm0
movd dword [rdx], xmm2
add ecx, 8
lea rdx, [rdx + 8]
cmp ecx, 0x10
jl 0x140023fc2
cmp ecx, 0x15
jge 0x1400240fc
movsxd rax, ecx
lea r8, [rbp - 0x60]
add r8, rax
nop
mov eax, 0x51eb851f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x32
movzx eax, cl
sub al, dl
add al, 0x37
xor byte [r8], al
inc ecx
lea r8, [r8 + 1]
cmp ecx, 0x15
jl 0x1400240d0
lea rdx, [rbp - 0x60]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140019910
lea rdx, [0x14001c540]
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, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
movups xmm0, xmmword [0x140079d60]
movups xmmword [rbp - 0x40], xmm0
movups xmm1, xmmword [0x140079d70]
movups xmmword [rbp - 0x30], xmm1
movzx eax, word [0x140079d80]
mov word [rbp - 0x20], ax
movzx eax, byte [0x140079d82]
mov byte [rbp - 0x1e], al
mov ecx, ebx
cmp edi, 2
jl 0x140024292
movdqa xmm5, xmmword [0x140079e80]
movdqa xmm4, xmmword [0x140079ed0]
movdqa xmm6, xmmword [0x140079ea0]
movdqa xmm0, xmmword [str.7777777777777777]
movdqa xmmword [rbp - 0x70], xmm0
lea rdx, [rbp - 0x3c]
mov r8d, dword [rbp - 0x70]
nop word [rax + rax]
movd xmm2, ecx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140079eb0]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx - 4]
xorps xmm2, xmm0
movd dword [rdx - 4], xmm2
lea eax, [rcx + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140079eb0]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx]
xorps xmm2, xmm0
movd dword [rdx], xmm2
add ecx, 8
lea rdx, [rdx + 8]
cmp ecx, 0x20
jl 0x140024190
cmp ecx, 0x23
jge 0x1400242cc
movsxd rax, ecx
lea r8, [rbp - 0x40]
add r8, rax
nop dword [rax]
mov eax, 0x51eb851f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x32
movzx eax, cl
sub al, dl
add al, 0x37
xor byte [r8], al
inc ecx
lea r8, [r8 + 1]
cmp ecx, 0x23
jl 0x1400242a0
lea rdx, [rbp - 0x40]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140019910
lea rdx, [rbp + 0x108]
cmp qword [rbp + 0x120], 0xf
cmova rdx, qword [rbp + 0x108]
mov r8, qword [rbp + 0x118]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001be30
lea rcx, [rbp + 0x140]
call fcn.14001a490
test rax, rax
jne 0x140024339
mov rax, qword [rbp + 0x130]
movsxd rdx, dword [rax + 4]
lea rcx, [rbp + 0x130]
add rcx, rdx
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
mov rax, qword [rbp + 0x130]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x130], rax
mov rax, qword [rbp + 0x130]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x12c], edx
lea rcx, [rbp + 0x140]
call fcn.140019f60
lea rcx, [rbp + 0x148]
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 + 0x1e0]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
jmp 0x1400245ae
xor dil, dil
test edx, edx
je 0x1400239e9
lea r8, [rbp + 0x50]
lea rdx, [rbp - 0x70]
lea rcx, str.exists
call fcn.1400206a0
nop
movups xmm0, xmmword [0x140079d88]
movups xmmword [rbp + 0x50], xmm0
movsd xmm0, qword [0x140079d98]
movsd qword [rbp + 0x60], xmm0
mov eax, dword [0x140079da0]
mov dword [rbp + 0x68], eax
movzx eax, word [0x140079da4]
mov word [rbp + 0x6c], ax
mov edi, dword [reloc.WS2_32.dll_accept]
cmp byte [0x140079da5], 0
je 0x14002457c
mov ecx, ebx
cmp edi, 2
jl 0x140024542
movdqa xmm5, xmmword [0x140079e80]
movdqa xmm4, xmmword [0x140079ed0]
movdqa xmm6, xmmword [0x140079ea0]
movdqa xmm0, xmmword [str.7777777777777777]
movdqa xmmword [rbp - 0x70], xmm0
lea rdx, [rbp + 0x54]
mov r8d, dword [rbp - 0x70]
nop dword [rax]
movd xmm2, ecx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140079eb0]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx - 4]
xorps xmm2, xmm0
movd dword [rdx - 4], xmm2
lea eax, [rcx + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140079eb0]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx]
xorps xmm2, xmm0
movd dword [rdx], xmm2
add ecx, 8
lea rdx, [rdx + 8]
cmp ecx, 0x18
jl 0x140024440
cmp ecx, 0x1e
jge 0x14002457c
movsxd rax, ecx
lea r8, [rbp + 0x50]
add r8, rax
nop dword [rax]
mov eax, 0x51eb851f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x32
movzx eax, cl
sub al, dl
add al, 0x37
xor byte [r8], al
inc ecx
lea r8, [r8 + 1]
cmp ecx, 0x1e
jl 0x140024550
lea rdx, [rbp + 0x50]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140019910
lea rdx, [rbp + 0x108]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call fcn.14001b1a0
movzx r14d, byte [rbp - 0x77]
movzx r15d, byte [rbp - 0x76]
movzx r13d, byte [rbp - 0x7a]
lea rdx, [rbp + 0x108]
lea rcx, [rbp + 0xe0]
call fcn.14000a750
mov rdx, rax
lea rcx, [0x1400da3e0]
call fcn.140005d70
cmp byte [0x1400da618], 0
jne 0x140024fcb
mov r10, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x75]
call fcn.14001de70
mov r9, rax
cmp byte [rax + 0xd], 0
je 0x14002473c
mov ecx, ebx
cmp edi, 2
jl 0x140024706
movdqa xmm4, xmmword [0x140079ed0]
movdqa xmm2, xmmword [0x140079e80]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x140079ea0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140079eb0]
packuswb xmm2, xmm2
mov eax, dword [str.7777777777777777]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [r9]
xorps xmm2, xmm0
movd dword [r9], xmm2
movdqa xmm3, xmmword [0x140079e90]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x140079ea0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140079eb0]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [r9 + 4]
xorps xmm2, xmm0
movd dword [r9 + 4], xmm2
mov ecx, 8
movsxd r8, ecx
add r8, r9
nop dword [rax]
mov eax, 0x51eb851f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x32
movzx eax, cl
sub al, dl
add al, 0x37
xor byte [r8], al
inc ecx
lea r8, [r8 + 1]
cmp ecx, 0xe
jl 0x140024710
mov rdx, r9
mov rcx, r10
call fcn.140019910
mov rcx, rax
lea rdx, [0x1400da620]
call fcn.14001b3e0
mov byte [rbp + 0x240], r14b
mov byte [rbp + 0x241], r15b
mov byte [rbp + 0x242], r13b
movzx esi, byte [rbp - 0x78]
mov byte [rbp + 0x243], sil
movzx r12d, byte [rbp - 0x79]
mov byte [rbp + 0x244], r12b
movzx eax, byte [rsp + 0x30]
mov byte [rbp + 0x245], al
movzx eax, byte [rsp + 0x31]
mov byte [rbp + 0x246], al
movzx eax, byte [rsp + 0x32]
mov byte [rbp + 0x247], al
movzx eax, byte [rsp + 0x33]
mov byte [rbp + 0x248], al
movzx eax, byte [rsp + 0x34]
mov byte [rbp + 0x249], al
movzx eax, byte [rsp + 0x35]
mov byte [rbp + 0x24a], al
movzx eax, byte [rsp + 0x36]
mov byte [rbp + 0x24b], al
movzx eax, byte [rsp + 0x37]
mov byte [rbp + 0x24c], al
movzx eax, byte [rsp + 0x38]
mov byte [rbp + 0x24d], al
movzx eax, byte [rsp + 0x39]
mov byte [rbp + 0x24e], al
movzx eax, byte [rsp + 0x3a]
mov byte [rbp + 0x24f], al
movzx eax, byte [rsp + 0x3b]
mov byte [rbp + 0x250], al
movzx eax, byte [rsp + 0x3c]
mov byte [rbp + 0x251], al
movzx eax, byte [rsp + 0x3d]
mov byte [rbp + 0x252], al
movzx eax, byte [rsp + 0x3e]
mov byte [rbp + 0x253], al
movzx eax, byte [rsp + 0x3f]
mov byte [rbp + 0x254], al
movzx eax, byte [rsp + 0x40]
mov byte [rbp + 0x255], al
movzx eax, byte [rsp + 0x41]
mov byte [rbp + 0x256], al
movzx eax, byte [rsp + 0x42]
mov byte [rbp + 0x257], al
movzx eax, byte [rsp + 0x43]
mov byte [rbp + 0x258], al
movzx eax, byte [rsp + 0x44]
mov byte [rbp + 0x259], al
movzx eax, byte [rsp + 0x45]
mov byte [rbp + 0x25a], al
movzx eax, byte [rsp + 0x46]
mov byte [rbp + 0x25b], al
movzx eax, byte [rsp + 0x47]
mov byte [rbp + 0x25c], al
movzx eax, byte [rsp + 0x48]
mov byte [rbp + 0x25d], al
movzx eax, byte [rsp + 0x49]
mov byte [rbp + 0x25e], al
movzx eax, byte [rsp + 0x4a]
mov byte [rbp + 0x25f], al
movzx eax, byte [rsp + 0x4b]
mov byte [rbp + 0x260], al
movzx eax, byte [rsp + 0x4c]
mov byte [rbp + 0x261], al
movzx eax, byte [rsp + 0x4d]
mov byte [rbp + 0x262], al
movzx eax, byte [rsp + 0x4e]
mov byte [rbp + 0x263], al
movzx eax, byte [rsp + 0x4f]
mov byte [rbp + 0x264], al
movzx eax, byte [rsp + 0x50]
mov byte [rbp + 0x265], al
movzx eax, byte [rsp + 0x51]
mov byte [rbp + 0x266], al
movzx eax, byte [rsp + 0x52]
mov byte [rbp + 0x267], al
movzx eax, byte [rsp + 0x53]
mov byte [rbp + 0x268], al
movzx eax, byte [rsp + 0x54]
mov byte [rbp + 0x269], al
movzx eax, byte [rsp + 0x55]
mov byte [rbp + 0x26a], al
movzx eax, byte [rsp + 0x56]
mov byte [rbp + 0x26b], al
movzx eax, byte [rsp + 0x57]
mov byte [rbp + 0x26c], al
movzx eax, byte [rsp + 0x58]
mov byte [rbp + 0x26d], al
movzx eax, byte [rsp + 0x59]
mov byte [rbp + 0x26e], al
movzx eax, byte [rsp + 0x5a]
mov byte [rbp + 0x26f], al
movzx eax, byte [rsp + 0x5b]
mov byte [rbp + 0x270], al
movzx eax, byte [rsp + 0x5c]
mov byte [rbp + 0x271], al
movzx eax, byte [rsp + 0x5d]
mov byte [rbp + 0x272], al
movzx eax, byte [rsp + 0x5e]
mov byte [rbp + 0x273], al
movzx eax, byte [rsp + 0x5f]
mov byte [rbp + 0x274], al
movzx eax, byte [rsp + 0x60]
mov byte [rbp + 0x275], al
movzx eax, byte [rsp + 0x61]
mov byte [rbp + 0x276], al
movzx eax, byte [rsp + 0x62]
mov byte [rbp + 0x277], al
movzx eax, byte [rsp + 0x63]
mov byte [rbp + 0x278], al
movzx eax, byte [rsp + 0x64]
mov byte [rbp + 0x279], al
movzx eax, byte [rsp + 0x65]
mov byte [rbp + 0x27a], al
movzx eax, byte [rsp + 0x66]
mov byte [rbp + 0x27b], al
movzx eax, byte [rsp + 0x67]
mov byte [rbp + 0x27c], al
movzx eax, byte [rsp + 0x68]
mov byte [rbp + 0x27d], al
movzx eax, byte [rsp + 0x69]
mov byte [rbp + 0x27e], al
movzx eax, byte [rsp + 0x6a]
mov byte [rbp + 0x27f], al
movzx eax, byte [rsp + 0x6b]
mov byte [rbp + 0x280], al
movzx eax, byte [rsp + 0x6c]
mov byte [rbp + 0x281], al
movzx eax, byte [rsp + 0x6d]
mov byte [rbp + 0x282], al
movzx eax, byte [rsp + 0x6e]
mov byte [rbp + 0x283], al
movzx eax, byte [rsp + 0x6f]
mov byte [rbp + 0x284], al
movzx eax, byte [rsp + 0x70]
mov byte [rbp + 0x285], al
movzx eax, byte [rsp + 0x71]
mov byte [rbp + 0x286], al
movzx eax, byte [rsp + 0x72]
mov byte [rbp + 0x287], al
movzx eax, byte [rsp + 0x73]
mov byte [rbp + 0x288], al
movzx eax, byte [rsp + 0x74]
mov byte [rbp + 0x289], al
movzx eax, byte [rsp + 0x75]
mov byte [rbp + 0x28a], al
movzx eax, byte [rsp + 0x76]
mov byte [rbp + 0x28b], al
movzx eax, byte [rsp + 0x77]
mov byte [rbp + 0x28c], al
movzx eax, byte [rsp + 0x78]
mov byte [rbp + 0x28d], al
movzx eax, byte [rsp + 0x79]
mov byte [rbp + 0x28e], al
movzx eax, byte [rsp + 0x7a]
mov byte [rbp + 0x28f], al
movzx eax, byte [rsp + 0x7b]
mov byte [rbp + 0x290], al
movzx eax, byte [rsp + 0x7c]
mov byte [rbp + 0x291], al
movzx eax, byte [rsp + 0x7d]
mov byte [rbp + 0x292], al
movzx eax, byte [rsp + 0x7e]
mov byte [rbp + 0x293], al
movzx eax, byte [rsp + 0x7f]
mov byte [rbp + 0x294], al
movzx eax, byte [rbp - 0x80]
mov byte [rbp + 0x295], al
movzx eax, byte [rbp - 0x7f]
mov byte [rbp + 0x296], al
movzx eax, byte [rbp - 0x7e]
mov byte [rbp + 0x297], al
movzx eax, byte [rbp - 0x7d]
mov byte [rbp + 0x298], al
movzx eax, byte [rbp - 0x7c]
mov byte [rbp + 0x299], al
movzx eax, byte [rbp - 0x7b]
mov byte [rbp + 0x29a], al
xor eax, eax
mov byte [rbp + 0x29b], al
mov edx, ebx
nop dword [rax + rax]
movsxd rax, edx
lea rcx, [rbp + 0x240]
add rcx, rax
lea eax, [rdx + 0x13]
xor byte [rcx], al
inc edx
cmp edx, 0x5b
jb 0x140024b40
mov byte [rbp + 0x29b], 0
lea rax, [rbp + 0x240]
mov qword [rbp + 0x70], rax
xor r8d, r8d
lea rdx, [rbp + 0x70]
lea rcx, [rbp + 0xe0]
call fcn.14001b0a0
nop
lea rcx, [rbp + 0xe0]
call fcn.140021100
movzx edi, al
lea rcx, [rbp + 0xe0]
call fcn.14001a070
test dil, dil
je 0x140024fad
mov byte [rbp + 0x240], r14b
mov byte [rbp + 0x241], r15b
mov byte [rbp + 0x242], r13b
mov byte [rbp + 0x243], sil
mov byte [rbp + 0x244], r12b
movzx eax, byte [rsp + 0x30]
mov byte [rbp + 0x245], al
movzx eax, byte [rsp + 0x31]
mov byte [rbp + 0x246], al
movzx eax, byte [rsp + 0x32]
mov byte [rbp + 0x247], al
movzx eax, byte [rsp + 0x33]
mov byte [rbp + 0x248], al
movzx eax, byte [rsp + 0x34]
mov byte [rbp + 0x249], al
movzx eax, byte [rsp + 0x35]
mov byte [rbp + 0x24a], al
movzx eax, byte [rsp + 0x36]
mov byte [rbp + 0x24b], al
movzx eax, byte [rsp + 0x37]
mov byte [rbp + 0x24c], al
movzx eax, byte [rsp + 0x38]
mov byte [rbp + 0x24d], al
movzx eax, byte [rsp + 0x39]
mov byte [rbp + 0x24e], al
movzx eax, byte [rsp + 0x3a]
mov byte [rbp + 0x24f], al
movzx eax, byte [rsp + 0x3b]
mov byte [rbp + 0x250], al
movzx eax, byte [rsp + 0x3c]
mov byte [rbp + 0x251], al
movzx eax, byte [rsp + 0x3d]
mov byte [rbp + 0x252], al
movzx eax, byte [rsp + 0x3e]
mov byte [rbp + 0x253], al
movzx eax, byte [rsp + 0x3f]
mov byte [rbp + 0x254], al
movzx eax, byte [rsp + 0x40]
mov byte [rbp + 0x255], al
movzx eax, byte [rsp + 0x41]
mov byte [rbp + 0x256], al
movzx eax, byte [rsp + 0x42]
mov byte [rbp + 0x257], al
movzx eax, byte [rsp + 0x43]
mov byte [rbp + 0x258], al
movzx eax, byte [rsp + 0x44]
mov byte [rbp + 0x259], al
movzx eax, byte [rsp + 0x45]
mov byte [rbp + 0x25a], al
movzx eax, byte [rsp + 0x46]
mov byte [rbp + 0x25b], al
movzx eax, byte [rsp + 0x47]
mov byte [rbp + 0x25c], al
movzx eax, byte [rsp + 0x48]
mov byte [rbp + 0x25d], al
movzx eax, byte [rsp + 0x49]
mov byte [rbp + 0x25e], al
movzx eax, byte [rsp + 0x4a]
mov byte [rbp + 0x25f], al
movzx eax, byte [rsp + 0x4b]
mov byte [rbp + 0x260], al
movzx eax, byte [rsp + 0x4c]
mov byte [rbp + 0x261], al
movzx eax, byte [rsp + 0x4d]
mov byte [rbp + 0x262], al
movzx eax, byte [rsp + 0x4e]
mov byte [rbp + 0x263], al
movzx eax, byte [rsp + 0x4f]
mov byte [rbp + 0x264], al
movzx eax, byte [rsp + 0x50]
mov byte [rbp + 0x265], al
movzx eax, byte [rsp + 0x51]
mov byte [rbp + 0x266], al
movzx eax, byte [rsp + 0x52]
mov byte [rbp + 0x267], al
movzx eax, byte [rsp + 0x53]
mov byte [rbp + 0x268], al
movzx eax, byte [rsp + 0x54]
mov byte [rbp + 0x269], al
movzx eax, byte [rsp + 0x55]
mov byte [rbp + 0x26a], al
movzx eax, byte [rsp + 0x56]
mov byte [rbp + 0x26b], al
movzx eax, byte [rsp + 0x57]
mov byte [rbp + 0x26c], al
movzx eax, byte [rsp + 0x58]
mov byte [rbp + 0x26d], al
movzx eax, byte [rsp + 0x59]
mov byte [rbp + 0x26e], al
movzx eax, byte [rsp + 0x5a]
mov byte [rbp + 0x26f], al
movzx eax, byte [rsp + 0x5b]
mov byte [rbp + 0x270], al
movzx eax, byte [rsp + 0x5c]
mov byte [rbp + 0x271], al
movzx eax, byte [rsp + 0x5d]
mov byte [rbp + 0x272], al
movzx eax, byte [rsp + 0x5e]
mov byte [rbp + 0x273], al
movzx eax, byte [rsp + 0x5f]
mov byte [rbp + 0x274], al
movzx eax, byte [rsp + 0x60]
mov byte [rbp + 0x275], al
movzx eax, byte [rsp + 0x61]
mov byte [rbp + 0x276], al
movzx eax, byte [rsp + 0x62]
mov byte [rbp + 0x277], al
movzx eax, byte [rsp + 0x63]
mov byte [rbp + 0x278], al
movzx eax, byte [rsp + 0x64]
mov byte [rbp + 0x279], al
movzx eax, byte [rsp + 0x65]
mov byte [rbp + 0x27a], al
movzx eax, byte [rsp + 0x66]
mov byte [rbp + 0x27b], al
movzx eax, byte [rsp + 0x67]
mov byte [rbp + 0x27c], al
movzx eax, byte [rsp + 0x68]
mov byte [rbp + 0x27d], al
movzx eax, byte [rsp + 0x69]
mov byte [rbp + 0x27e], al
movzx eax, byte [rsp + 0x6a]
mov byte [rbp + 0x27f], al
movzx eax, byte [rsp + 0x6b]
mov byte [rbp + 0x280], al
movzx eax, byte [rsp + 0x6c]
mov byte [rbp + 0x281], al
movzx eax, byte [rsp + 0x6d]
mov byte [rbp + 0x282], al
movzx eax, byte [rsp + 0x6e]
mov byte [rbp + 0x283], al
movzx eax, byte [rsp + 0x6f]
mov byte [rbp + 0x284], al
movzx eax, byte [rsp + 0x70]
mov byte [rbp + 0x285], al
movzx eax, byte [rsp + 0x71]
mov byte [rbp + 0x286], al
movzx eax, byte [rsp + 0x72]
mov byte [rbp + 0x287], al
movzx eax, byte [rsp + 0x73]
mov byte [rbp + 0x288], al
movzx eax, byte [rsp + 0x74]
mov byte [rbp + 0x289], al
movzx eax, byte [rsp + 0x75]
mov byte [rbp + 0x28a], al
movzx eax, byte [rsp + 0x76]
mov byte [rbp + 0x28b], al
movzx eax, byte [rsp + 0x77]
mov byte [rbp + 0x28c], al
movzx eax, byte [rsp + 0x78]
mov byte [rbp + 0x28d], al
movzx eax, byte [rsp + 0x79]
mov byte [rbp + 0x28e], al
movzx eax, byte [rsp + 0x7a]
mov byte [rbp + 0x28f], al
movzx eax, byte [rsp + 0x7b]
mov byte [rbp + 0x290], al
movzx eax, byte [rsp + 0x7c]
mov byte [rbp + 0x291], al
movzx eax, byte [rsp + 0x7d]
mov byte [rbp + 0x292], al
movzx eax, byte [rsp + 0x7e]
mov byte [rbp + 0x293], al
movzx eax, byte [rsp + 0x7f]
mov byte [rbp + 0x294], al
movzx eax, byte [rbp - 0x80]
mov byte [rbp + 0x295], al
movzx eax, byte [rbp - 0x7f]
mov byte [rbp + 0x296], al
movzx eax, byte [rbp - 0x7e]
mov byte [rbp + 0x297], al
movzx eax, byte [rbp - 0x7d]
mov byte [rbp + 0x298], al
movzx eax, byte [rbp - 0x7c]
mov byte [rbp + 0x299], al
movzx eax, byte [rbp - 0x7b]
mov byte [rbp + 0x29a], al
xor eax, eax
mov byte [rbp + 0x29b], al
nop word [rax + rax]
movsxd rax, ebx
lea rcx, [rbp + 0x240]
add rcx, rax
lea eax, [rbx + 0x13]
xor byte [rcx], al
inc ebx
cmp ebx, 0x5b
jb 0x140024f80
mov byte [rbp + 0x29b], 0
lea rcx, [rbp + 0x240]
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
mov ecx, 0x5dc
call qword [sym.imp.KERNEL32.dll_Sleep]
call fcn.14001f930
call fcn.14001f930
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
xor edx, edx
mov r8d, 0x108
lea rcx, [rbp + 0x130]
call sub.VCRUNTIME140.dll_memset
mov byte [rbp + 0x80], r14b
mov byte [rbp + 0x81], r15b
mov byte [rbp + 0x82], r13b
movzx eax, byte [rbp - 0x78]
mov byte [rbp + 0x83], al
movzx eax, byte [rbp - 0x79]
mov byte [rbp + 0x84], al
movzx eax, byte [rsp + 0x30]
mov byte [rbp + 0x85], al
movzx eax, byte [rsp + 0x31]
mov byte [rbp + 0x86], al
movzx eax, byte [rsp + 0x32]
mov byte [rbp + 0x87], al
movzx eax, byte [rsp + 0x33]
mov byte [rbp + 0x88], al
movzx eax, byte [rsp + 0x34]
mov byte [rbp + 0x89], al
movzx eax, byte [rsp + 0x35]
mov byte [rbp + 0x8a], al
movzx eax, byte [rsp + 0x36]
mov byte [rbp + 0x8b], al
movzx eax, byte [rsp + 0x37]
mov byte [rbp + 0x8c], al
movzx eax, byte [rsp + 0x38]
mov byte [rbp + 0x8d], al
movzx eax, byte [rsp + 0x39]
mov byte [rbp + 0x8e], al
movzx eax, byte [rsp + 0x3a]
mov byte [rbp + 0x8f], al
movzx eax, byte [rsp + 0x3b]
mov byte [rbp + 0x90], al
movzx eax, byte [rsp + 0x3c]
mov byte [rbp + 0x91], al
movzx eax, byte [rsp + 0x3d]
mov byte [rbp + 0x92], al
movzx eax, byte [rsp + 0x3e]
mov byte [rbp + 0x93], al
movzx eax, byte [rsp + 0x3f]
mov byte [rbp + 0x94], al
movzx eax, byte [rsp + 0x40]
mov byte [rbp + 0x95], al
movzx eax, byte [rsp + 0x41]
mov byte [rbp + 0x96], al
movzx eax, byte [rsp + 0x42]
mov byte [rbp + 0x97], al
movzx eax, byte [rsp + 0x43]
mov byte [rbp + 0x98], al
movzx eax, byte [rsp + 0x44]
mov byte [rbp + 0x99], al
movzx eax, byte [rsp + 0x45]
mov byte [rbp + 0x9a], al
movzx eax, byte [rsp + 0x46]
mov byte [rbp + 0x9b], al
movzx eax, byte [rsp + 0x47]
mov byte [rbp + 0x9c], al
movzx eax, byte [rsp + 0x48]
mov byte [rbp + 0x9d], al
movzx eax, byte [rsp + 0x49]
mov byte [rbp + 0x9e], al
movzx eax, byte [rsp + 0x4a]
mov byte [rbp + 0x9f], al
movzx eax, byte [rsp + 0x4b]
mov byte [rbp + 0xa0], al
movzx eax, byte [rsp + 0x4c]
mov byte [rbp + 0xa1], al
movzx eax, byte [rsp + 0x4d]
mov byte [rbp + 0xa2], al
movzx eax, byte [rsp + 0x4e]
mov byte [rbp + 0xa3], al
movzx eax, byte [rsp + 0x4f]
mov byte [rbp + 0xa4], al
movzx eax, byte [rsp + 0x50]
mov byte [rbp + 0xa5], al
movzx eax, byte [rsp + 0x51]
mov byte [rbp + 0xa6], al
movzx eax, byte [rsp + 0x52]
mov byte [rbp + 0xa7], al
movzx eax, byte [rsp + 0x53]
mov byte [rbp + 0xa8], al
movzx eax, byte [rsp + 0x54]
mov byte [rbp + 0xa9], al
movzx eax, byte [rsp + 0x55]
mov byte [rbp + 0xaa], al
movzx eax, byte [rsp + 0x56]
mov byte [rbp + 0xab], al
movzx eax, byte [rsp + 0x57]
mov byte [rbp + 0xac], al
movzx eax, byte [rsp + 0x58]
mov byte [rbp + 0xad], al
movzx eax, byte [rsp + 0x59]
mov byte [rbp + 0xae], al
movzx eax, byte [rsp + 0x5a]
mov byte [rbp + 0xaf], al
movzx eax, byte [rsp + 0x5b]
mov byte [rbp + 0xb0], al
movzx eax, byte [rsp + 0x5c]
mov byte [rbp + 0xb1], al
movzx eax, byte [rsp + 0x5d]
mov byte [rbp + 0xb2], al
movzx eax, byte [rsp + 0x5e]
mov byte [rbp + 0xb3], al
movzx eax, byte [rsp + 0x5f]
mov byte [rbp + 0xb4], al
movzx eax, byte [rsp + 0x60]
mov byte [rbp + 0xb5], al
movzx eax, byte [rsp + 0x61]
mov byte [rbp + 0xb6], al
movzx eax, byte [rsp + 0x62]
mov byte [rbp + 0xb7], al
movzx eax, byte [rsp + 0x63]
mov byte [rbp + 0xb8], al
movzx eax, byte [rsp + 0x64]
mov byte [rbp + 0xb9], al
movzx eax, byte [rsp + 0x65]
mov byte [rbp + 0xba], al
movzx eax, byte [rsp + 0x66]
mov byte [rbp + 0xbb], al
movzx eax, byte [rsp + 0x67]
mov byte [rbp + 0xbc], al
movzx eax, byte [rsp + 0x68]
mov byte [rbp + 0xbd], al
movzx eax, byte [rsp + 0x69]
mov byte [rbp + 0xbe], al
movzx eax, byte [rsp + 0x6a]
mov byte [rbp + 0xbf], al
movzx eax, byte [rsp + 0x6b]
mov byte [rbp + 0xc0], al
movzx eax, byte [rsp + 0x6c]
mov byte [rbp + 0xc1], al
movzx eax, byte [rsp + 0x6d]
mov byte [rbp + 0xc2], al
movzx eax, byte [rsp + 0x6e]
mov byte [rbp + 0xc3], al
movzx eax, byte [rsp + 0x6f]
mov byte [rbp + 0xc4], al
movzx eax, byte [rsp + 0x70]
mov byte [rbp + 0xc5], al
movzx eax, byte [rsp + 0x71]
mov byte [rbp + 0xc6], al
movzx eax, byte [rsp + 0x72]
mov byte [rbp + 0xc7], al
movzx eax, byte [rsp + 0x73]
mov byte [rbp + 0xc8], al
movzx eax, byte [rsp + 0x74]
mov byte [rbp + 0xc9], al
movzx eax, byte [rsp + 0x75]
mov byte [rbp + 0xca], al
movzx eax, byte [rsp + 0x76]
mov byte [rbp + 0xcb], al
movzx eax, byte [rsp + 0x77]
mov byte [rbp + 0xcc], al
movzx eax, byte [rsp + 0x78]
mov byte [rbp + 0xcd], al
movzx eax, byte [rsp + 0x79]
mov byte [rbp + 0xce], al
movzx eax, byte [rsp + 0x7a]
mov byte [rbp + 0xcf], al
movzx eax, byte [rsp + 0x7b]
mov byte [rbp + 0xd0], al
movzx eax, byte [rsp + 0x7c]
mov byte [rbp + 0xd1], al
movzx eax, byte [rsp + 0x7d]
mov byte [rbp + 0xd2], al
movzx eax, byte [rsp + 0x7e]
mov byte [rbp + 0xd3], al
movzx eax, byte [rsp + 0x7f]
mov byte [rbp + 0xd4], al
movzx eax, byte [rbp - 0x80]
mov byte [rbp + 0xd5], al
movzx eax, byte [rbp - 0x7f]
mov byte [rbp + 0xd6], al
movzx eax, byte [rbp - 0x7e]
mov byte [rbp + 0xd7], al
movzx eax, byte [rbp - 0x7d]
mov byte [rbp + 0xd8], al
movzx eax, byte [rbp - 0x7c]
mov byte [rbp + 0xd9], al
movzx eax, byte [rbp - 0x7b]
mov byte [rbp + 0xda], al
xor eax, eax
mov byte [rbp + 0xdb], al
mov edx, ebx
nop
movsxd rax, edx
lea rcx, [rbp + 0x80]
add rcx, rax
lea eax, [rdx + 0x13]
xor byte [rcx], al
inc edx
cmp edx, 0x5b
jb 0x1400253c0
mov byte [rbp + 0xdb], 0
lea rax, [0x140000000]
lea rax, [rax + 0x78eb0]
mov qword [rbp + 0x130], rax
lea rcx, [rbp + 0x1d8]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
or r12d, 0x10
mov dword [rbp + 0x70], r12d
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x138]
lea rcx, [rbp + 0x130]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64__bool____ptr64]
nop
mov rax, qword [rbp + 0x130]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x130], rax
mov rax, qword [rbp + 0x130]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0x12c], edx
lea rcx, [rbp + 0x138]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
lea rax, vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov qword [rbp + 0x138], rax
mov byte [rbp + 0x1b4], 0
mov byte [rbp + 0x1a9], 0
lea rcx, [rbp + 0x138]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void____ptr64]
mov qword [rbp + 0x1b8], rbx
mov rax, qword [0x1400da2b8]
mov qword [rbp + 0x1ac], rax
mov qword [rbp + 0x1a0], rbx
mov r9d, 0x40
lea r8d, [r9 - 0x3e]
lea rdx, [rbp + 0x80]
lea rcx, [rbp + 0x138]
call fcn.140021a60
test rax, rax
jne 0x1400254ef
mov rax, qword [rbp + 0x130]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x130]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
nop
lea rdx, [rbp + 0x108]
cmp qword [rbp + 0x120], 0xf
cmova rdx, qword [rbp + 0x108]
mov r8, qword [rbp + 0x118]
lea rcx, [rbp + 0x130]
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__::write_char_const____ptr64__long_long___int64_____ptr64]
lea rcx, [rbp + 0x138]
call fcn.14001a490
test rax, rax
jne 0x14002554d
mov rax, qword [rbp + 0x130]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x130]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
lea rcx, [0x140079e48]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
movups xmm0, xmmword [0x140079db8]
movups xmmword [rbp - 0x60], xmm0
movzx eax, byte [0x140079dc8]
mov byte [rbp - 0x50], al
mov ecx, ebx
cmp edi, 2
jl 0x1400256b2
movdqa xmm5, xmmword [0x140079e80]
movdqa xmm4, xmmword [0x140079ed0]
movdqa xmm6, xmmword [0x140079ea0]
movdqa xmm0, xmmword [str.7777777777777777]
movdqa xmmword [rbp - 0x70], xmm0
lea rdx, [rbp - 0x5c]
mov r8d, dword [rbp - 0x70]
nop word [rax + rax]
movd xmm2, ecx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140079eb0]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx - 4]
xorps xmm2, xmm0
movd dword [rdx - 4], xmm2
lea eax, [rcx + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140079eb0]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx]
xorps xmm2, xmm0
movd dword [rdx], xmm2
add ecx, 8
lea rdx, [rdx + 8]
cmp ecx, 0x10
jl 0x1400255b0
cmp ecx, 0x11
jge 0x1400256ec
movsxd rax, ecx
lea r8, [rbp - 0x60]
add r8, rax
nop dword [rax]
mov eax, 0x51eb851f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x32
movzx eax, cl
sub al, dl
add al, 0x37
xor byte [r8], al
inc ecx
lea r8, [r8 + 1]
cmp ecx, 0x11
jl 0x1400256c0
lea rdx, [rbp - 0x60]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140019910
lea rdx, [0x14001c540]
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]
lea rdx, [0x1400da5f8]
lea rcx, [rbp - 0x40]
call fcn.14000a750
mov rcx, rax
call fcn.140022b30
mov qword [rbp + 0x70], rax
lea rdx, [rbp + 0x70]
lea rcx, [rbp - 0x10]
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__localtime64_s]
movups xmm0, xmmword [rbp - 0x10]
movaps xmmword [rbp + 0x20], xmm0
movups xmm1, xmmword [rbp]
movaps xmmword [rbp + 0x30], xmm1
mov eax, dword [rbp + 0x10]
mov dword [rbp + 0x40], eax
lea r9, [rbp + 0x20]
lea r8, str._a__m__d__y__H:_M:_S__Z
mov edx, 0x50
lea rcx, [rbp + 0x240]
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_strftime]
xorps xmm0, xmm0
movups xmmword [rbp + 0xe0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xf0], xmm1
lea rax, [rbp + 0x240]
mov r8, rsi
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140025790
lea rdx, [rbp + 0x240]
lea rcx, [rbp + 0xe0]
call fcn.140018660
nop
movups xmm0, xmmword [0x140079dd0]
movups xmmword [rbp - 0x60], xmm0
movsd xmm0, qword [0x140079de0]
movsd qword [rbp - 0x50], xmm0
movzx eax, word [0x140079de8]
mov word [rbp - 0x48], ax
movzx eax, byte [0x140079dea]
mov byte [rbp - 0x46], al
mov ecx, ebx
cmp edi, 2
jl 0x140025915
movdqa xmm5, xmmword [0x140079e80]
movdqa xmm4, xmmword [0x140079ed0]
movdqa xmm6, xmmword [0x140079ea0]
movdqa xmm0, xmmword [str.7777777777777777]
movdqa xmmword [rbp - 0x70], xmm0
lea rdx, [rbp - 0x5c]
mov r8d, dword [rbp - 0x70]
movd xmm2, ecx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140079eb0]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx - 4]
xorps xmm2, xmm0
movd dword [rdx - 4], xmm2
lea eax, [rcx + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140079eb0]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx]
xorps xmm2, xmm0
movd dword [rdx], xmm2
add ecx, 8
lea rdx, [rdx + 8]
cmp ecx, 0x18
jl 0x140025813
cmp ecx, 0x1b
jge 0x14002594c
movsxd rax, ecx
lea r8, [rbp - 0x60]
add r8, rax
nop
mov eax, 0x51eb851f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x32
movzx eax, cl
sub al, dl
add al, 0x37
xor byte [r8], al
inc ecx
lea r8, [r8 + 1]
cmp ecx, 0x1b
jl 0x140025920
lea rdx, [rbp - 0x60]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140019910
lea rdx, [rbp + 0xe0]
cmp qword [rbp + 0xf8], 0xf
cmova rdx, qword [rbp + 0xe0]
mov r8, qword [rbp + 0xf0]
mov rcx, rax
call fcn.14001be30
lea rdx, [0x14001c540]
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]
nop
mov rdx, qword [rbp + 0xf8]
cmp rdx, 0xf
jbe 0x1400259d7
inc rdx
mov rcx, qword [rbp + 0xe0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400259d2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400259d2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140073e50
lea rdx, [0x1400da5c0]
lea rcx, [rbp - 0x40]
call fcn.14000a750
mov rcx, rax
call fcn.140022b30
mov qword [rbp + 0x70], rax
lea rdx, [rbp + 0x70]
lea rcx, [rbp + 0x20]
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__localtime64_s]
movups xmm0, xmmword [rbp + 0x20]
movaps xmmword [rbp - 0x10], xmm0
movups xmm1, xmmword [rbp + 0x30]
movaps xmmword [rbp], xmm1
mov eax, dword [rbp + 0x40]
mov dword [rbp + 0x10], eax
lea r9, [rbp - 0x10]
lea r8, str._a__m__d__y__H:_M:_S__Z
mov edx, 0x50
lea rcx, [rbp + 0x240]
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_strftime]
xorps xmm0, xmm0
movups xmmword [rbp + 0xe0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xf0], xmm1
lea rax, [rbp + 0x240]
inc rsi
cmp byte [rax + rsi], 0
jne 0x140025a50
mov r8, rsi
lea rdx, [rbp + 0x240]
lea rcx, [rbp + 0xe0]
call fcn.140018660
nop
movups xmm0, xmmword [0x140079df0]
movups xmmword [rbp - 0x60], xmm0
movzx eax, word [0x140079e00]
mov word [rbp - 0x50], ax
cmp byte [0x140079e01], 0
je 0x140025c0c
mov ecx, ebx
cmp edi, 2
jl 0x140025bd2
movdqa xmm5, xmmword [0x140079e80]
movdqa xmm4, xmmword [0x140079ed0]
movdqa xmm6, xmmword [0x140079ea0]
movdqa xmm0, xmmword [str.7777777777777777]
movdqa xmmword [rbp - 0x70], xmm0
lea rdx, [rbp - 0x5c]
mov r8d, dword [rbp - 0x70]
nop dword [rax + rax]
movd xmm2, ecx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140079eb0]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx - 4]
xorps xmm2, xmm0
movd dword [rdx - 4], xmm2
lea eax, [rcx + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140079eb0]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx]
xorps xmm2, xmm0
movd dword [rdx], xmm2
add ecx, 8
lea rdx, [rdx + 8]
cmp ecx, 0x10
jl 0x140025ad0
cmp ecx, 0x12
jge 0x140025c0c
movsxd rax, ecx
lea r8, [rbp - 0x60]
add r8, rax
nop dword [rax]
mov eax, 0x51eb851f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x32
movzx eax, cl
sub al, dl
add al, 0x37
xor byte [r8], al
inc ecx
lea r8, [r8 + 1]
cmp ecx, 0x12
jl 0x140025be0
lea rdx, [rbp - 0x60]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140019910
lea rdx, [rbp + 0xe0]
cmp qword [rbp + 0xf8], 0xf
cmova rdx, qword [rbp + 0xe0]
mov r8, qword [rbp + 0xf0]
mov rcx, rax
call fcn.14001be30
lea rdx, [0x14001c540]
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]
nop
mov rdx, qword [rbp + 0xf8]
cmp rdx, 0xf
jbe 0x140025c97
inc rdx
mov rcx, qword [rbp + 0xe0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140025c92
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140025c92
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140073e50
mov byte [rbp - 0x7a], 0
lea rdx, [rbp - 0x7a]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140019910
lea rdx, [0x14001c540]
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]
lea rcx, [0x1400da3e0]
call fcn.1400077e0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x60], rax
lea rdx, [0x1400da338]
lea rcx, [rbp - 0x40]
call fcn.14000a750
mov r8, rax
lea rdx, [rbp + 0x50]
lea rcx, [0x1400da3e0]
call fcn.1400087e0
nop
call fcn.14001e4e0
lea rdx, [0x14001c540]
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]
movups xmm0, xmmword [0x140079e08]
movups xmmword [rbp - 0x60], xmm0
movsd xmm0, qword [0x140079e18]
movsd qword [rbp - 0x50], xmm0
mov eax, dword [0x140079e20]
mov dword [rbp - 0x48], eax
cmp byte [0x140079e23], 0
je 0x140025ebc
mov ecx, ebx
cmp edi, 2
jl 0x140025e82
movdqa xmm5, xmmword [0x140079e80]
movdqa xmm4, xmmword [0x140079ed0]
movdqa xmm6, xmmword [0x140079ea0]
movdqa xmm0, xmmword [str.7777777777777777]
movdqa xmmword [rbp - 0x70], xmm0
lea rdx, [rbp - 0x5c]
mov r8d, dword [rbp - 0x70]
nop word [rax + rax]
movd xmm2, ecx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140079eb0]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx - 4]
xorps xmm2, xmm0
movd dword [rdx - 4], xmm2
lea eax, [rcx + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140079eb0]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx]
xorps xmm2, xmm0
movd dword [rdx], xmm2
add ecx, 8
lea rdx, [rdx + 8]
cmp ecx, 0x18
jl 0x140025d80
cmp ecx, 0x1c
jge 0x140025ebc
movsxd rax, ecx
lea r8, [rbp - 0x60]
add r8, rax
nop dword [rax]
mov eax, 0x51eb851f
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x32
movzx eax, cl
sub al, dl
add al, 0x37
xor byte [r8], al
inc ecx
lea r8, [r8 + 1]
cmp ecx, 0x1c
jl 0x140025e90
lea rdx, [rbp - 0x60]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140019910
lea rdx, [0x14001c540]
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]
nop dword [rax]
mov ecx, WSAStartup
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x140025ee0
lea rcx, [0x140079e48]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov r10, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, [rbp - 0x60]
lea rcx, [rbp - 0x75]
call fcn.14001de40
mov r9, rax
cmp byte [rax + 0x1d], 0
je 0x14002608c
cmp edi, 2
jl 0x140026053
movdqa xmm5, xmmword [0x140079e80]
movdqa xmm4, xmmword [0x140079ed0]
movdqa xmm6, xmmword [0x140079ea0]
movdqa xmm0, xmmword [str.7777777777777777]
movdqa xmmword [rbp - 0x70], xmm0
mov rcx, rax
mov edx, dword [rbp - 0x70]
movd xmm2, ebx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140079eb0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
lea eax, [rbx + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140079eb0]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx + 4]
xorps xmm2, xmm0
movd dword [rcx + 4], xmm2
add ebx, 8
mov eax, ebx
lea rcx, [rcx + 8]
cmp ebx, 0x18
jl 0x140025f51
cmp eax, 0x1e
jge 0x14002608c
movsxd r8, ebx
add r8, r9
nop dword [rax]
mov eax, 0x51eb851f
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x32
movzx eax, bl
sub al, dl
add al, 0x37
xor byte [r8], al
inc ebx
lea r8, [r8 + 1]
cmp ebx, 0x1e
jl 0x140026060
mov rdx, r9
mov rcx, r10
call fcn.140019910
lea rdx, [0x14001c540]
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]
xor edx, edx
lea rcx, [rbp + 0x50]
call fcn.14001de30
mov rcx, rax
call fcn.14001f190
int3