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

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc0
mov rax, qword [0x180295a70]
xor rax, rsp
mov qword [rsp + 0xb0], rax
lea r10, [r11 - 0x58]
mov byte [rsp], r9b
mov byte [rsp + 1], r8b
mov rdi, rdx
mov r11d, reloc.OLEAUT32.dll_SafeArrayGetDim
sub r10, rcx
nop
nop
movzx r9d, word [rcx]
movzx eax, r9w
and ax, 0x7c00
cmp ax, 0x7c00
jne 0x18012b82b
mov word [r10 + rcx], 0x8000
jmp 0x18012b844
bt r9w, 0xf
jae 0x18012b839
not r9w
jmp 0x18012b83f
or r9w, 0x8000
mov word [r10 + rcx], r9w
add rcx, 2
sub r11, 1
jne 0x18012b810
xor r10w, r10w
xor ecx, ecx
movzx eax, word [rsp + rcx*2 + 0x90]
cmp r10w, ax
cmovb r10w, ax
add rcx, 1
cmp rcx, 0x10
jl 0x18012b854
or r11d, 0xffffffff
movzx ebx, r10w
nop
nop
nop
add r11d, 1
mov r9d, 1
xor r8d, r8d
mov ecx, r11d
shl r9d, cl
lea ecx, [r11 + 1]
sub r9d, 1
nop
nop
movzx eax, word [rsp + r8*2 + 0x90]
mov edx, ebx
add r8, 1
sub edx, eax
add edx, edx
mov eax, edx
sar eax, cl
and eax, 1
add eax, r9d
add eax, edx
sar eax, cl
cmp r8, 0x10
mov dword [rsp + r8*4 + 0x4c], eax
jl 0x18012b8a0
mov ebp, dword [rsp + 0x60]
mov r12d, dword [rsp + 0x70]
mov r8d, dword [rsp + 0x84]
mov ecx, dword [rsp + 0x80]
mov r9d, dword [rsp + 0x50]
mov edx, dword [rsp + 0x54]
mov r13d, dword [rsp + 0x64]
mov r14d, dword [rsp + 0x74]
mov r15d, dword [rsp + 0x68]
mov eax, ebp
mov esi, r9d
sub eax, r12d
sub esi, ebp
sub ebp, r13d
add eax, 0x20
sub r13d, r15d
sub r15d, dword [rsp + 0x6c]
mov dword [rsp + 0x4c], eax
mov dword [rsp + 0xc], eax
mov eax, r12d
sub eax, ecx
sub ecx, r8d
sub r12d, r14d
add eax, 0x20
add ecx, 0x20
add esi, 0x20
mov dword [rsp + 0x10], eax
mov dword [rsp + 0x20], ecx
mov ecx, dword [rsp + 0x58]
add ebp, 0x20
add r12d, 0x20
add r13d, 0x20
add r15d, 0x20
mov eax, r9d
mov dword [rsp + 8], esi
sub eax, edx
sub edx, ecx
sub ecx, dword [rsp + 0x5c]
add edx, 0x20
add eax, 0x20
add ecx, 0x20
mov dword [rsp + 0x24], edx
mov edx, dword [rsp + 0x78]
mov dword [rsp + 0x14], eax
mov eax, dword [rsp + 0x88]
sub r14d, edx
sub edx, dword [rsp + 0x7c]
sub r8d, eax
sub eax, dword [rsp + 0x8c]
add edx, 0x20
add r8d, 0x20
add r14d, 0x20
add eax, 0x20
mov dword [rsp + 0x48], edx
mov dword [rsp + 0x3c], edx
mov dword [rsp + 0x34], ecx
mov dword [rsp + 0x30], r8d
mov dword [rsp + 0x40], eax
mov edx, esi
mov dword [rsp + 0x18], ebp
mov dword [rsp + 0x1c], r12d
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x2c], r14d
mov dword [rsp + 0x38], r15d
mov ecx, esi
mov r8d, 1
nop
mov eax, dword [rsp + r8*4 + 8]
cmp ecx, eax
cmovg ecx, eax
cmp edx, eax
cmovl edx, eax
add r8, 1
cmp r8, 0xf
jl 0x18012b9d0
test ecx, ecx
js 0x18012b880
cmp edx, 0x3f
jg 0x18012b880
cmp ecx, 0x20
jne 0x18012ba2f
cmp edx, ecx
jne 0x18012ba2f
cmp byte [rsp + 1], 0
je 0x18012ba2f
movzx eax, word [rsp + 0x90]
mov byte [rdi + 2], 0xfc
shr ax, 8
mov byte [rdi], al
movzx eax, byte [rsp + 0x90]
mov byte [rdi + 1], al
lea eax, [rcx - 0x1d]
jmp 0x18012bb3c
cmp byte [rsp], 0
je 0x18012ba4b
mov ecx, r11d
shl r9w, cl
sub r10w, r9w
mov word [rsp + 0x90], r10w
jmp 0x18012ba54
movzx r10d, word [rsp + 0x90]
movzx eax, byte [rsp + 0x90]
mov ecx, dword [rsp + 0x4c]
sar ebp, 4
mov byte [rdi + 1], al
movzx eax, byte [rsp + 8]
sar ecx, 2
shl al, 4
sar r12d, 2
sar r13d, 4
or cl, al
movzx eax, byte [rsp + 0xc]
sar r14d, 2
shl al, 6
mov byte [rdi + 3], cl
mov ecx, dword [rsp + 0x48]
or al, byte [rsp + 0x10]
sar r15d, 4
sar ecx, 2
mov byte [rdi + 4], al
movzx eax, byte [rsp + 0x14]
sar esi, 4
shl al, 2
shl r11b, 2
shr r10w, 8
or bpl, al
movzx eax, byte [rsp + 0x18]
or sil, r11b
shl al, 4
mov byte [rdi], r10b
mov byte [rdi + 2], sil
or r12b, al
movzx eax, byte [rsp + 0x1c]
mov byte [rdi + 5], bpl
shl al, 6
mov byte [rdi + 6], r12b
or al, byte [rsp + 0x20]
mov byte [rdi + 7], al
movzx eax, byte [rsp + 0x24]
shl al, 2
or r13b, al
movzx eax, byte [rsp + 0x28]
shl al, 4
mov byte [rdi + 8], r13b
or r14b, al
movzx eax, byte [rsp + 0x2c]
shl al, 6
mov byte [rdi + 9], r14b
or al, byte [rsp + 0x30]
mov byte [rdi + 0xa], al
movzx eax, byte [rsp + 0x34]
shl al, 2
or r15b, al
movzx eax, byte [rsp + 0x38]
shl al, 4
mov byte [rdi + 0xb], r15b
or cl, al
movzx eax, byte [rsp + 0x3c]
shl al, 6
mov byte [rdi + 0xc], cl
or al, byte [rsp + 0x40]
mov byte [rdi + 0xd], al
mov eax, SafeArrayDestroy
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.1801604e0
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret