Function at 0x14001a060
Capabilities:
Create thread
Initialize winsock library
Receive data
Receive data on socket
Send data
Send data on socket
Set console window title
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rsp - 0x520]
sub rsp, 0x620
mov rax, qword [0x140107040]
xor rax, rsp
mov qword [rbp + 0x510], rax
lea rcx, str.Asgard
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
lea rdx, str.___welcome__n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001dcb0
lea rdx, str.___checking_presence_of_serial_kmbox_n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001dcb0
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
xor r15d, r15d
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], r15
lea r8d, [r15 + 0x10]
lea rdx, str.USB_SERIAL_CH340
lea rcx, [rsp + 0x48]
call fcn.14001efa0
nop
lea rdx, [rsp + 0x48]
lea rcx, [rbp + 0x18]
call fcn.1400030a0
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0xf
jbe 0x14001a146
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001a141
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001a141
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400cc890
cmp qword [rbp + 0x28], 0
je 0x14001a259
lea rcx, [rbp + 0x18]
cmp qword [rbp + 0x30], 0xf
cmova rcx, qword [rbp + 0x18]
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc0000000
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov qword [0x140670c60], rax
cmp rax, 0xffffffffffffffff
je 0x14001a26c
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x2c], xmm0
mov qword [rbp - 0x1c], r15
mov dword [rbp - 0x30], 0x1c
lea rdx, [rbp - 0x30]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetCommState]
mov rcx, qword [0x140670c60]
test eax, eax
jne 0x14001a1cc
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14001a26c
mov dword [rbp - 0x2c], 0x1c200
mov word [rbp - 0x1e], 8
mov byte [rbp - 0x1c], 0
lea rdx, [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_SetCommState]
mov rcx, qword [0x140670c60]
test eax, eax
jne 0x14001a1fa
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14001a26c
mov dword [rbp - 0x10], 5
mov dword [rbp - 8], 5
mov dword [rbp - 0xc], 5
mov dword [rbp], 5
mov dword [rbp - 4], 5
lea rdx, [rbp - 0x10]
call qword [sym.imp.KERNEL32.dll_SetCommTimeouts]
test eax, eax
jne 0x14001a23a
mov rcx, qword [0x140670c60]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14001a26c
lea rdx, str.___serial_kmbox_found__n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001dcb0
mov byte [0x140670a58], 1
jmp 0x14001aa9b
lea rdx, str.___serial_kmbox_not_found__n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001dcb0
cmp byte [0x140670a58], 0
jne 0x14001aa9b
lea rdx, str.___use_kmbox_net__y_n__:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001dcb0
lea rdx, [rsp + 0x40]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call fcn.14001de80
movzx eax, byte [rsp + 0x40]
sub al, 0x59
test al, 0xdf
jne 0x14001aa9b
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0x260]
call sub.VCRUNTIME140.dll_memset
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
mov qword [rbp], r15
mov qword [rbp + 8], r15
mov r8d, sendto
lea rdx, str.kmboxnet_ip.txt
lea rcx, [rbp - 0x10]
call fcn.14001efa0
nop
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0x260]
call fcn.14001ba80
nop
mov rdx, qword [rbp + 8]
cmp rdx, 0xf
jbe 0x14001a335
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001a330
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001a330
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400cc890
mov qword [rbp], r15
mov qword [rbp + 8], sendto
mov byte [rbp - 0x10], 0
cmp qword [rbp + 0x2f0], 0
jne 0x14001a376
lea rdx, str.___ip_file_not_found__n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001dcb0
mov ecx, 0x1388
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
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0x150]
call sub.VCRUNTIME140.dll_memset
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x18], r15
mov r8d, reloc.WS2_32.dll_recvfrom
lea rdx, str.kmboxnet_port.txt
lea rcx, [rbp - 0x30]
call fcn.14001efa0
nop
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x150]
call fcn.14001ba80
nop
mov rdx, qword [rbp - 0x18]
cmp rdx, 0xf
jbe 0x14001a3ff
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001a3fa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001a3fa
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400cc890
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x18], sendto
mov byte [rbp - 0x30], 0
cmp qword [rbp + 0x1e0], 0
jne 0x14001a440
lea rdx, str.___port_file_not_found__n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001dcb0
mov ecx, 0x1388
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
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0x40]
call sub.VCRUNTIME140.dll_memset
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], r15
mov r8d, reloc.WS2_32.dll_recvfrom
lea rdx, str.kmboxnet_uuid.txt
lea rcx, [rsp + 0x48]
call fcn.14001efa0
nop
lea rdx, [rsp + 0x48]
lea rcx, [rbp + 0x40]
call fcn.14001ba80
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0xf
jbe 0x14001a4ca
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001a4c5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001a4c5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400cc890
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], sendto
mov byte [rsp + 0x48], 0
cmp qword [rbp + 0xd0], 0
jne 0x14001a50e
lea rdx, str.___uuid_file_not_found__n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001dcb0
mov ecx, 0x1388
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 qword [rbp - 0x30], r15
mov word [rbp - 0x28], 1
mov rax, qword [rbp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [rbp + rcx + 0x88]
mov qword [rbp - 0x10], rax
test rax, rax
sete byte [rbp - 8]
mov byte [rbp - 7], 0
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp - 0x30], xmm0
movaps xmm1, xmmword [rbp - 0x10]
movdqa xmmword [rbp - 0x10], xmm1
lea r8, [rbp - 0x30]
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x58]
call fcn.14001df40
mov rbx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x14001a567
mov rbx, qword [rax]
mov qword [rbp - 0x10], r15
mov word [rbp - 8], 1
mov rax, qword [rbp + 0x150]
movsxd rcx, dword [rax + 4]
mov rax, qword [rbp + rcx + 0x198]
mov qword [rbp - 0x30], rax
test rax, rax
sete byte [rbp - 0x28]
mov byte [rbp - 0x27], 0
movaps xmm0, xmmword [rbp - 0x10]
movdqa xmmword [rbp - 0x10], xmm0
movaps xmm1, xmmword [rbp - 0x30]
movdqa xmmword [rbp - 0x30], xmm1
lea r8, [rbp - 0x10]
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x78]
call fcn.14001df40
mov rdi, rax
cmp qword [rax + 0x18], 0xf
jbe 0x14001a5c3
mov rdi, qword [rax]
mov qword [rbp - 0x10], r15
mov word [rbp - 8], 1
mov rax, qword [rbp + 0x260]
movsxd rcx, dword [rax + 4]
mov rax, qword [rbp + rcx + 0x2a8]
mov qword [rbp - 0x30], rax
test rax, rax
sete byte [rbp - 0x28]
mov byte [rbp - 0x27], 0
movaps xmm0, xmmword [rbp - 0x10]
movdqa xmmword [rbp - 0x10], xmm0
movaps xmm1, xmmword [rbp - 0x30]
movdqa xmmword [rbp - 0x30], xmm1
lea r8, [rbp - 0x10]
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x68]
call fcn.14001df40
mov rsi, rax
cmp qword [rax + 0x18], 0xf
jbe 0x14001a620
mov rsi, qword [rax]
mov ecx, 0x101
lea rdx, [rbp + 0x370]
call qword [sym.imp.WS2_32.dll_WSAStartup]
lea r12, [0x1406715d0]
test eax, eax
je 0x14001a647
mov ebx, 0xffffdcd8
jmp 0x14001a7ca
movzx eax, word [rbp + 0x370]
cmp al, 1
jne 0x14001a7b4
shr ax, 8
cmp al, 1
jne 0x14001a7b4
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
xor r8d, r8d
mov r14d, 2
mov edx, r14d
mov ecx, r14d
call qword [sym.imp.WS2_32.dll_socket]
mov qword [0x140670d88], rax
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_inet_addr]
mov dword [0x1406715d4], eax
mov word [0x1406715d0], r14w
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov ecx, eax
call qword [sym.imp.WS2_32.dll_htons]
mov word [0x1406715d2], ax
mov rcx, rbx
call fcn.1400241b0
mov dword [0x140670d90], eax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov dword [0x140670d94], eax
mov dword [0x140670d98], r15d
mov dword [0x140670d9c], 0xaf3c2828
xorps xmm0, xmm0
xor eax, eax
movups xmmword [0x140670d50], xmm0
movups xmmword [0x140670d60], xmm0
movups xmmword [0x140670d70], xmm0
mov qword [0x140670d80], rax
mov qword [0x1406711a0], rax
mov dword [0x1406711a8], eax
mov dword [rsp + 0x28], sendto
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea r8d, [r14 + 0xe]
lea rdx, [0x140670d90]
mov rcx, qword [0x140670d88]
call qword [sym.imp.WS2_32.dll_sendto]
lea ecx, [r14 + 0x12]
call qword [sym.imp.KERNEL32.dll_Sleep]
mov dword [rbp + sendto], 0x10
lea rax, [rbp + 0x10]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r12
xor r9d, r9d
mov r8d, 0x400
lea rdx, [0x1406711b0]
mov rcx, qword [0x140670d88]
call qword [sym.imp.WS2_32.dll_recvfrom]
test eax, eax
jns 0x14001a786
mov ebx, 0xffffdcdb
jmp 0x14001a7ca
mov eax, dword [0x140670d9c]
cmp dword [0x1406711bc], eax
je 0x14001a79b
mov ebx, 0xffffdcdc
jmp 0x14001a7ca
mov ebx, r15d
mov ecx, 0xffffdcdd
mov eax, dword [0x140670d98]
cmp dword [0x1406711b8], eax
cmovne ebx, ecx
jmp 0x14001a7ca
call qword [sym.imp.WS2_32.dll_WSACleanup]
mov qword [0x140670d88], 0xffffffffffffffff
mov ebx, 0xffffdcd9
mov rdx, qword [rbp - 0x80]
cmp rdx, 0xf
jbe 0x14001a809
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001a804
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001a804
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400cc890
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x80], sendto
mov byte [rsp + 0x68], 0
mov rdx, qword [rbp - 0x60]
cmp rdx, 0xf
jbe 0x14001a859
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001a854
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001a854
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400cc890
mov qword [rbp - 0x68], r15
mov qword [rbp - 0x60], sendto
mov byte [rbp - 0x78], 0
mov rdx, qword [rbp - 0x40]
cmp rdx, 0xf
jbe 0x14001a8a7
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001a8a2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001a8a2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400cc890
lea eax, [rbx + 0x2327]
test eax, 0xfffffffd
je 0x14001a9b1
lea rdx, str.___kmbox_net_found__n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001dcb0
mov byte [0x140670a3e], 1
mov rcx, qword [0x140670d88]
test rcx, rcx
je 0x14001a9b1
inc dword [0x140670d98]
mov dword [0x140670d9c], 0x27388020
movzx eax, word [0x1406715d2]
inc eax
or eax, 0xaa550000
mov dword [0x140670d94], eax
mov dword [rsp + 0x28], sendto
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea r8d, [r9 + 0x10]
lea rdx, [0x140670d90]
call qword [sym.imp.WS2_32.dll_sendto]
mov dword [rbp + sendto], 0x10
lea rax, [rbp + 0x10]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x10]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x400
lea rdx, [0x1406711b0]
mov rcx, qword [0x140670d88]
call qword [sym.imp.WS2_32.dll_recvfrom]
nop dword [rax]
cmp qword [0x14069fa30], 0
jne 0x14001a99d
mov dword [0x14069f8c8], 1
lea rax, [rbp - 0x30]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r15d
xor r9d, r9d
lea r8, [0x1400244b0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [0x14069fa30], rax
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [0x14069f8c8], 2
jne 0x14001a960
mov rax, qword [rbp + 0x40]
movsxd rcx, dword [rax + 4]
lea rbx, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x40], rbx
mov rax, qword [rbp + 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x3c], edx
lea rcx, [rbp + 0x50]
call fcn.14001ba10
lea rcx, [rbp + 0x58]
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 + 0xf0]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rax, qword [rbp + 0x150]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x150], rbx
mov rax, qword [rbp + 0x150]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x14c], edx
lea rcx, [rbp + 0x160]
call fcn.14001ba10
lea rcx, [rbp + 0x168]
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 + 0x200]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rax, qword [rbp + 0x260]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x260], rbx
mov rax, qword [rbp + 0x260]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x25c], edx
lea rcx, [rbp + 0x270]
call fcn.14001ba10
lea rcx, [rbp + 0x278]
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 + 0x310]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rdx, str.___looking_for_the_game__n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001dcb0
mov ecx, 0x190
call fcn.1400ccb34
mov rbx, rax
mov qword [rbp - 0x30], rax
xor edx, edx
mov r8d, 0x190
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov rcx, rbx
call fcn.140022ce0
nop
mov qword [0x140670a60], rax
cmp qword [0x14069fa80], 0
je 0x14001ad87
cmp byte [rax + 0x38], 0
je 0x14001ad87
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
cmp dword [rax], 0
jne 0x14001ab25
lea rdx, str.___game_not_found__n
call fcn.14001dcb0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_istream_char__struct_std::char_traits_char__::get_void____ptr64]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
lea rdx, str.___game_found__n
call fcn.14001dcb0
call fcn.140022370
test al, al
jne 0x14001ab61
lea rdx, str.___failed_to_fix_dtb__n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001dcb0
mov ecx, 0x1388
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
lea rcx, str.Asgard
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
cmp byte [0x140670a3e], 0
jne 0x14001ab80
cmp byte [0x140670a58], 0
je 0x14001abf0
call fcn.140004360
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
test al, al
jne 0x14001ab9e
lea rdx, str.___failed_to_initialize_keyboard__n
call fcn.14001dcb0
jmp 0x14001abb1
lea rdx, str.___keyboard_initialized__n
call fcn.14001dcb0
mov byte [0x140670a41], 1
lea rdx, str.___system_1_online__n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001dcb0
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r15d
xor r9d, r9d
lea r8, [0x1400138c0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
test rax, rax
je 0x14001abf0
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdx, str.___system_2_online__n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001dcb0
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r15d
xor r9d, r9d
lea r8, [0x1400092c0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
test rax, rax
je 0x14001ac2f
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdx, str.___system_3_online__n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001dcb0
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r15d
xor r9d, r9d
lea r8, [0x140009a00]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
test rax, rax
je 0x14001ac6e
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdx, str.___system_4_online__n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001dcb0
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r15d
xor r9d, r9d
lea r8, [0x14000aa80]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
test rax, rax
je 0x14001acad
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdx, str.___system_5_online__n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001dcb0
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r15d
xor r9d, r9d
lea r8, [0x14000ce10]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
test rax, rax
je 0x14001acec
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdx, str.___system_6_online__n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001dcb0
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r15d
xor r9d, r9d
lea r8, [0x14000ba00]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
test rax, rax
je 0x14001ad2b
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.140023280
mov qword [0x140670ca8], rax
call fcn.140009200
lea rcx, str.C:FNCFG
call fcn.140007300
mov byte [0x140670a69], 1
lea rdx, str.___creating_window__n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001dcb0
call fcn.140024f20
call fcn.140024600
lea rdx, str.___booting__n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001dcb0
nop
call fcn.140019d40
jmp 0x14001ad80
lea rdx, str.___failed_to_initialize__n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001dcb0
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3