Function at 0x1400a8ac0
Capabilities:
Convert ip address from string

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x2e8
xor eax, eax
mov r14, qword [rcx + 0x7e8]
mov r13, qword [rcx + 0x7e0]
mov r15, qword [rcx + 0x7f0]
mov ebp, dword [rcx + 0x238]
test r14, r14
mov qword [rsp + 0x58], rax
mov rax, r14
mov rbx, rcx
mov r12, rdx
cmove rax, r13
mov qword [rsp + 0x340], r8
mov esi, r9d
mov qword [rsp + 0x38], rax
test r15, r15
jne 0x1400a8b2a
or rax, r13
jne 0x1400a8b2d
test bp, bp
je 0x1400a8ec0
jmp 0x1400a8b2d
mov r13, r15
mov ax, word [rbx + 0x23a]
mov ecx, 0x20
mov word [rsp + 0x4e], ax
lea rax, [rsp + 0x60]
mov rdi, rax
mov qword [rsp + 0x40], rax
xor eax, eax
cmp qword [rsp + 0x38], 0
rep stosd dword [rdi], eax
je 0x1400a8e1d
mov rcx, qword [rsp + 0x38]
call sub.msvcrt.dll_strlen
cmp rax, 0xfe
ja 0x1400a8e1d
xor eax, eax
lea rdi, [rsp + 0xe0]
mov ecx, 0x40
test r15, r15
rep stosd dword [rdi], eax
lea rdi, [rsp + 0xe0]
jne 0x1400a8bca
mov qword [rsp + 0x28], 0x100
mov r9, qword [rsp + 0x38]
mov ecx, esi
mov qword [rsp + 0x20], rdi
mov edx, dword [rsp + 0x350]
mov r8d, dword [r12 + 0x5b4]
call fcn.140083610
cmp eax, 1
je 0x1400a8d7d
cmp eax, 2
je 0x1400a8c18
test eax, eax
jne 0x1400a8bd4
test r14, r14
je 0x1400a8bd4
test r15, r15
je 0x1400a8bd8
xor eax, eax
jmp 0x1400a8c56
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
lea rdx, [rsp + 0x1e0]
mov r8d, 0x100
mov dword [rbx + 0xbc4], eax
mov ecx, eax
mov dword [rsp + 0x40], eax
call fcn.14008da50
mov r9d, dword [rsp + 0x40]
mov r8, qword [rsp + 0x38]
lea rdx, str.Couldnt_bind_to_interface__s_with_errno__d:__s
mov qword [rsp + 0x20], rax
jmp 0x1400a8d09
test byte [rbx + 0x98e], 0x20
je 0x1400a8c4e
mov rax, qword [rbx + 0x1188]
test rax, rax
je 0x1400a8c33
cmp dword [rax + 8], 0
jle 0x1400a8c4e
mov dword [rsp + 0x20], esi
mov r8, qword [rsp + 0x38]
mov r9, rdi
mov rcx, rbx
lea rdx, str.Local_Interface__s_is_ip__s_using_address_family__i
call fcn.140083620
mov eax, 1
mov r13, rdi
test r14, r14
je 0x1400a8c64
test r15, r15
je 0x1400a8d87
mov r15b, byte [r12 + 0x5bf]
cmp esi, 2
jne 0x1400a8c7c
mov byte [r12 + 0x5bf], 1
jmp 0x1400a8c8a
cmp esi, 0x17
jne 0x1400a8c8a
mov byte [r12 + 0x5bf], 2
lea r14, [rsp + 0x58]
xor r9d, r9d
mov rdx, r13
mov rcx, rbx
mov qword [rsp + 0x20], r14
mov r8d, 0x50
call fcn.140089a60
dec eax
jne 0x1400a8cb7
mov rdx, r14
mov rcx, rbx
call fcn.14008a5c0
mov rax, qword [rsp + 0x58]
mov byte [r12 + 0x5bf], r15b
test rax, rax
jne 0x1400a8d16
and byte [rbx + 0x122c], 0xdf
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
lea rdx, [rsp + 0x1e0]
mov r8d, 0x100
mov dword [rbx + 0xbc4], eax
mov ecx, eax
mov dword [rsp + 0x38], eax
call fcn.14008da50
mov r9d, dword [rsp + 0x38]
mov r8, r13
lea rdx, str.Couldnt_bind_to__s_with_errno__d:__s
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.14007ceb0
jmp 0x1400a8f4b
mov rcx, qword [rax]
mov r8d, 0x100
mov rdx, rdi
mov r15d, dword [rcx + 4]
call fcn.140088fc0
test byte [rbx + 0x98e], 0x20
je 0x1400a8d6d
mov rax, qword [rbx + 0x1188]
test rax, rax
je 0x1400a8d46
cmp dword [rax + 8], 0
jle 0x1400a8d6d
mov dword [rsp + 0x28], r15d
mov r9d, esi
mov r8, r13
mov rcx, rbx
lea rax, [rsp + 0xe0]
lea rdx, str.Name__s_family__i_resolved_to__s_family__i
mov qword [rsp + 0x20], rax
call fcn.140083620
mov rdx, r14
mov rcx, rbx
call fcn.14008a010
cmp esi, r15d
je 0x1400a8d8f
mov eax, 1
jmp 0x1400a8f50
dec eax
jne 0x1400a8cc9
cmp esi, 0x17
jne 0x1400a8dfb
lea rcx, [rsp + 0xe0]
mov edx, 0x25
call sub.msvcrt.dll_strchr
mov rsi, rax
test rax, rax
je 0x1400a8db4
mov byte [rax], 0
inc rsi
lea r8, [rsp + 0x68]
mov rdx, rdi
mov ecx, 0x17
call qword [sym.imp.WS2_32.dll_inet_pton]
test eax, eax
jle 0x1400a8e37
mov word [rsp + 0x60], 0x17
movzx ecx, bp
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0x62], ax
test rsi, rsi
je 0x1400a8e37
mov r8d, 0xa
xor edx, edx
mov rcx, rsi
call sub.msvcrt.dll_strtoul
mov dword [rsp + 0x78], eax
jmp 0x1400a8e37
cmp esi, 2
je 0x1400a8e04
xor edi, edi
jmp 0x1400a8e5f
lea r8, [rsp + 0x64]
mov rdx, rdi
mov ecx, 2
call qword [sym.imp.WS2_32.dll_inet_pton]
test eax, eax
jle 0x1400a8e00
jmp 0x1400a8e45
cmp esi, 0x17
jne 0x1400a8e3e
mov word [rsp + 0x60], 0x17
movzx ecx, bp
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0x62], ax
mov edi, 0x1c
jmp 0x1400a8e5f
xor edi, edi
cmp esi, 2
jne 0x1400a8e5f
mov word [rsp + 0x60], 2
movzx ecx, bp
mov edi, 0x10
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0x62], ax
movzx esi, word [rsp + 0x4e]
mov r14, qword [sym.imp.WS2_32.dll_bind]
lea r15, str.Bind_to_local_port__d_failed__trying_next
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x340]
mov r8d, edi
call r14
test eax, eax
js 0x1400a8ec7
test byte [rbx + 0x98e], 0x20
je 0x1400a8eb7
mov rax, qword [rbx + 0x1188]
test rax, rax
je 0x1400a8ea4
cmp dword [rax + 8], 0
jle 0x1400a8eb7
movzx r8d, bp
lea rdx, str.Local_port:__hu
mov rcx, rbx
call fcn.140083620
or byte [r12 + 0x3ba], 1
xor eax, eax
jmp 0x1400a8f50
dec esi
test esi, esi
jle 0x1400a8f13
inc bp
je 0x1400a8f13
test byte [rbx + 0x98e], 0x20
movzx r13d, bp
je 0x1400a8f00
mov rdx, qword [rbx + 0x1188]
test rdx, rdx
je 0x1400a8ef1
cmp dword [rdx + 8], 0
jle 0x1400a8f00
lea r8d, [r13 - 1]
mov rdx, r15
mov rcx, rbx
call fcn.140083620
mov ecx, r13d
call qword [sym.imp.WS2_32.dll_ntohs]
mov word [rsp + 0x62], ax
jmp 0x1400a8e72
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
lea rdx, [rsp + 0x1e0]
mov r8d, 0x100
mov dword [rbx + 0xbc4], eax
mov ecx, eax
mov esi, eax
call fcn.14008da50
mov r8d, esi
lea rdx, str.bind_failed_with_errno__d:__s
mov rcx, rbx
mov r9, rax
call fcn.14007ceb0
mov eax, 0x2d
add rsp, 0x2e8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret