Function at 0x14006d354
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
push rcx
call 0x1403f4078
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.14002652c
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 0x14006d594
movsxd rax, edx
lea rcx, [rbx + rax*2]
jmp 0x14006d3dd
add edx, r12d
add rcx, r15
cmp word [rcx], r14w
je 0x14006d3d7
movsxd rcx, edx
movzx r8d, word [rbx + rcx*2]
cmp r8w, r14w
je 0x14006d418
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 0x14006d3f8
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 0x14006d447
add edx, r12d
add rcx, r15
cmp word [rcx], r14w
je 0x14006d441
movsxd r8, edx
movzx ecx, word [rbx + r8*2]
cmp cx, r14w
je 0x14006d488
movsxd rax, esi
lea r9, [rax + rax]
cmp cx, r13w
je 0x14006d488
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 0x14006d462
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 0x14006d4a6
add edx, r12d
add rcx, r15
cmp word [rcx], r14w
je 0x14006d4a0
movsxd rax, edx
cmp word [rbx + rax*2], r13w
jne 0x14006d4b9
add edx, r12d
movsxd rax, edx
lea rcx, [rbx + rax*2]
jmp 0x14006d4c8
add edx, r12d
add rcx, r15
cmp word [rcx], r14w
je 0x14006d4c2
mov r10d, r12d
movsxd r8, esi
mov ebp, 0xa
movsxd rax, edx
lea rcx, [rbx + rax*2]
jmp 0x14006d4e8
add edx, r12d
add rcx, r15
cmp word [rcx], r14w
je 0x14006d4e2
movsxd rcx, edx
jmp 0x14006d527
cmp ax, r14w
jne 0x14006d506
add rcx, r12
add edx, r12d
cmp word [rbx + rcx*2], r14w
je 0x14006d4f9
movzx r9d, word [rbx + rcx*2]
cmp r9w, 0x29
je 0x14006d533
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 0x14006d4f3
jmp 0x14006d539
xor r10d, r10d
add edx, r12d
movsxd rax, edx
lea rcx, [rbx + rax*2]
jmp 0x14006d548
add edx, r12d
add rcx, r15
cmp word [rcx], r14w
je 0x14006d542
mov rax, qword [rdi + 8]
test r10d, r10d
jne 0x14006d55e
mov word [rax + r8*2], bp
jmp 0x14006d563
mov word [rax + r8*2], r11w
movsxd rax, edx
add esi, r12d
add r8, r12
cmp word [rbx + rax*2], r11w
jne 0x14006d576
add edx, r12d
cmp r10d, r12d
je 0x14006d4d9
mov r10d, dword [rsp + 0x80]
cmp edx, dword [rsp + 0x90]
jl 0x14006d3ce
cmp dword [rdi + 0x44], 0
mov ebp, 3
je 0x14006d5aa
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.14002652c
mov qword [rdi + 0x10], rax
mov rax, r13
mul rbx
mov rbx, 0xffffffffffffffff
cmovo rax, rbx
mov rcx, rax
call fcn.14002652c
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 0x14006d684
cmp dword [rdi + 0x44], r10d
je 0x14006d81e
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.14002652c
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 0x14006d722
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 0x18]
mov r9d, dword [rsp + 0x90]
mov rax, qword [rax + 0x10]
mov edx, 0x13
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 0x14006dae4
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 0x14006d87f
movsxd rax, edx
mov word [r13 + rbp*2], r10w
lea r14, [rax*2]
add r14, r13
jmp 0x14006dacf
mov r8d, 0xa
cmp ax, r8w
je 0x14006d894
test ax, ax
jne 0x14006dac9
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 0x14006d909
mov rax, r14
lea rcx, [r14 + 2]
cmp word [rax], r11w
jne 0x14006d8f5
cmp word [rcx], r10w
je 0x14006d8f1
inc r12d
jmp 0x14006d8f5
mov word [rax], r10w
inc rdx
inc r8d
add rcx, 2
lea rax, [r14 + rdx*2]
cmp word [rax], r10w
jne 0x14006d8e0
mov rsi, r10
mov ecx, r10d
mov rax, r10
movsxd rdx, r8d
test r8d, r8d
jle 0x14006d944
cmp word [r14 + rax*2], r11w
je 0x14006d92d
inc rax
inc ecx
cmp rax, rdx
jl 0x14006d91a
jmp 0x14006d944
mov word [r14 + rax*2], r10w
cmp word [r14 + rax*2 + 2], r10w
je 0x14006d944
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.14006c894
mov rax, qword [rdi + 0x18]
xor r10d, r10d
mov dword [rax + rbx + 0x1c], r12d
test r12d, r12d
je 0x14006da84
lea eax, [r10 + 0x10]
movsxd rcx, r12d
mul rcx
lea rcx, [r10 - 1]
cmovo rax, rcx
mov rcx, rax
call fcn.14002652c
mov rcx, qword [rdi + 0x10]
xor r10d, r10d
mov qword [r15 + rcx], rax
test rsi, rsi
je 0x14006da71
mov ecx, r10d
mov r12d, r10d
mov r9, rsi
mov qword [rsp + 0x30], rcx
cmp word [rsi], r10w
je 0x14006da49
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 0x14006da2e
mov rdx, r9
mov word [rax], r10w
call fcn.14006e0f8
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 0x14006d9d9
mov rdx, r9
add r12, r12
call fcn.14006e0f8
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 0x14006da95
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 0x14006d85a
mov ecx, 0x10
call fcn.14002652c
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