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

Disassembly:
mov r11, rsp
push rbx
sub rsp, 0x90
mov rax, qword [0x1800b44b0]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov qword [r11 + 0x18], rsi
mov qword [r11 + 0x20], rdi
mov eax, r8d
mov rsi, rdx
cdq
mov qword [r11 - 0x10], r12
and edx, 3
mov qword [r11 - 0x18], r13
mov rbx, rcx
lea edi, [rdx + rax]
sar edi, 2
cmp dword [0x1800b96a0], 0
jne 0x1800029b5
call fcn.180001c40
mov dword [0x1800b96a0], 1
mov r10d, 8
mov dword [rbx], edi
mov dword [rbx + 4], r10d
cmp edi, r10d
jg 0x1800029cf
mov dword [rbx + 8], 0xe
jmp 0x1800029d5
lea eax, [rdi + 6]
mov dword [rbx + 8], eax
lea rdx, [rbx + 0xd]
mov r8d, 3
nop
lea eax, [r8 - 2]
and eax, 0x80000007
jge 0x1800029f2
dec eax
or eax, 0xfffffff8
inc eax
mov byte [rdx - 1], al
mov eax, r8d
and eax, 0x80000007
jge 0x180002a06
dec eax
or eax, 0xfffffff8
inc eax
mov byte [rdx], al
lea eax, [r8 + 1]
and eax, 0x80000007
jge 0x180002a1a
dec eax
or eax, 0xfffffff8
inc eax
lea ecx, [r8 + 4]
mov byte [rdx + 1], al
and ecx, 0x80000007
jge 0x180002a30
dec ecx
or ecx, 0xfffffff8
inc ecx
mov byte [rdx + 0x17], cl
lea ecx, [r8 + 2]
and ecx, 0x80000007
jge 0x180002a46
dec ecx
or ecx, 0xfffffff8
inc ecx
mov byte [rdx + 0x18], cl
mov byte [rdx + 0x19], al
add rdx, 3
inc r8d
dec r10
jne 0x1800029e0
mov r12d, dword [rbx + 8]
mov r10d, dword [rbx]
inc r12d
imul r12d, dword [rbx + 4]
mov dword [rsp + 0x24], r12d
test r10d, r10d
jle 0x180002aaf
lea r8, [rsp + 0x40]
lea rdx, [rsi + 2]
mov r9d, r10d
nop dword [rax]
movzx eax, byte [rdx]
movzx ecx, byte [rdx + 1]
lea r8, [r8 + 4]
shl ecx, 8
lea rdx, [rdx + 4]
or ecx, eax
movzx eax, byte [rdx - 5]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx - 6]
shl ecx, 8
or ecx, eax
mov dword [r8 - 4], ecx
dec r9
jne 0x180002a80
xor edx, edx
test r10d, r10d
jle 0x180002ae1
lea r8, [rsp + 0x40]
mov rax, rbx
lea rcx, [rsp + 0x40]
sub rax, r8
lea r8, [rax + 0x3c]
nop word [rax + rax]
mov eax, dword [rcx]
inc edx
lea rcx, [rcx + 4]
mov dword [r8 + rcx - 4], eax
cmp edx, dword [rbx]
jl 0x180002ad0
mov esi, dword [rbx]
mov qword [rsp + 0xa8], rbp
mov qword [rsp + 0x78], r14
mov edi, esi
cmp esi, r12d
jge 0x180002cc5
lea rbp, [0x1800ba2b0]
lea r14, [0x1800b96b0]
nop dword [rax]
movsxd r11, edi
mov eax, dword [rbx + r11*4 + 0x38]
ror eax, 8
mov ecx, eax
mov edx, eax
mov r8d, eax
shr edx, 0x10
movzx eax, al
shr ecx, 8
movzx r10d, byte [rax + r14]
movzx eax, cl
shr r8d, 0x18
movzx r9d, byte [rax + r14]
movzx eax, dl
movzx ecx, byte [rax + r14]
movzx eax, r8b
movzx edx, byte [rax + r14]
movsxd rax, esi
shl edx, 8
or edx, ecx
mov rcx, r11
shl edx, 8
sub rcx, rax
or edx, r9d
shl edx, 8
or edx, r10d
xor edx, dword [rbx + rcx*4 + 0x3c]
xor edx, dword [rbp]
mov dword [rbx + r11*4 + 0x3c], edx
mov eax, dword [rbx]
cmp eax, 6
jg 0x180002bc8
mov edx, 1
mov r9d, edx
cmp eax, edx
jle 0x180002cb4
lea r8, [rbx + 0x40]
lea r8, [r8 + r11*4]
lea eax, [rdx + rdi]
cmp eax, r12d
jge 0x180002cb4
movsxd rax, dword [rbx]
mov rcx, r9
inc edx
sub rcx, rax
add r8, 4
inc r9
add rcx, r11
mov eax, dword [rbx + rcx*4 + 0x3c]
xor eax, dword [r8 - 8]
mov dword [r8 - 4], eax
cmp edx, dword [rbx]
jl 0x180002b92
jmp 0x180002cb4
lea r8, [rbx + 0x40]
mov edx, 1
lea r9d, [rdi + 1]
lea r8, [r8 + r11*4]
nop dword [rax]
cmp r9d, r12d
jge 0x180002c0d
movsxd rax, dword [rbx]
mov rcx, rdx
inc rdx
sub rcx, rax
add r8, 4
inc r9d
add rcx, r11
mov eax, dword [rbx + rcx*4 + 0x3c]
xor eax, dword [r8 - 8]
mov dword [r8 - 4], eax
cmp rdx, 4
jl 0x180002be0
lea eax, [rdi + 4]
cmp eax, r12d
jge 0x180002c6f
mov eax, dword [rbx + r11*4 + 0x48]
mov ecx, eax
mov edx, eax
mov r8d, eax
shr edx, 0x10
movzx eax, al
shr ecx, 8
movzx r10d, byte [rax + r14]
movzx eax, cl
shr r8d, 0x18
movzx r9d, byte [rax + r14]
movzx eax, dl
movzx ecx, byte [rax + r14]
movzx eax, r8b
movzx edx, byte [rax + r14]
movsxd rax, dword [rbx]
shl edx, 8
or edx, ecx
mov rcx, r11
shl edx, 8
sub rcx, rax
or edx, r9d
shl edx, 8
or edx, r10d
xor edx, dword [rbx + rcx*4 + 0x4c]
mov dword [rbx + r11*4 + 0x4c], edx
mov edx, 5
mov r8d, edx
cmp dword [rbx], edx
jle 0x180002cb4
nop dword [rax + rax]
lea eax, [r8 + rdi]
cmp eax, r12d
jge 0x180002cb4
movsxd rax, dword [rbx]
mov rcx, rdx
inc r8d
sub rcx, rax
lea rax, [rdx + r11]
add rcx, r11
mov ecx, dword [rbx + rcx*4 + 0x3c]
xor ecx, dword [rbx + rax*4 + 0x38]
lea rax, [rdx + r11]
inc rdx
mov dword [rbx + rax*4 + 0x3c], ecx
cmp r8d, dword [rbx]
jl 0x180002c80
mov esi, dword [rbx]
add rbp, 4
add edi, esi
cmp edi, r12d
jl 0x180002b10
xor edx, edx
movsxd r10, r12d
mov qword [rsp + 0x38], r10
cmp dword [rbx + 4], edx
jle 0x180002d05
xor r8d, r8d
lea r9, [rbx + 0x3c]
nop dword [rax + rax]
movsxd rax, dword [rbx + 4]
mov rcx, r8
inc edx
sub rcx, rax
mov eax, dword [r9]
inc r8
add rcx, r10
lea r9, [r9 + 4]
mov dword [rbx + rcx*4 + 0x21c], eax
cmp edx, dword [rbx + 4]
jl 0x180002ce0
mov ecx, dword [rbx + 4]
mov eax, r12d
sub eax, ecx
mov r13d, ecx
mov dword [rsp + 0x20], ecx
cmp ecx, eax
jge 0x180002e44
mov qword [rsp + 0x70], r15
nop dword [rax]
nop word [rax + rax]
mov dword [rsp + 0x28], 0
test ecx, ecx
jle 0x180002e21
mov eax, r12d
lea r12, [rbx + 0x21c]
sub eax, ecx
sub eax, r13d
movsxd rcx, eax
movsxd rax, r13d
mov r13d, dword [rsp + 0x28]
sub rax, rcx
lea r12, [r12 + rcx*4]
lea rax, [rax*4 - 0x1e0]
mov qword [rsp + 0x30], rax
nop
mov r14d, dword [rax + r12]
movzx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
movzx r15d, byte [0x1800b4003]
shl r15d, 8
mov edx, r14d
or r15d, eax
movzx eax, byte [0x1800b4001]
shl r15d, 8
or r15d, eax
movzx eax, byte [section..data]
shl r15d, 8
or r15d, eax
mov ecx, r15d
call fcn.180001f90
ror r15d, 8
mov edx, r14d
mov ecx, r15d
movzx ebp, al
call fcn.180001f90
mov edx, r14d
movzx esi, al
ror r15d, 8
mov ecx, r15d
call fcn.180001f90
ror r15d, 8
mov edx, r14d
mov ecx, r15d
movzx edi, al
call fcn.180001f90
mov edx, ebp
inc r13d
shl edx, 8
movzx eax, al
lea r12, [r12 + 4]
or edx, esi
shl edx, 8
or edx, edi
shl edx, 8
or edx, eax
mov rax, qword [rsp + 0x30]
mov dword [r12 - 4], edx
cmp r13d, dword [rbx + 4]
jl 0x180002d70
mov r12d, dword [rsp + 0x24]
mov r13d, dword [rsp + 0x20]
mov ecx, dword [rbx + 4]
mov eax, r12d
add r13d, ecx
sub eax, ecx
mov dword [rsp + 0x20], r13d
cmp r13d, eax
jl 0x180002d30
mov r10, qword [rsp + 0x38]
mov r15, qword [rsp + 0x70]
sub r12d, dword [rbx + 4]
mov r14, qword [rsp + 0x78]
mov r13, qword [rsp + 0x80]
mov rdi, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0xa8]
movsxd rdx, r12d
mov r12, qword [rsp + 0x88]
cmp rdx, r10
jge 0x180002eb0
lea r8, [rbx + 0x3c]
lea r8, [r8 + rdx*4]
nop word [rax + rax]
movsxd rcx, dword [rbx + 4]
mov eax, dword [r8]
lea r8, [r8 + 4]
sub rcx, r10
add rcx, rdx
inc rdx
mov dword [rbx + rcx*4 + 0x21c], eax
cmp rdx, r10
jl 0x180002e90
xor eax, eax
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.180022a00
add rsp, 0x90
pop rbx
ret