Function at 0x14006d1ac
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov rdi, rcx
mov rcx, rdx
mov rbx, rdx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r15d, 2
lea r8d, [rax + 6]
mov ebp, eax
mov dword [rsp + 0x90], eax
movsxd r9, r8d
lea rcx, [r15 - 3]
mov eax, r15d
mul r9
cmovo rax, rcx
mov rcx, rax
call fcn.14002641c
xor esi, esi
xor edx, edx
mov r10d, r15d
mov dword [rsp + 0x80], r15d
lea r14d, [r15 + 0x1e]
mov qword [rdi + 8], rax
lea r12d, [r15 - 1]
lea r13d, [r15 + 0x26]
lea r11d, [r15 + 0x39]
test ebp, ebp
jle 0x14006d3ec
movsxd rax, edx
lea rcx, [rbx + rax*2]
jmp 0x14006d235
add edx, r12d
add rcx, r15
cmp word [rcx], r14w
je 0x14006d22f
movsxd rcx, edx
movzx r8d, word [rbx + rcx*2]
cmp r8w, r14w
je 0x14006d270
movsxd rax, esi
lea r9, [rax + rax]
mov rax, qword [rdi + 8]
add rcx, r12
add edx, r12d
mov word [r9 + rax], r8w
movzx r8d, word [rbx + rcx*2]
add esi, r12d
add r9, r15
cmp r8w, r14w
jne 0x14006d250
mov rax, qword [rdi + 8]
movsxd rcx, esi
add r10d, r12d
mov r8d, 0x7c
add esi, r12d
mov dword [rsp + 0x80], r10d
mov word [rax + rcx*2], r8w
movsxd rax, edx
lea rcx, [rbx + rax*2]
jmp 0x14006d29f
add edx, r12d
add rcx, r15
cmp word [rcx], r14w
je 0x14006d299
movsxd r8, edx
movzx ecx, word [rbx + r8*2]
cmp cx, r14w
je 0x14006d2e0
movsxd rax, esi
lea r9, [rax + rax]
cmp cx, r13w
je 0x14006d2e0
mov rax, qword [rdi + 8]
add r8, r12
add edx, r12d
mov word [r9 + rax], cx
movzx ecx, word [rbx + r8*2]
add esi, r12d
add r9, r15
cmp cx, r14w
jne 0x14006d2ba
mov rax, qword [rdi + 8]
movsxd rcx, esi
add esi, r12d
mov word [rax + rcx*2], r11w
movsxd rax, edx
lea rcx, [rbx + rax*2]
jmp 0x14006d2fe
add edx, r12d
add rcx, r15
cmp word [rcx], r14w
je 0x14006d2f8
movsxd rax, edx
cmp word [rbx + rax*2], r13w
jne 0x14006d311
add edx, r12d
movsxd rax, edx
lea rcx, [rbx + rax*2]
jmp 0x14006d320
add edx, r12d
add rcx, r15
cmp word [rcx], r14w
je 0x14006d31a
mov r10d, r12d
movsxd r8, esi
mov ebp, 0xa
movsxd rax, edx
lea rcx, [rbx + rax*2]
jmp 0x14006d340
add edx, r12d
add rcx, r15
cmp word [rcx], r14w
je 0x14006d33a
movsxd rcx, edx
jmp 0x14006d37f
cmp ax, r14w
jne 0x14006d35e
add rcx, r12
add edx, r12d
cmp word [rbx + rcx*2], r14w
je 0x14006d351
movzx r9d, word [rbx + rcx*2]
cmp r9w, 0x29
je 0x14006d38b
mov rax, qword [rdi + 8]
add edx, r12d
add rcx, r12
mov word [rax + r8*2], r9w
add esi, r12d
add r8, r12
movzx eax, word [rbx + rcx*2]
cmp ax, r11w
jne 0x14006d34b
jmp 0x14006d391
xor r10d, r10d
add edx, r12d
movsxd rax, edx
lea rcx, [rbx + rax*2]
jmp 0x14006d3a0
add edx, r12d
add rcx, r15
cmp word [rcx], r14w
je 0x14006d39a
mov rax, qword [rdi + 8]
test r10d, r10d
jne 0x14006d3b6
mov word [rax + r8*2], bp
jmp 0x14006d3bb
mov word [rax + r8*2], r11w
movsxd rax, edx
add esi, r12d
add r8, r12
cmp word [rbx + rax*2], r11w
jne 0x14006d3ce
add edx, r12d
cmp r10d, r12d
je 0x14006d331
mov r10d, dword [rsp + 0x80]
cmp edx, dword [rsp + 0x90]
jl 0x14006d226
cmp dword [rdi + 0x44], 0
mov ebp, 3
je 0x14006d402
add r10d, ebp
mov dword [rsp + 0x80], r10d
mov ebx, r10d
mov rcx, 0xffffffffffffffff
mov eax, 8
mul rbx
cmovo rax, rcx
mov rcx, rax
call fcn.14002641c
mov qword [rdi + 0x10], rax
mov rax, r13
mul rbx
mov rbx, 0xffffffffffffffff
cmovo rax, rbx
mov rcx, rax
call fcn.14002641c
xor r10d, r10d
lea rcx, str.InterfaceDispatch
mov qword [rdi + 0x18], rax
mov qword [rax], rcx
mov rax, qword [rdi + 0x18]
mov qword [rax + 8], r10
mov rax, qword [rdi + 0x18]
or ecx, 0xffffffff
mov dword [rax + 0x10], ebx
mov rax, qword [rdi + 0x18]
lea ebx, [r10 + 4]
mov dword [rax + 0x14], ecx
mov rax, qword [rdi + 0x18]
mov r9d, r15d
mov dword [rax + 0x18], ebx
mov rax, qword [rdi + 0x18]
mov dword [rsp + 0x90], r15d
mov dword [rax + 0x1c], r10d
mov rax, qword [rdi + 0x18]
mov word [rax + 0x20], r12w
mov rax, qword [rdi + 0x18]
mov word [rax + 0x22], r10w
mov rax, qword [rdi + 0x18]
mov qword [rax + 0x28], r10
mov rax, qword [rdi + 0x18]
mov qword [rax + 0x30], r10
mov rax, qword [rdi + 0x18]
mov dword [rax + 0x38], r10d
mov rax, qword [rdi + 0x18]
mov dword [rax + 0x3c], ecx
mov rax, qword [rdi + 0x18]
lea ecx, [rbx + 0x11]
mov dword [rax + 0x40], ebx
mov rax, qword [rdi + 0x18]
mov dword [rax + 0x44], r10d
mov rax, qword [rdi + 0x18]
mov word [rax + 0x48], r15w
mov rax, qword [rdi + 0x18]
mov word [rax + 0x4a], cx
mov ecx, r10d
mov rax, qword [rdi + 0x10]
mov qword [rcx + rax], r10
add rcx, 8
cmp rcx, 0x10
jl 0x14006d4dc
cmp dword [rdi + 0x44], r10d
je 0x14006d676
mov rax, qword [rdi + 0x18]
lea rcx, str.QueryInterface
mov dword [rsp + 0x90], 5
mov qword [rax + 0x50], rcx
mov rax, qword [rdi + 0x18]
mov rcx, r14
mov dword [rax + 0x60], r12d
mov rax, qword [rdi + 0x18]
mov dword [rax + 0x64], r10d
mov rax, qword [rdi + 0x18]
mov dword [rax + 0x68], ebx
mov rax, qword [rdi + 0x18]
mov dword [rax + 0x6c], r15d
mov rax, qword [rdi + 0x18]
mov word [rax + 0x70], r12w
mov rax, qword [rdi + 0x18]
mov word [rax + 0x72], bp
call fcn.14002641c
mov rcx, qword [rdi + 0x10]
mov qword [rcx + 0x10], rax
mov rax, qword [rdi + 0x10]
xor r10d, r10d
mov rcx, qword [rax + 0x10]
mov eax, 0x48
mov edx, r10d
mov word [rcx + 8], ax
mov rax, qword [rdi + 0x10]
mov rcx, qword [rax + 0x10]
mov eax, 0x4015
mov word [rcx + 0x18], ax
mov rax, qword [rdi + 0x10]
mov rcx, qword [rax + 0x10]
mov qword [rdx + rcx], r10
add rdx, 0x10
cmp rdx, r14
jl 0x14006d57a
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 0x18]
mov r9d, dword [rsp + 0x90]
mov rax, qword [rax + 0x10]
mov edx, reloc.WSOCK32.dll_send
mov qword [rcx + 0x58], rax
mov rax, qword [rdi + 0x18]
lea rcx, str.AddRef
mov qword [rax + 0x78], rcx
mov rax, qword [rdi + 0x18]
lea rcx, str.Release
mov qword [rax + 0x80], r10
mov rax, qword [rdi + 0x18]
mov dword [rax + 0x88], r15d
mov rax, qword [rdi + 0x18]
mov dword [rax + 0x8c], r12d
mov rax, qword [rdi + 0x18]
mov dword [rax + 0x90], ebx
mov rax, qword [rdi + 0x18]
mov dword [rax + 0x94], r10d
mov rax, qword [rdi + 0x18]
mov word [rax + 0x98], r12w
mov rax, qword [rdi + 0x18]
mov word [rax + 0x9a], dx
mov rax, qword [rdi + 0x10]
mov qword [rax + 0x18], r10
mov rax, qword [rdi + 0x18]
mov qword [rax + 0xa0], rcx
mov rax, qword [rdi + 0x18]
mov qword [rax + 0xa8], r10
mov rax, qword [rdi + 0x18]
mov dword [rax + 0xb0], ebp
mov rax, qword [rdi + 0x18]
mov dword [rax + 0xb4], r15d
mov rax, qword [rdi + 0x18]
mov dword [rax + 0xb8], ebx
mov rax, qword [rdi + 0x18]
mov dword [rax + 0xbc], r10d
mov rax, qword [rdi + 0x18]
mov word [rax + 0xc0], r12w
mov rax, qword [rdi + 0x18]
mov word [rax + 0xc2], dx
mov rax, qword [rdi + 0x10]
mov qword [rax + 0x20], r10
mov r13, qword [rdi + 8]
movsxd rax, esi
mov r14, r10
mov rbp, r10
mov rcx, r13
mov qword [rsp + 0x38], rax
test esi, esi
jle 0x14006d93c
movsxd rax, r9d
mov edx, r12d
mov r8d, 0x7c
lea rbx, [rax + rax*4]
mov r15, rax
mov dword [rsp + 0x20], edx
shl rbx, 3
shl r15, 3
movzx eax, word [r13 + rbp*2]
cmp ax, r8w
jne 0x14006d6d7
movsxd rax, edx
mov word [r13 + rbp*2], r10w
lea r14, [rax*2]
add r14, r13
jmp 0x14006d927
mov r8d, 0xa
cmp ax, r8w
je 0x14006d6ec
test ax, ax
jne 0x14006d921
mov word [r13 + rbp*2], r10w
mov rax, qword [rdi + 0x18]
mov r8d, r10d
mov qword [rbx + rax], rcx
mov rax, qword [rdi + 0x18]
lea ecx, [r9 - 1]
mov dword [rax + rbx + 0x10], ecx
mov rax, qword [rdi + 0x18]
lea ecx, [r9 - 2]
mov dword [rax + rbx + 0x14], ecx
mov rax, qword [rdi + 0x18]
mov rdx, r10
mov word [rax + rbx + 0x20], r12w
mov r12d, r10d
mov r11d, 0x3b
cmp word [r14], r10w
je 0x14006d761
mov rax, r14
lea rcx, [r14 + 2]
cmp word [rax], r11w
jne 0x14006d74d
cmp word [rcx], r10w
je 0x14006d749
inc r12d
jmp 0x14006d74d
mov word [rax], r10w
inc rdx
inc r8d
add rcx, 2
lea rax, [r14 + rdx*2]
cmp word [rax], r10w
jne 0x14006d738
mov rsi, r10
mov ecx, r10d
mov rax, r10
movsxd rdx, r8d
test r8d, r8d
jle 0x14006d79c
cmp word [r14 + rax*2], r11w
je 0x14006d785
inc rax
inc ecx
cmp rax, rdx
jl 0x14006d772
jmp 0x14006d79c
mov word [r14 + rax*2], r10w
cmp word [r14 + rax*2 + 2], r10w
je 0x14006d79c
lea eax, [rcx + 1]
movsxd rcx, eax
lea rsi, [r14 + rcx*2]
movsxd rax, r9d
mov rdx, r14
lea rcx, [rax + rax*4]
mov rax, qword [rdi + 0x18]
lea r9, [rax + 0x22]
lea r8, [rax + 0x18]
lea r9, [r9 + rcx*8]
lea r8, [r8 + rcx*8]
call fcn.14006c6ec
mov rax, qword [rdi + 0x18]
xor r10d, r10d
mov dword [rax + rbx + 0x1c], r12d
test r12d, r12d
je 0x14006d8dc
lea eax, [r10 + 0x10]
movsxd rcx, r12d
mul rcx
lea rcx, [r10 - 1]
cmovo rax, rcx
mov rcx, rax
call fcn.14002641c
mov rcx, qword [rdi + 0x10]
xor r10d, r10d
mov qword [r15 + rcx], rax
test rsi, rsi
je 0x14006d8c9
mov ecx, r10d
mov r12d, r10d
mov r9, rsi
mov qword [rsp + 0x30], rcx
cmp word [rsi], r10w
je 0x14006d8a1
lea edx, [r10 + 1]
mov rax, rsi
mov qword [rsp + 0x28], r10
mov dword [rsp + 0x98], edx
lea r8d, [r10 + 0x3b]
cmp word [rax], r8w
jne 0x14006d886
mov rdx, r9
mov word [rax], r10w
call fcn.14006df50
mov rcx, qword [rdi + 0x10]
mov r8, qword [rsp + 0x28]
mov rdx, qword [r15 + rcx]
xor r10d, r10d
inc r12
mov word [rdx + r8 + 8], ax
mov rax, qword [rdi + 0x10]
movsxd rdx, dword [rsp + 0x98]
mov rcx, qword [r15 + rax]
lea r9, [rsi + rdx*2]
mov qword [r8 + rcx], r10
mov rcx, qword [rsp + 0x30]
add r8, 0x10
mov qword [rsp + 0x28], r8
lea r8d, [r10 + 0x3b]
inc rcx
inc edx
lea rax, [rsi + rcx*2]
mov dword [rsp + 0x98], edx
mov qword [rsp + 0x30], rcx
cmp word [rax], r10w
jne 0x14006d831
mov rdx, r9
add r12, r12
call fcn.14006df50
mov rcx, qword [rdi + 0x10]
xor r10d, r10d
mov rdx, qword [r15 + rcx]
mov word [rdx + r12*8 + 8], ax
mov rax, qword [rdi + 0x10]
mov rcx, qword [r15 + rax]
mov qword [rcx + r12*8], r10
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 0x18]
mov rax, qword [r15 + rax]
mov qword [rcx + rbx + 8], rax
jmp 0x14006d8ed
mov rax, qword [rdi + 0x10]
mov qword [r15 + rax], r10
mov rax, qword [rdi + 0x18]
mov qword [rax + rbx + 8], r10
movsxd rdx, dword [rsp + 0x20]
mov r9d, dword [rsp + 0x90]
mov r12d, 1
add r9d, r12d
lea rcx, [rdx*2]
add r15, 8
add rbx, 0x28
mov rax, rdx
add rcx, r13
mov dword [rsp + 0x90], r9d
mov r8d, 0x7c
add edx, r12d
add rbp, r12
mov dword [rsp + 0x20], edx
cmp rbp, qword [rsp + 0x38]
jl 0x14006d6b2
mov ecx, reloc.WSOCK32.dll_recv
call fcn.14002641c
mov ecx, dword [rsp + 0x80]
mov rbx, qword [rsp + 0x88]
mov qword [rdi + 0x20], rax
mov dword [rax + 8], ecx
mov rcx, qword [rdi + 0x20]
mov rax, qword [rdi + 0x18]
mov qword [rcx], rax
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret