Function at 0x1400b68b0
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x160]
sub rsp, 0x260
mov rax, qword [0x140264330]
xor rax, rsp
mov qword [rbp + 0x150], rax
mov r15, qword [rcx]
movzx eax, byte [0x1402eacff]
mov qword [rsp + 0x30], rcx
movzx edi, word [r15 + 0x288]
mov r14d, dword [r15 + 0x28c]
mov rsi, qword [r15 + 0x578]
mov r13d, r8d
mov qword [rsp + 0x40], rdx
lea rcx, [rbp + 0x51]
xor r12d, r12d
xor edx, edx
mov r8d, 0xff
mov byte [rbp + 0x50], al
mov qword [rsp + 0x38], r12
call sub.MSVCR120.dll_memset
test rsi, rsi
jne 0x1400b6936
test di, di
jne 0x1400b6936
xor eax, eax
jmp 0x1400b6d0e
lea rcx, [rsp + 0x50]
xor edx, edx
mov r8d, 0x80
mov qword [rsp + 0x2b8], rbx
call sub.MSVCR120.dll_memset
test rsi, rsi
je 0x1400b6bac
or rbx, 0xffffffffffffffff
mov rax, rbx
inc rax
cmp byte [rsi + rax], r12b
jne 0x1400b6960
cmp rax, 0xff
jae 0x1400b6bac
lea r12, [0x140265254]
mov r8, rbx
nop
inc r8
cmp byte [r12 + r8], 0
jne 0x1400b6980
mov rdx, rsi
mov rcx, r12
call qword [sym.imp.MSVCR120.dll_strncmp]
test eax, eax
jne 0x1400b69c9
nop word [rax + rax]
cmp byte [r12 + rbx + 1], 0
lea rbx, [rbx + 1]
jne 0x1400b69a0
lea r8, [rbx + rsi]
lea rdx, str.Couldnt_bind_to_interface__s
mov rcx, r15
call fcn.1400b9ac0
mov eax, 0x2d
jmp 0x1400b6d06
lea r12, str.host_
mov r8, rbx
inc r8
cmp byte [r12 + r8], 0
jne 0x1400b69d3
mov rdx, rsi
mov rcx, r12
call qword [sym.imp.MSVCR120.dll_strncmp]
test eax, eax
jne 0x1400b69fd
nop dword [rax]
inc rbx
cmp byte [r12 + rbx], 0
jne 0x1400b69f0
add rsi, rbx
mov rax, qword [rsp + 0x30]
mov ebx, 2
mov r12d, dword [rax + 0x330]
cmp r13d, ebx
jne 0x1400b6a1f
mov dword [rax + 0x330], 1
jmp 0x1400b6a2b
cmp r13d, 0x17
jne 0x1400b6a2b
mov dword [rax + 0x330], ebx
lea r9, [rsp + 0x38]
xor r8d, r8d
mov rdx, rsi
mov rcx, rax
call fcn.1400b83e0
cmp eax, 1
jne 0x1400b6a52
mov rcx, qword [rsp + 0x30]
lea rdx, [rsp + 0x38]
call fcn.1400b8de0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x330], r12d
mov r12, qword [rsp + 0x38]
test r12, r12
je 0x1400b6b90
mov rcx, qword [r12]
mov eax, dword [rcx + 4]
cmp eax, ebx
je 0x1400b6a86
cmp eax, 0x17
jne 0x1400b6ac4
mov rcx, qword [rcx + 0x20]
add rcx, 8
jmp 0x1400b6a8e
mov rcx, qword [rcx + 0x20]
add rcx, 4
cmp eax, ebx
je 0x1400b6ab5
cmp eax, 0x17
je 0x1400b6aa4
mov ecx, 0x273f
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x1400b6ac4
lea rdx, [rbp + 0x50]
mov r8d, 0x100
call fcn.1400cb190
jmp 0x1400b6ac4
lea rdx, [rbp + 0x50]
mov r8d, 0x100
call fcn.1400cb0c0
mov rax, qword [r12]
lea rdx, str.Name__s_family__i_resolved_to__s_family__i_n
mov r9d, r13d
mov ecx, dword [rax + 4]
lea rax, [rbp + 0x50]
mov r8, rsi
mov dword [rsp + 0x28], ecx
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.1400b99e0
mov rdx, r12
mov rcx, r15
call fcn.1400b85a0
cmp r13d, 0x17
jne 0x1400b6b5e
lea edx, [r13 + 0xe]
lea rcx, [rbp + 0x50]
call qword [sym.imp.MSVCR120.dll_strchr]
mov rbx, rax
test rax, rax
je 0x1400b6b1a
mov byte [rax], 0
inc rbx
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0x50]
call fcn.1400cae90
test eax, eax
jle 0x1400b6b56
mov eax, reloc.WS2_32.dll_socket
movzx ecx, di
mov word [rsp + 0x50], ax
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0x52], ax
test rbx, rbx
je 0x1400b6b56
mov rcx, rbx
call qword [sym.imp.MSVCR120.dll_atoi]
mov dword [rsp + 0x68], eax
mov r12d, 0x1c
jmp 0x1400b6bdc
cmp r13d, ebx
jne 0x1400b6bd9
lea rdx, [rsp + 0x54]
lea rcx, [rbp + 0x50]
call fcn.1400cadb0
test eax, eax
jle 0x1400b6bd9
movzx ecx, di
mov word [rsp + 0x50], bx
call qword [sym.imp.WS2_32.dll_htons]
mov r12d, reloc.WS2_32.dll_recv
mov word [rsp + 0x52], ax
jmp 0x1400b6bdc
lea rdx, str.Couldnt_bind_to__s
mov r8, rsi
mov rcx, r15
call fcn.1400b9ac0
mov eax, 0x2d
jmp 0x1400b6d06
cmp r13d, 0x17
jne 0x1400b6bce
mov eax, r13d
movzx ecx, di
mov word [rsp + 0x50], ax
call qword [sym.imp.WS2_32.dll_htons]
lea r12d, [r13 + 5]
mov word [rsp + 0x52], ax
jmp 0x1400b6bdc
cmp r13d, 2
jne 0x1400b6bdc
mov ebx, r13d
jmp 0x1400b6b75
xor r12d, r12d
mov rbx, qword [rsp + 0x40]
lea rdx, [rsp + 0x50]
mov r8d, r12d
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_bind]
test eax, eax
jns 0x1400b6c45
nop word [rax + rax]
dec r14d
test r14d, r14d
jle 0x1400b6cab
lea rdx, str.Bind_to_local_port__hu_failed__trying_next_n
movzx r8d, di
mov rcx, r15
call fcn.1400b99e0
inc di
movzx ecx, di
call qword [sym.imp.WS2_32.dll_ntohs]
lea rdx, [rsp + 0x50]
mov r8d, r12d
mov rcx, rbx
mov word [rsp + 0x52], ax
call qword [sym.imp.WS2_32.dll_bind]
test eax, eax
js 0x1400b6c00
lea rcx, [rbp - 0x30]
xor edx, edx
mov r8d, 0x80
mov dword [rsp + 0x38], 0x80
call sub.MSVCR120.dll_memset
lea r8, [rsp + 0x38]
lea rdx, [rbp - 0x30]
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
jns 0x1400b6ce2
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov rcx, qword [rsp + 0x30]
mov edx, eax
mov ebx, eax
mov dword [r15 + 0x88d4], eax
call fcn.1400cb800
lea rdx, [0x140265a80]
mov r8d, ebx
mov r9, rax
mov rcx, r15
call fcn.1400b9ac0
mov eax, 0x2d
jmp 0x1400b6d06
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov rcx, qword [rsp + 0x30]
mov edx, eax
mov ebx, eax
mov dword [r15 + 0x88d4], eax
call fcn.1400cb800
lea rdx, str.bind_failed_with_errno__d:__s
mov r8d, ebx
mov r9, rax
mov rcx, r15
call fcn.1400b9ac0
mov eax, 0x2d
jmp 0x1400b6d06
lea rdx, str.Local_port:__hu_n
movzx r8d, di
mov rcx, r15
call fcn.1400b99e0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x304], 1
xor eax, eax
mov rbx, qword [rsp + 0x2b8]
mov rcx, qword [rbp + 0x150]
xor rcx, rsp
call fcn.1401bb2c0
add rsp, 0x260
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret