Function at 0x140076904
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, 0x50
mov rbx, rcx
mov rdi, rdx
mov rcx, rdx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov ebp, eax
mov dword [rsp + 0x90], eax
mov r12d, 2
lea r8d, [rax + 6]
mov eax, r12d
movsxd r9, r8d
mul r9
lea rcx, [r12 - 3]
cmovo rax, rcx
mov rcx, rax
call fcn.1400251f8
xor edx, edx
mov qword [rbx + 8], rax
xor esi, esi
lea r13d, [r12 + 0x39]
mov dword [rsp + 0x20], r13d
mov r11d, r12d
lea r14d, [r12 + 0x1e]
lea r15d, [r12 - 1]
lea r10d, [r12 + 0x26]
test ebp, ebp
jle 0x140076b3f
movsxd rax, edx
lea rcx, [rdi + rax*2]
jmp 0x14007698f
add edx, r15d
add rcx, r12
cmp word [rcx], r14w
je 0x140076989
movsxd rcx, edx
movzx r8d, word [rdi + rcx*2]
cmp r8w, r14w
je 0x1400769ca
movsxd rax, esi
lea r9, [rax + rax]
mov rax, qword [rbx + 8]
add rcx, r15
add edx, r15d
add esi, r15d
mov word [r9 + rax], r8w
add r9, r12
movzx r8d, word [rdi + rcx*2]
cmp r8w, r14w
jne 0x1400769aa
mov rax, qword [rbx + 8]
mov r8d, 0x7c
movsxd rcx, esi
add r11d, r15d
add esi, r15d
mov word [rax + rcx*2], r8w
movsxd rax, edx
lea rcx, [rdi + rax*2]
jmp 0x1400769f1
add edx, r15d
add rcx, r12
cmp word [rcx], r14w
je 0x1400769eb
movsxd r8, edx
movzx ecx, word [rdi + r8*2]
cmp cx, r14w
je 0x140076a32
movsxd rax, esi
lea r9, [rax + rax]
cmp cx, r10w
je 0x140076a32
mov rax, qword [rbx + 8]
add r8, r15
add edx, r15d
add esi, r15d
mov word [r9 + rax], cx
add r9, r12
movzx ecx, word [rdi + r8*2]
cmp cx, r14w
jne 0x140076a0c
mov rax, qword [rbx + 8]
movsxd rcx, esi
add esi, r15d
mov word [rax + rcx*2], r13w
movsxd rax, edx
lea rcx, [rdi + rax*2]
jmp 0x140076a50
add edx, r15d
add rcx, r12
cmp word [rcx], r14w
je 0x140076a4a
movsxd rax, edx
lea ecx, [rdx + 1]
cmp word [rdi + rax*2], r10w
cmovne ecx, edx
movsxd rax, ecx
lea rdx, [rdi + rax*2]
jmp 0x140076a73
add ecx, r15d
add rdx, r12
cmp word [rdx], r14w
je 0x140076a6d
mov r10d, r15d
movsxd r8, esi
mov ebp, 0xa
movsxd rax, ecx
lea rdx, [rdi + rax*2]
jmp 0x140076a93
add ecx, r15d
add rdx, r12
cmp word [rdx], r14w
je 0x140076a8d
movsxd rdx, ecx
jmp 0x140076ad1
cmp ax, r14w
jne 0x140076ab1
add rdx, r15
add ecx, r15d
cmp word [rdi + rdx*2], r14w
je 0x140076aa4
movzx r9d, word [rdi + rdx*2]
inc ecx
cmp r9w, 0x29
je 0x140076add
mov rax, qword [rbx + 8]
add rdx, r15
add esi, r15d
mov word [rax + r8*2], r9w
add r8, r15
movzx eax, word [rdi + rdx*2]
cmp ax, r13w
jne 0x140076a9e
jmp 0x140076ae0
xor r10d, r10d
movsxd rax, ecx
lea rdx, [rdi + rax*2]
jmp 0x140076aef
add ecx, r15d
add rdx, r12
cmp word [rdx], r14w
je 0x140076ae9
mov rax, qword [rbx + 8]
lea rdx, [rax + r8*2]
test r10d, r10d
jne 0x140076b07
movzx eax, bp
jmp 0x140076b0a
mov eax, r13d
mov word [rdx], ax
add esi, r15d
movsxd rax, ecx
lea edx, [rcx + 1]
add r8, r15
cmp word [rdi + rax*2], r13w
cmovne edx, ecx
mov ecx, edx
cmp r10d, r15d
je 0x140076a84
mov r10d, SafeArrayCreateEx
cmp edx, dword [rsp + 0x90]
jl 0x140076980
cmp dword [rbx + 0x44], 0
lea edi, [r11 + 3]
mov eax, 8
mov rbp, 0xffffffffffffffff
cmove edi, r11d
mul rdi
mov qword [rsp + 0x40], rdi
cmovo rax, rbp
mov rcx, rax
call fcn.1400251f8
mov qword [rbx + 0x10], rax
lea eax, [rbp + 0x29]
mul rdi
cmovo rax, rbp
mov rcx, rax
call fcn.1400251f8
mov qword [rbx + 0x18], rax
lea rcx, str.InterfaceDispatch
xor r11d, r11d
mov dword [rsp + 0x90], r12d
lea r13d, [rbp + 5]
mov r10d, r12d
mov qword [rax], rcx
or ecx, 0xffffffff
mov rax, qword [rbx + 0x18]
mov qword [rax + 8], r11
mov rax, qword [rbx + 0x18]
mov dword [rax + 0x10], ebp
mov rax, qword [rbx + 0x18]
mov dword [rax + 0x14], ecx
mov rax, qword [rbx + 0x18]
mov dword [rax + 0x18], r13d
mov rax, qword [rbx + 0x18]
mov dword [rax + 0x1c], r11d
mov rax, qword [rbx + 0x18]
mov word [rax + 0x20], r15w
mov rax, qword [rbx + 0x18]
mov word [rax + 0x22], r11w
mov rax, qword [rbx + 0x18]
mov qword [rax + 0x28], r11
mov rax, qword [rbx + 0x18]
mov qword [rax + 0x30], r11
mov rax, qword [rbx + 0x18]
mov dword [rax + 0x38], r11d
mov rax, qword [rbx + 0x18]
mov dword [rax + 0x3c], ecx
lea ecx, [rbp + 0x16]
mov rax, qword [rbx + 0x18]
mov dword [rax + 0x40], r13d
mov rax, qword [rbx + 0x18]
mov dword [rax + 0x44], r11d
mov rax, qword [rbx + 0x18]
mov word [rax + 0x48], r12w
mov rax, qword [rbx + 0x18]
mov word [rax + 0x4a], cx
mov ecx, r11d
mov rax, qword [rbx + 0x10]
mov qword [rcx + rax], r11
add rcx, 8
cmp rcx, 0x10
jl 0x140076c22
cmp dword [rbx + 0x44], r11d
je 0x140076dc2
mov rax, qword [rbx + 0x18]
lea rcx, str.QueryInterface
mov ebp, 3
mov dword [rsp + 0x90], 5
mov qword [rax + 0x50], rcx
mov rcx, r14
mov rax, qword [rbx + 0x18]
mov dword [rax + 0x60], r15d
mov rax, qword [rbx + 0x18]
mov dword [rax + 0x64], r11d
mov rax, qword [rbx + 0x18]
mov dword [rax + 0x68], r13d
mov rax, qword [rbx + 0x18]
mov dword [rax + 0x6c], r12d
mov rax, qword [rbx + 0x18]
mov word [rax + 0x70], r15w
mov rax, qword [rbx + 0x18]
mov word [rax + 0x72], bp
call fcn.1400251f8
mov rcx, qword [rbx + 0x10]
xor r11d, r11d
mov edx, r11d
mov qword [rcx + 0x10], rax
mov rax, qword [rbx + 0x10]
mov rcx, qword [rax + 0x10]
lea eax, [rbp + 0x45]
mov word [rcx + 8], ax
mov rax, qword [rbx + 0x10]
mov rcx, qword [rax + 0x10]
mov eax, 0x4015
mov word [rcx + 0x18], ax
mov rax, qword [rbx + 0x10]
mov rcx, qword [rax + 0x10]
mov qword [rdx + rcx], r11
add rdx, 0x10
cmp rdx, r14
jl 0x140076cc4
mov rax, qword [rbx + 0x10]
mov edx, reloc.WSOCK32.dll_send
mov rcx, qword [rbx + 0x18]
mov r10d, dword [rsp + 0x90]
mov rax, qword [rax + 0x10]
mov qword [rcx + 0x58], rax
lea rcx, str.AddRef
mov rax, qword [rbx + 0x18]
mov qword [rax + 0x78], rcx
lea rcx, str.Release
mov rax, qword [rbx + 0x18]
mov qword [rax + 0x80], r11
mov rax, qword [rbx + 0x18]
mov dword [rax + 0x88], r12d
mov rax, qword [rbx + 0x18]
mov dword [rax + 0x8c], r15d
mov rax, qword [rbx + 0x18]
mov dword [rax + 0x90], r13d
mov rax, qword [rbx + 0x18]
mov dword [rax + 0x94], r11d
mov rax, qword [rbx + 0x18]
mov word [rax + 0x98], r15w
mov rax, qword [rbx + 0x18]
mov word [rax + 0x9a], dx
mov rax, qword [rbx + 0x10]
mov qword [rax + 0x18], r11
mov rax, qword [rbx + 0x18]
mov qword [rax + 0xa0], rcx
mov rax, qword [rbx + 0x18]
mov qword [rax + 0xa8], r11
mov rax, qword [rbx + 0x18]
mov dword [rax + 0xb0], ebp
mov rax, qword [rbx + 0x18]
mov dword [rax + 0xb4], r12d
mov rax, qword [rbx + 0x18]
mov dword [rax + 0xb8], r13d
mov rax, qword [rbx + 0x18]
mov dword [rax + 0xbc], r11d
mov rax, qword [rbx + 0x18]
mov word [rax + 0xc0], r15w
mov rax, qword [rbx + 0x18]
mov word [rax + 0xc2], dx
mov rax, qword [rbx + 0x10]
mov qword [rax + 0x20], r11
mov r13, qword [rbx + 8]
mov r14, r11
movsxd rax, esi
mov rdx, r13
mov qword [rsp + 0x38], rax
mov rbp, r11
test esi, esi
jle 0x1400770a6
mov eax, r10d
mov ecx, r15d
mov esi, r10d
mov r8d, 0x7c
mov dword [rsp + 0xa8], ecx
lea rdi, [rax + rax*4]
shl rdi, 3
shl rsi, 3
movzx eax, word [r13 + rbp*2]
cmp ax, r8w
jne 0x140076e26
movsxd rax, ecx
mov word [r13 + rbp*2], r11w
lea r14, [rax*2]
add r14, r13
jmp 0x140077089
mov r9d, 0xa
cmp ax, r9w
je 0x140076e3b
test ax, ax
jne 0x140077089
mov word [r13 + rbp*2], r11w
lea ecx, [r10 - 1]
mov rax, qword [rbx + 0x18]
mov r12d, r11d
mov r9d, r11d
mov r8, r11
mov qword [rdi + rax], rdx
mov rax, qword [rbx + 0x18]
mov dword [rax + rdi + 0x10], ecx
lea ecx, [r10 - 2]
mov rax, qword [rbx + 0x18]
mov dword [rax + rdi + 0x14], ecx
mov rax, qword [rbx + 0x18]
mov word [rax + rdi + 0x20], r15w
movzx eax, word [r14]
test ax, ax
je 0x140076eb0
mov rcx, r14
lea rdx, [r14 + 2]
cmp ax, word [rsp + 0x20]
jne 0x140076e9a
cmp word [rdx], r11w
je 0x140076e96
add r12d, r15d
jmp 0x140076e9a
mov word [rcx], r11w
add r8, r15
add r9d, r15d
add rdx, 2
lea rcx, [r14 + r8*2]
movzx eax, word [rcx]
test ax, ax
jne 0x140076e84
movsxd r8, r9d
mov r15, r11
mov ecx, r11d
mov rax, r11
test r9d, r9d
jle 0x140076ef4
mov r9d, 0x3b
lea rdx, [rax + 1]
cmp word [r14 + rax*2], r9w
je 0x140076ede
inc ecx
mov rax, rdx
cmp rdx, r8
jl 0x140076ec7
jmp 0x140076ef4
mov word [r14 + rax*2], r11w
cmp word [r14 + rdx*2], r11w
je 0x140076ef4
lea eax, [rcx + 1]
movsxd rcx, eax
lea r15, [r14 + rcx*2]
movsxd rax, r10d
mov rdx, r14
lea rcx, [rax + rax*4]
mov rax, qword [rbx + 0x18]
lea r9, [rax + 0x22]
lea r9, [r9 + rcx*8]
lea rcx, [rcx + 3]
lea r8, [rax + rcx*8]
call fcn.140075e6c
mov rax, qword [rbx + 0x18]
xor r11d, r11d
mov dword [rax + rdi + 0x1c], r12d
test r12d, r12d
je 0x14007703d
movsxd rcx, r12d
lea eax, [r11 + 0x10]
mul rcx
lea rcx, [r11 - 1]
cmovo rax, rcx
mov rcx, rax
call fcn.1400251f8
mov rcx, qword [rbx + 0x10]
xor r11d, r11d
mov qword [rsi + rcx], rax
test r15, r15
je 0x14007702a
movzx eax, word [r15]
mov ecx, r11d
mov qword [rsp + 0x30], rcx
mov r12d, r11d
mov r9, r15
test ax, ax
je 0x140077002
lea edx, [r11 + 1]
mov qword [rsp + 0x28], r11
mov dword [rsp + 0xa0], edx
lea r10d, [r11 + 0x3b]
mov r8, r15
cmp ax, r10w
jne 0x140076fe4
mov rdx, r9
mov word [r8], r11w
call fcn.1400776a4
mov rcx, qword [rbx + 0x10]
xor r11d, r11d
mov r8, qword [rsp + 0x28]
inc r12
mov rdx, qword [rsi + rcx]
lea r10d, [r11 + 0x3b]
mov word [rdx + r8 + 8], ax
mov rax, qword [rbx + 0x10]
movsxd rdx, dword [rsp + 0xa0]
mov rcx, qword [rsi + rax]
mov rax, rdx
lea r9, [r15 + rdx*2]
mov qword [r8 + rcx], r11
add r8, 0x10
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x28], r8
inc rcx
inc edx
mov dword [rsp + 0xa0], edx
mov qword [rsp + 0x30], rcx
lea r8, [r15 + rcx*2]
movzx eax, word [r8]
test ax, ax
jne 0x140076f8c
mov rdx, r9
add r12, r12
call fcn.1400776a4
mov rcx, qword [rbx + 0x10]
xor r11d, r11d
mov rdx, qword [rsi + rcx]
mov word [rdx + r12*8 + 8], ax
mov rax, qword [rbx + 0x10]
mov rcx, qword [rsi + rax]
mov qword [rcx + r12*8], r11
mov rax, qword [rbx + 0x10]
mov rcx, qword [rbx + 0x18]
mov rax, qword [rsi + rax]
mov qword [rcx + rdi + 8], rax
jmp 0x14007704e
mov rax, qword [rbx + 0x10]
mov qword [rsi + rax], r11
mov rax, qword [rbx + 0x18]
mov qword [rax + rdi + 8], r11
movsxd rcx, dword [rsp + 0xa8]
mov r15d, 1
mov r10d, dword [rsp + 0x90]
add rsi, 8
add r10d, r15d
add rdi, 0x28
mov dword [rsp + 0x90], r10d
mov rax, rcx
lea rdx, [rcx*2]
add rdx, r13
lea r8d, [r15 + 0x7b]
add ecx, r15d
add rbp, r15
mov dword [rsp + 0xa8], ecx
cmp rbp, qword [rsp + 0x38]
jl 0x140076e01
mov rdi, qword [rsp + 0x40]
mov ecx, reloc.WSOCK32.dll_recv
call fcn.1400251bc
mov qword [rbx + 0x20], rax
mov dword [rax + 8], edi
mov rcx, qword [rbx + 0x20]
mov rax, qword [rbx + 0x18]
mov rbx, qword [rsp + 0x98]
mov qword [rcx], rax
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret