Function at 0x14029de80
Capabilities:
Get local ipv4 addresses
Get socket information
Get socket status
Set socket configuration

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x5a8]
sub rsp, 0x6a8
mov rax, qword [0x140601e40]
xor rax, rsp
mov qword [rbp + 0x590], rax
mov r15, qword [0x14062e6a8]
mov rsi, r9
mov r14d, r8d
mov ebx, edx
mov rdi, rcx
test r9, r9
je 0x14029ded6
cmp edx, 0x6c616472
je 0x14029ded6
mov edx, dword [rbp + 0x600]
mov rcx, r9
call fcn.140295260
test rdi, rdi
jne 0x14029def4
mov r9d, dword [rbp + 0x600]
mov r8, rsi
mov edx, r14d
mov ecx, ebx
call fcn.14029ed80
jmp 0x14029e297
cmp ebx, 0x62696e64
jne 0x14029dfd9
cmp byte [rdi + 0x26], 0
mov ebx, 0xffffffff
je 0x14029df38
lea edx, [rbx + 0x11]
mov rcx, rsi
call fcn.140295260
mov word [rsi], 2
xor ebx, ebx
movzx eax, byte [rdi + 0x131]
mov byte [rsi + 2], al
movzx eax, byte [rdi + 0x130]
mov byte [rsi + 3], al
mov eax, ebx
jmp 0x14029e297
cmp qword [rdi + 0x10], 0xffffffffffffffff
je 0x14029dfd2
mov rcx, qword [rdi + 0x10]
lea r8, [rbp + 0x600]
lea rdx, [rsp + 0x40]
mov dword [rbp + 0x600], 0x1c
call qword [sym.imp.WS2_32.dll_getsockname]
mov ebx, eax
test eax, eax
jne 0x14029dfc1
lea edx, [rax + 0x10]
mov rcx, rsi
call fcn.140295260
movzx ecx, word [rsp + 0x42]
mov word [rsi], 2
call fcn.1402a2240
movzx ecx, word [rsp + 0x42]
shr ax, 8
mov byte [rsi + 2], al
call fcn.1402a2240
lea rcx, [r15 + 0x90]
mov byte [rsi + 3], al
lea r8d, [rbx + 0x1c]
lea rdx, [rsp + 0x40]
call fcn.1402a1700
mov byte [rsi + 7], al
shr eax, 8
mov byte [rsi + 6], al
shr eax, 8
mov byte [rsi + 5], al
shr eax, 8
mov byte [rsi + 4], al
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
mov ecx, ebx
call fcn.14029fbb0
mov ebx, eax
mov eax, ebx
jmp 0x14029e297
cmp ebx, 0x66616d69
jne 0x14029dfe9
mov eax, dword [rdi + 0x18]
jmp 0x14029e297
cmp ebx, 0x6d617872
jne 0x14029dffc
mov eax, dword [rdi + 0x1e0]
jmp 0x14029e297
cmp ebx, 0x6d617873
jne 0x14029e00f
mov eax, dword [rdi + 0x138]
jmp 0x14029e297
cmp ebx, 0x70726f74
jne 0x14029e01f
mov eax, dword [rdi + 0x20]
jmp 0x14029e297
cmp ebx, 0x76697274
jne 0x14029e030
movzx eax, byte [rdi + 0x26]
jmp 0x14029e297
cmp byte [rdi + 0x2ea], 0
je 0x14029e04a
mov dword [rdi + 0x28], 0xfffffff5
mov eax, 0xfffffff5
jmp 0x14029e297
cmp ebx, 0x636f6e6e
je 0x14029e281
cmp ebx, 0x70656572
je 0x14029e281
cmp ebx, 0x70647270
je 0x14029e255
cmp ebx, 0x706d6178
je 0x14029e255
cmp ebx, 0x7073697a
je 0x14029e255
cmp ebx, 0x72617472
jne 0x14029e099
mov eax, dword [rdi + 0x1e4]
jmp 0x14029e297
cmp ebx, 0x72617473
jne 0x14029e0ac
mov eax, dword [rdi + 0x13c]
jmp 0x14029e297
cmp ebx, 0x73657272
jne 0x14029e0bc
mov eax, dword [rdi + 0x28]
jmp 0x14029e297
cmp ebx, 0x736f636b
jne 0x14029e0ec
test rsi, rsi
je 0x14029e0e4
cmp dword [rbp + 0x600], 8
jne 0x14029e0e4
lea rdx, [rdi + 0x10]
mov r8d, 8
mov rcx, rsi
call fcn.140295270
mov eax, dword [rdi + 0x10]
jmp 0x14029e297
cmp ebx, 0x73746174
jne 0x14029e24e
cmp dword [rdi + 0x1c], 1
je 0x14029e108
mov eax, 1
jmp 0x14029e297
xor ebx, ebx
cmp byte [rdi + 0x24], bl
jne 0x14029e174
mov rax, qword [rdi + 0x10]
lea r9, [rsp + 0x60]
mov ecx, eax
mov qword [rbp + 0x178], rax
mov qword [rsp + 0x68], rax
lea r8, [rbp + 0x170]
lea rax, [rsp + 0x38]
mov dword [rbp + 0x170], 1
inc ecx
mov qword [rsp + 0x20], rax
xor edx, edx
mov dword [rsp + 0x60], 1
mov qword [rsp + 0x38], rbx
call qword [sym.imp.WS2_32.dll_select]
test eax, eax
jle 0x14029e174
cmp dword [rsp + 0x60], ebx
jbe 0x14029e168
mov byte [rdi + 0x24], 0xff
jmp 0x14029e174
cmp dword [rbp + 0x170], ebx
jbe 0x14029e174
mov byte [rdi + 0x24], 1
cmp byte [rdi + 0x132], bl
jne 0x14029e224
cmp byte [rdi + 0x24], bl
jle 0x14029e21c
mov rax, qword [rdi + 0x10]
lea r9, [rsp + 0x60]
mov ecx, eax
mov qword [rbp + 0x388], rax
mov qword [rsp + 0x68], rax
lea rdx, [rbp + 0x380]
lea rax, [rsp + 0x38]
mov dword [rbp + 0x380], 1
inc ecx
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov dword [rsp + 0x60], 1
mov qword [rsp + 0x38], rbx
call qword [sym.imp.WS2_32.dll_select]
test eax, eax
jle 0x14029e248
cmp dword [rsp + 0x60], ebx
ja 0x14029e212
cmp dword [rbp + 0x380], ebx
jbe 0x14029e248
mov rcx, qword [rdi + 0x10]
lea r8, [rsp + 0x30]
mov edx, 0x4004667f
mov dword [rsp + 0x30], 1
call qword [sym.imp.WS2_32.dll_ioctlsocket]
test eax, eax
jne 0x14029e20b
cmp dword [rsp + 0x30], ebx
jne 0x14029e248
mov dword [rdi + 0x28], 0xffffffff
mov byte [rdi + 0x24], 0xff
movsx eax, byte [rdi + 0x24]
jmp 0x14029e297
cmp byte [rdi + 0x132], bl
je 0x14029e248
cmp byte [rdi + 0x24], bl
jge 0x14029e248
xor r9d, r9d
mov dword [rsp + 0x20], ebx
xor r8d, r8d
mov edx, 0x706e756d
mov rcx, rdi
call fcn.14029de80
test eax, eax
jne 0x14029e0fe
movsx eax, byte [rdi + 0x24]
jmp 0x14029e297
mov eax, 0xfffffff6
jmp 0x14029e297
lea rcx, [rdi + 0x2d8]
call fcn.14029bad0
mov rcx, qword [rdi + 0x320]
mov edx, ebx
call fcn.1402a2d30
lea rcx, [rdi + 0x2d8]
mov ebx, eax
call fcn.14029bd50
mov eax, ebx
jmp 0x14029e297
mov rcx, qword [rdi + 0x10]
lea r8, [rbp + 0x600]
mov rdx, rsi
call qword [sym.imp.WS2_32.dll_getpeername]
xor eax, eax
mov rcx, qword [rbp + 0x590]
xor rcx, rsp
call fcn.140284180
add rsp, 0x6a8
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret