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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc0
mov r13, r9
mov r12, r8
mov r15, rdx
lea r14, [0x14016a048]
mov rcx, qword [0x14016a048]
cmp rcx, r14
je 0x14009b5a2
test byte [rcx + 0x1c], 2
je 0x14009b5a2
cmp byte [rcx + 0x19], 4
jb 0x14009b5a2
mov edx, 0x2a
lea r8, [0x14014f6e0]
mov rcx, qword [rcx + 0x10]
call fcn.14000c0e8
xor ebx, ebx
mov edi, ebx
mov qword [rsp + 0x30], rbx
test r12, r12
jne 0x14009b5c8
lea r8, str.pcBag___NULL
mov edx, 0x72b
lea rcx, str.base_stor_blbcatalogcatalog.cpp
call fcn.140088f60
test r13, r13
jne 0x14009b5e5
lea r8, str.prgBag___NULL
mov edx, 0x72c
lea rcx, str.base_stor_blbcatalogcatalog.cpp
call fcn.140088f60
mov dword [r12], ebx
mov qword [r13], rbx
mov esi, dword [r15 + 0x14]
sub esi, dword [r15 + 0x10]
add esi, 1
je 0x14009b8c6
mov eax, esi
imul r12, rax, 0x6c
mov rcx, r12
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
nop dword [rax + rax]
mov rdi, rax
mov qword [rsp + 0x30], rax
test rax, rax
jne 0x14009b668
mov rcx, qword [0x14016a048]
cmp rcx, r14
je 0x14009b64f
test byte [rcx + 0x1c], 2
je 0x14009b64f
cmp byte [rcx + 0x19], 1
jb 0x14009b64f
imul r9d, esi, 0x6c
lea edx, [rax + 0x2b]
lea r8, [0x14014f6e0]
mov rcx, qword [rcx + 0x10]
call fcn.14001539c
mov dword [rsp + 0x20], 0x8007000e
lea rdx, [0x1401667c8]
lea rcx, [rsp + 0x20]
call sub.msvcrt.dll__CxxThrowException
mov r8, r12
xor edx, edx
mov rcx, rdi
call sub.msvcrt.dll_memset
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x98], xmm0
movups xmmword [rsp + 0xa8], xmm0
mov rdx, r15
lea rcx, [rsp + 0x98]
call fcn.1400b136c
mov r13d, ebx
mov dword [rsp + 0x108], r13d
cmp r13d, esi
jae 0x14009b8b6
lea rcx, [rsp + 0x98]
call fcn.1400b13cc
cmp eax, 0xffffffff
jne 0x14009b716
mov rcx, qword [0x14016a048]
cmp rcx, r14
je 0x14009b6ec
test byte [rcx + 0x1c], 2
je 0x14009b6ec
cmp byte [rcx + 0x19], 2
jb 0x14009b6ec
mov edx, 0x2c
lea r8, [0x14014f6e0]
mov rcx, qword [rcx + 0x10]
call fcn.14000c0e8
mov rax, qword [rsp + 0x100]
mov eax, dword [rax + 0xc]
neg eax
sbb ecx, ecx
add ecx, 0x80780002
mov dword [rsp + 0x24], ecx
lea rdx, [0x1401667c8]
lea rcx, [rsp + 0x24]
call sub.msvcrt.dll__CxxThrowException
mov r15, qword [rsp + 0x100]
add r15, 0x1d8
mov edx, eax
mov rcx, r15
call fcn.1400ad6fc
mov r12, rax
mov r9d, 1
mov r8, rax
lea rdx, [rsp + 0x58]
mov rcx, r15
call fcn.1400ad650
mov eax, r13d
imul r13, rax, 0x6c
movups xmm0, xmmword [rsp + 0x58]
movdqu xmmword [rdi + r13], xmm0
xor r9d, r9d
mov r8, r12
lea rdx, [rsp + 0x68]
mov rcx, r15
call fcn.1400ad650
movups xmm0, xmmword [rsp + 0x68]
movdqu xmmword [rdi + r13 + 0x10], xmm0
mov r9d, 2
mov r8, r12
lea rdx, [rsp + 0x3c]
mov rcx, r15
call fcn.1400ad854
mov rax, qword [rsp + 0x3c]
mov qword [rdi + r13 + 0x20], rax
mov r8d, 3
mov rdx, r12
mov rcx, r15
call fcn.1400ad8d0
mov dword [rdi + r13 + 0x28], eax
mov r9d, 5
mov r8, r12
lea rdx, [rsp + 0x78]
mov rcx, r15
call fcn.1400ad650
movups xmm0, xmmword [rsp + 0x78]
movdqu xmmword [rdi + r13 + 0x2c], xmm0
mov r8d, 9
mov rdx, r12
mov rcx, r15
call fcn.1400ad8d0
cmp eax, 0xffffffff
cmove eax, ebx
mov dword [rdi + r13 + 0x3c], eax
mov r9d, 4
mov r8, r12
lea rdx, [rsp + 0x88]
mov rcx, r15
call fcn.1400ad650
movups xmm0, xmmword [rsp + 0x88]
movdqu xmmword [rdi + r13 + 0x40], xmm0
lea r9, [rsp + 0x28]
mov r8d, 6
mov rdx, r12
mov rcx, r15
call fcn.1400ad520
mov qword [rsp + 0x50], rax
cmp dword [rsp + 0x28], 0x10
je 0x14009b861
mov rax, qword [rsp + 0x100]
mov eax, dword [rax + 0xc]
neg eax
sbb ecx, ecx
add ecx, 0x80780002
mov dword [rsp + 0x2c], ecx
lea rdx, [0x1401667c8]
lea rcx, [rsp + 0x2c]
call sub.msvcrt.dll__CxxThrowException
mov r9d, 7
mov r8, r12
lea rdx, [rsp + 0x44]
mov rcx, r15
call fcn.1400ad854
mov rax, qword [rsp + 0x44]
mov qword [rdi + r13 + 0x60], rax
mov r8d, 8
mov rdx, r12
mov rcx, r15
call fcn.1400ad8d0
mov dword [rdi + r13 + 0x68], eax
mov rax, qword [rsp + 0x50]
movups xmm0, xmmword [rax]
movdqu xmmword [rdi + r13 + 0x50], xmm0
mov r13d, dword [rsp + 0x108]
inc r13d
jmp 0x14009b69c
mov r12, qword [rsp + 0x110]
mov r13, qword [rsp + 0x118]
mov qword [r13], rdi
mov dword [r12], esi
jmp 0x14009b8de
mov rcx, qword [0x14016a048]
cmp rcx, r14
je 0x14009b90e
test byte [rcx + 0x1c], 2
je 0x14009b90e
cmp byte [rcx + 0x19], 4
jb 0x14009b90e
mov edx, 0x2d
mov r9d, ebx
lea r8, [0x14014f6e0]
mov rcx, qword [rcx + 0x10]
call fcn.14000c23c
mov eax, ebx
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret