Function at 0x1800106e0
Capabilities:
Get local ipv4 addresses
Get socket information
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc0
mov rsi, r9
mov rdi, r8
mov r13d, edx
mov rbx, rcx
call fcn.180011330
mov r14, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x180010dcd
mov r9d, dword [rsi + 8]
mov r8d, dword [rsi + 0x18]
mov rdx, rdi
mov rcx, rbx
call fcn.1800113c0
mov rbx, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x1800107a1
mov rcx, qword [rax + 0x38]
movzx edx, byte [rcx + 0x6d]
test dl, dl
je 0x1800109ba
mov dword [rax], 8
call fcn.1800187c0
mov qword [rbx + 8], rax
mov edx, 0xffffffff
mov rcx, qword [r14 + 0x58]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea rdx, [rbx + 0x28]
mov rcx, qword [r14 + 0x40]
call fcn.1800152f0
lea rdx, [rbx + 0x28]
mov rcx, qword [r14 + 0x48]
call fcn.1800152f0
mov rcx, qword [r14 + 0x58]
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov r13d, dword [rsp + 0x108]
mov ecx, dword [r14 + 0x60]
mov rax, qword [r14 + 0x40]
cmp qword [rax + 8], rcx
jae 0x180010dcd
mov ecx, WSAStartup
call fcn.18008a528
mov rcx, rax
call fcn.18000f980
mov rsi, rax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
mov ecx, 0x310
call fcn.18008a528
mov rbx, rax
mov qword [rsp + 0x90], rax
mov r15, qword [r14 + 0x38]
xor edi, edi
mov qword [rax + 0x90], rdi
mov qword [rax + 0x98], rdi
mov qword [rax + 0xa0], rdi
mov qword [rax + 0xa8], rdi
mov qword [rax + 0xb0], rdi
mov qword [rax + 0xb8], rdi
mov qword [rax + 0xc0], rdi
mov qword [rax + 0xc8], rdi
mov qword [rax + 0xd0], rdi
mov qword [rax + 0xd8], rdi
mov qword [rax + 0xe0], rdi
mov qword [rax + 0xe8], rdi
lea r12, [rax + 0x300]
mov qword [rsp + 0x70], r12
mov qword [r12], rdi
mov qword [r12 + 8], rdi
lea ecx, [rdi + 0x20]
call fcn.18008a528
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [r12], rax
mov qword [rbx + 0xf8], rdi
mov qword [rbx + 0x158], rdi
mov qword [rbx + 0x100], rdi
mov qword [rbx + 0x160], rdi
mov qword [rbx + 0x168], rdi
mov qword [rbx + 0x108], rdi
mov qword [rbx + 0x170], rdi
mov qword [rbx + 0x2c8], rdi
mov qword [rbx + 0x2d0], rdi
mov qword [rbx + 0x2d8], rdi
mov qword [rbx + 0x2f0], rdi
mov qword [rbx + 0x2f8], rdi
mov rcx, rbx
call fcn.18001c510
mov eax, dword [r15 + 0x14]
mov dword [rbx + 0x14], eax
movzx eax, byte [r15 + 0x18]
mov byte [rbx + 0x18], al
movzx eax, byte [r15 + 0x19]
mov byte [rbx + 0x19], al
mov eax, dword [r15 + 0x1c]
mov dword [rbx + 0x1c], eax
mov eax, dword [r15 + 0x20]
mov dword [rbx + 0x20], eax
mov eax, dword [r15 + 0x24]
mov dword [rbx + 0x24], eax
mov eax, dword [r15 + 0x28]
mov dword [rbx + 0x28], eax
mov eax, dword [r15 + 0x2c]
mov dword [rbx + 0x2c], eax
mov eax, dword [r15 + 0x30]
mov dword [rbx + 0x30], eax
mov eax, dword [r15 + 4]
mov dword [rbx + 4], eax
mov eax, dword [r15 + 0x34]
mov dword [rbx + 0x34], eax
movzx eax, byte [r15 + 0x38]
mov byte [rbx + 0x38], al
mov eax, dword [r15 + 0x3c]
mov dword [rbx + 0x3c], eax
mov eax, dword [r15 + 0x40]
mov dword [rbx + 0x40], eax
mov byte [rbx + 0x44], 1
mov rax, qword [r15 + 0x48]
mov qword [rbx + 0x48], rax
mov rcx, qword [r15 + 0x50]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov qword [rbx + 0x50], rax
mov qword [rbx + 0x58], rdi
mov rax, qword [r15 + 0x60]
mov qword [rbx + 0x60], rax
mov byte [rbx + 0x6f], dil
mov byte [rbx + 0x68], dil
mov byte [rbx + 0x69], dil
mov byte [rbx + 0x6a], dil
mov byte [rbx + 0x6b], dil
mov byte [rbx + 0x6c], dil
mov byte [rbx + 0x6d], dil
mov byte [rbx + 0x6e], 1
mov qword [rbx + 0x88], rdi
mov qword [rsi + 0x38], rbx
cmp dword [r14 + 0x10], 2
jne 0x1800109ef
lea ecx, [rdi + 0x10]
call fcn.18008a528
mov qword [rsi + 0x18], rax
mov word [rax + 2], di
lea ecx, [rdi + 0x10]
call fcn.18008a528
mov qword [rsi + 0x20], rax
mov r12, qword [rsp + 0x110]
movups xmm0, xmmword [r12]
movups xmmword [rax], xmm0
jmp 0x180010a33
mov rax, qword [rax + 0x38]
mov ecx, dword [rax + 0x150]
mov dword [rsi + 8], ecx
mov rax, qword [rbx + 0x38]
mov ecx, dword [rax + 0x14]
mov dword [rsi + 0xc], ecx
mov rax, qword [rbx + 0x38]
mov ecx, dword [rax + 0x1c]
mov dword [rsi + 0x10], ecx
mov dword [rsi + 0x14], 0xffffffff
mov eax, dword [rbx + 0x28]
mov dword [rsi + 0x18], eax
xor eax, eax
jmp 0x180010dd2
mov ecx, 0x1c
call fcn.18008a528
mov qword [rsi + 0x18], rax
mov word [rax + 2], di
mov ecx, 0x1c
call fcn.18008a528
mov qword [rsi + 0x20], rax
mov r12, qword [rsp + 0x110]
movups xmm0, xmmword [r12]
movups xmmword [rax], xmm0
movsd xmm1, qword [r12 + 0x10]
movsd qword [rax + 0x10], xmm1
mov ecx, dword [r12 + 0x18]
mov dword [rax + 0x18], ecx
mov edx, 0xffffffff
mov rbx, qword [rsp + 0x100]
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
dec dword [rbx + 0x20]
mov eax, dword [rbx + 0x20]
mov dword [rsi + 0x28], eax
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov dword [rsi + 0x2c], r13d
mov eax, dword [r14 + 0x10]
mov dword [rsi + 0x10], eax
mov rcx, qword [rsi + 0x38]
mov eax, dword [rsi + 0x28]
mov dword [rcx], eax
mov r15, qword [rsp + 0x118]
mov eax, dword [r15 + 0x18]
mov dword [rsi + 0x30], eax
mov eax, dword [r15 + 8]
mov dword [rsi + 0x34], eax
mov rcx, qword [rsi + 0x38]
call fcn.18001a130
lea r13, [rbx + 0x10]
mov qword [rsp + 0x30], r13
mov edx, 0xffffffff
mov rcx, qword [r13]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [rsp + 0x38], eax
mov rcx, qword [r14 + 0x18]
movzx ecx, word [rcx + 2]
cmp dword [r14 + 0x10], 2
jne 0x180010ac3
call qword [sym.imp.WS2_32.dll_ntohs]
jmp 0x180010ac9
call qword [sym.imp.WS2_32.dll_ntohs]
movzx r8d, ax
mov rdx, qword [rbx + 0x58]
mov rax, qword [rdx]
cmp rax, rdx
je 0x180010b5e
nop dword [rax]
cmp dword [rax + 0x48], r8d
je 0x180010b37
mov rcx, qword [rax + 0x10]
cmp byte [rcx + 0x19], 0
je 0x180010b18
mov rcx, qword [rax + 8]
cmp byte [rcx + 0x19], 0
jne 0x180010b13
nop word [rax + rax]
cmp rax, qword [rcx + 0x10]
jne 0x180010b13
mov rax, rcx
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x19], 0
je 0x180010b00
mov rax, rcx
jmp 0x180010b30
mov rax, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
jne 0x180010b30
mov rax, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x180010b24
cmp rax, rdx
jne 0x180010ae0
jmp 0x180010b5e
inc dword [rax + 0x54]
mov rdx, qword [rax + 0x28]
mov rcx, qword [rsi + 0x38]
mov qword [rcx + 0x2c8], rdx
mov rdx, qword [rax + 0x30]
mov rcx, qword [rsi + 0x38]
mov qword [rcx + 0x2d0], rdx
mov ecx, dword [rax + 0x5c]
mov dword [rsi + 0x64], ecx
cmp dword [rsp + 0x38], 0xffffffff
je 0x180010b6f
mov rcx, qword [r13]
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov r8, r15
mov rdx, r12
mov rcx, qword [rsi + 0x38]
call fcn.18001b2b0
nop
mov dword [rsi], 5
mov rax, qword [rsi + 0x38]
mov rcx, qword [rax + 0x2c8]
mov rcx, qword [rcx + 0x10]
mov eax, dword [rcx + 4]
mov dword [rsp + 0x30], eax
lea r8, [rsp + 0x30]
mov rdx, qword [rsi + 0x18]
mov rcx, qword [rcx + 8]
call qword [sym.imp.WS2_32.dll_getsockname]
mov rdx, qword [rsi + 0x38]
add rdx, 0x2e0
mov r8d, dword [rsi + 0x10]
mov rcx, qword [rsi + 0x18]
call fcn.1800197a0
mov edx, 0xffffffff
mov rcx, qword [r13]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
nop
lea rdx, [rsi + 0x28]
mov rcx, rbx
call fcn.180014f90
mov qword [rax], rsi
lea r12, [rbx + 0x28]
mov eax, dword [rsi + 0x30]
shl eax, 0x1e
add eax, dword [rsi + 0x34]
movsxd r15, eax
mov r13, qword [r12]
mov rax, qword [r13 + 8]
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x80], edi
mov rcx, r13
cmp byte [rax + 0x19], 0
jne 0x180010c41
mov qword [rsp + 0x78], rax
cmp qword [rax + 0x20], r15
jge 0x180010c2a
mov dword [rsp + 0x80], edi
mov rax, qword [rax + 0x10]
jmp 0x180010c3b
mov dword [rsp + 0x80], 1
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x180010c12
cmp byte [rcx + 0x19], 0
jne 0x180010c51
cmp r15, qword [rcx + 0x20]
jge 0x180010ce2
movabs rax, 0x492492492492492
cmp qword [r12 + 8], rax
je 0x180010de5
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], rdi
mov ecx, 0x38
call fcn.18008a528
mov rbx, rax
mov qword [rsp + 0x68], rax
mov qword [rax + 0x20], r15
lea r15, [rax + 0x28]
mov qword [rsp + 0x70], r15
mov qword [r15], rdi
mov qword [r15 + 8], rdi
mov ecx, 0x20
call fcn.18008a528
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [r15], rax
mov qword [rbx], r13
mov qword [rbx + 8], r13
mov qword [rbx + 0x10], r13
mov word [rbx + 0x18], 0
movups xmm0, xmmword [rsp + 0x78]
movaps xmmword [rsp + 0x60], xmm0
mov r8, rbx
lea rdx, [rsp + 0x60]
mov rcx, r12
call fcn.180016b50
mov rcx, rax
add rcx, 0x28
lea r8, [rsi + 0x28]
lea rdx, [rsp + 0x98]
call fcn.180016430
nop
jmp 0x180010d08
mov rbx, qword [rsp + 0x100]
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov edx, 0xffffffff
mov rcx, qword [r14 + 0x58]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
nop
lea r8, [rsi + 0x28]
lea rdx, [rsp + 0xa8]
mov rcx, qword [r14 + 0x40]
call fcn.180016430
nop
jmp 0x180010d58
mov rcx, qword [r14 + 0x58]
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov r8, qword [r14 + 0x38]
add r8, 0x300
lea rcx, [rbx + 0xb8]
mov byte [rsp + 0x20], 1
mov r9d, 1
lea rdx, [rsp + 0x108]
call fcn.180022870
mov rcx, qword [0x18011c250]
call qword [sym.imp.KERNEL32.dll_SetEvent]
test edi, edi
jg 0x180010db3
mov rcx, qword [r14 + 0x50]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov eax, 1
jmp 0x180010dd2
mov rcx, qword [rsi + 0x38]
call fcn.18001b7d0
mov dword [rsi], 8
call fcn.1800187c0
mov qword [rsi + 8], rax
jmp 0x180010dcd
mov eax, 0xffffffff
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
call fcn.18000f910
nop
int3