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

Disassembly:
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x98
mov r13, qword [rdx + 0x88]
mov r15, rcx
movsxd r12, r8d
mov rbp, r12
xor esi, esi
mov rdi, rdx
mov dword [rsp + 0x20], esi
xor r14d, r14d
imul rbp, rbp, 0x15e8
add r13, rbp
mov qword [rsp + 0x50], rbp
mov eax, dword [r13 + 0x1a4]
mov qword [rsp + 0x88], r13
add eax, 1
movsxd rcx, eax
imul rcx, rcx, 0xf8
call fcn.1800c8c40
test rax, rax
mov rbx, rax
mov qword [rsp + 0x80], rax
je 0x18012243c
movzx eax, byte [rdi + 0x10]
xor r10d, r10d
mov dword [rsp + 0x2c], esi
mov byte [rbx], al
mov eax, dword [r13 + 0x1a4]
mov qword [rsp + 0x40], r10
add eax, 1
test eax, eax
jle 0x180122440
nop
nop
mov ecx, dword [rdi + 0x3c]
mov r8d, dword [r15]
mov eax, r12d
cdq
mov r12, r10
idiv dword [rdi + 0x50]
imul r12, r12, 0xf8
mov qword [rsp + 0x78], r12
mov r9d, eax
imul ecx, edx
add ecx, dword [rdi + 0x34]
cmp ecx, r8d
cmovg r8d, ecx
mov dword [r12 + rbx + 0xd8], r8d
mov eax, dword [rdi + 0x40]
mov ecx, dword [r15 + 4]
imul eax, r9d
add eax, dword [rdi + 0x38]
cmp eax, ecx
cmovg ecx, eax
lea eax, [rdx + 1]
mov dword [r12 + rbx + 0xdc], ecx
mov ecx, dword [r15 + 8]
imul eax, dword [rdi + 0x3c]
add eax, dword [rdi + 0x34]
cmp eax, ecx
cmovl ecx, eax
lea eax, [r9 + 1]
mov dword [r12 + rbx + 0xe0], ecx
mov ecx, dword [r15 + 0xc]
imul eax, dword [rdi + 0x40]
add eax, dword [rdi + 0x38]
cmp eax, ecx
cmovl ecx, eax
mov dword [r12 + rbx + 0xe4], ecx
mov eax, dword [r15 + 0x10]
mov dword [r12 + rbx + 0xc8], eax
movsxd rax, dword [r15 + 0x10]
lea rdi, [rax + rax*2]
shl rdi, 3
mov rcx, rdi
call fcn.1800c8c40
test rax, rax
mov qword [r12 + rbx + 0xd0], rax
je 0x18012239b
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.1801603e0
cmp dword [r12 + rbx + 0xc8], 0
mov dword [rsp + 0x28], 0
jle 0x180121fca
xor r8d, r8d
xor esi, esi
xor edi, edi
mov qword [rsp + 0x70], r8
mov qword [rsp + 0x38], rsi
nop
mov rax, qword [r15 + 0x18]
mov rdx, qword [r13 + 0x15e0]
mov rbp, qword [r12 + rbx + 0xd0]
mov ecx, dword [r8 + rax]
mov qword [rsp + 0x60], rdx
mov dword [rdi + rbp], ecx
mov rax, qword [r15 + 0x18]
mov ecx, dword [r8 + rax + 4]
mov dword [rdi + rbp + 4], ecx
movsxd rax, dword [rsi + rdx + 4]
mov rcx, rax
mov dword [rdi + rbp + 8], eax
shl rcx, 4
call fcn.1800c8c40
test rax, rax
mov qword [rdi + rbp + 0x10], rax
je 0x18012225e
mov r9d, dword [rdi + rbp]
mov r8d, dword [rdi + rbp + 4]
mov eax, dword [r12 + rbx + 0xd8]
mov ecx, dword [r12 + rbx + 0xdc]
lea eax, [rax + r9 - 1]
cdq
idiv r9d
mov r10d, eax
mov dword [rsp + 0x30], eax
lea eax, [rcx + r8 - 1]
mov ecx, dword [r12 + rbx + 0xe0]
cdq
idiv r8d
mov r15d, eax
mov dword [rsp + 0x6c], eax
lea eax, [r9 + rcx - 1]
mov ecx, dword [r12 + rbx + 0xe4]
cdq
idiv r9d
mov dword [rsp + 0x58], eax
lea eax, [rcx + r8 - 1]
mov ecx, dword [rdi + rbp + 8]
cdq
idiv r8d
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x20]
cmp ecx, eax
cmovg eax, ecx
xor r13d, r13d
test ecx, ecx
mov dword [rsp + 0x20], eax
jle 0x180121f7c
mov rbx, qword [rsp + 0x38]
mov r12, qword [rsp + 0x60]
xor r8d, r8d
lea r11, [rbx + r12 + 0x3b0]
test byte [rbx + r12], 1
mov r9, qword [rdi + rbp + 0x10]
je 0x180121e84
mov eax, dword [r11 - 0x84]
mov dword [r8 + r9], eax
mov eax, dword [r11]
mov dword [r8 + r9 + 4], eax
jmp 0x180121e95
mov dword [r8 + r9], reloc.OLEAUT32.dll_SafeArrayDestroy
mov dword [r8 + r9 + 4], reloc.OLEAUT32.dll_SafeArrayDestroy
mov ecx, dword [rdi + rbp + 8]
mov edx, dword [rsp + 0x58]
mov eax, 1
sub ecx, r13d
sub ecx, 1
shl eax, cl
lea edx, [rax + rdx - 1]
lea esi, [rax + r10 - 1]
mov r10d, dword [r8 + r9]
sar edx, cl
lea r15d, [rax + r15 - 1]
sar esi, cl
mov dword [rsp + 0x24], edx
mov edx, dword [rsp + 0x68]
sar r15d, cl
lea edx, [rax + rdx - 1]
mov eax, r15d
sar edx, cl
mov ecx, dword [r8 + r9 + 4]
sar eax, cl
mov dword [rsp + 0x48], edx
shl eax, cl
mov dword [rsp + 0x60], eax
mov eax, 1
shl eax, cl
lea edx, [rax + rdx - 1]
sar edx, cl
shl edx, cl
cmp esi, dword [rsp + 0x24]
jne 0x180121efe
xor eax, eax
jmp 0x180121f24
mov ecx, r10d
mov eax, 1
shl eax, cl
mov ecx, dword [rsp + 0x24]
lea eax, [rax + rcx - 1]
mov ecx, r10d
sar eax, cl
sar esi, cl
shl eax, cl
shl esi, cl
sub eax, esi
sar eax, cl
mov ecx, dword [r8 + r9 + 4]
cmp r15d, dword [rsp + 0x48]
mov dword [r8 + r9 + 8], eax
jne 0x180121f34
xor edx, edx
jmp 0x180121f3a
sub edx, dword [rsp + 0x60]
sar edx, cl
mov r10d, dword [rsp + 0x30]
mov r15d, dword [rsp + 0x6c]
mov dword [r8 + r9 + 0xc], edx
imul edx, eax
cmp edx, r14d
cmovg r14d, edx
add r13d, 1
add r11, 4
add r8, 0x10
cmp r13d, dword [rdi + rbp + 8]
jl 0x180121e63
mov rbx, qword [rsp + 0x80]
mov r12, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x38]
mov r13d, dword [rsp + 0x28]
mov r8, qword [rsp + 0x70]
mov r15, qword [rsp + 0xe0]
add r13d, 1
add rsi, 0x434
add r8, 0x38
add rdi, 0x18
cmp r13d, dword [r12 + rbx + 0xc8]
mov dword [rsp + 0x28], r13d
mov r13, qword [rsp + 0x88]
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x70], r8
jl 0x180121d80
mov esi, dword [rsp + 0x20]
mov dword [r12 + rbx + 0x1c], 1
mov dword [r12 + rbx + 0x18], r14d
mov eax, dword [r15 + 0x10]
xor ebp, ebp
imul eax, r14d
mov dword [r12 + rbx + 0x14], eax
imul eax, esi
mov dword [r12 + rbx + 0x10], eax
cmp dword [rbx + 0xc8], ebp
jle 0x1801220b4
xor r11d, r11d
nop
mov rdi, qword [rbx + 0xd0]
xor r10d, r10d
cmp dword [r11 + rdi + 8], r10d
jle 0x18012209d
xor esi, esi
nop
nop
nop
mov rdx, qword [r11 + rdi + 0x10]
mov r8d, dword [r11 + rdi + 8]
mov r9d, 1
mov eax, dword [rsi + rdx]
mov ecx, r8d
sub ecx, r10d
lea ecx, [rcx + rax - 1]
mov eax, dword [rsi + rdx + 4]
sub eax, r10d
shl r9d, cl
lea ecx, [rax + r8 - 1]
mov eax, 1
shl eax, cl
mov ecx, dword [rbx + 0xf0]
imul r9d, dword [r11 + rdi]
imul eax, dword [r11 + rdi + 4]
test ecx, ecx
je 0x18012206f
cmp ecx, r9d
cmovl r9d, ecx
mov dword [r12 + rbx + 0xf0], r9d
mov ecx, dword [rbx + 0xf4]
test ecx, ecx
je 0x180122086
cmp ecx, eax
cmovl eax, ecx
add r10d, 1
mov dword [r12 + rbx + 0xf4], eax
add rsi, 0x10
cmp r10d, dword [r11 + rdi + 8]
jl 0x180122020
add ebp, 1
add r11, 0x18
cmp ebp, dword [rbx + 0xc8]
jl 0x180122000
mov esi, dword [rsp + 0x20]
mov r10, qword [rsp + 0x40]
test r10, r10
jne 0x1801220e5
mov eax, dword [r13 + 0xc]
imul eax, dword [rbx + 0x10]
movsxd rcx, eax
add rcx, rcx
call fcn.1800c8c40
test rax, rax
mov qword [rbx + 8], rax
je 0x1801222fb
mov r10, qword [rsp + 0x40]
jmp 0x1801220f2
mov rax, qword [r12 + rbx - 0xf0]
mov qword [r12 + rbx + 8], rax
xor r9d, r9d
cmp dword [rsp + 0xf8], 1
mov rdx, r10
mov eax, r9d
sete al
imul rdx, rdx, 0x94
add rdx, r13
test dword [r13 + 0x1a8], eax
je 0x180122188
mov eax, dword [rdx + 0x1b0]
mov r8d, dword [rdx + 0x1b4]
mov dword [rdx + 0x1f8], eax
lea rax, [r10 + 3]
mov dword [rdx + 0x200], r8d
imul rax, rax, 0x94
test r10, r10
mov eax, dword [rax + r13]
mov dword [rdx + 0x208], eax
mov eax, dword [rdx + 0x1ac]
mov dword [rdx + 0x1f4], eax
mov eax, dword [rdx + 0x1b8]
mov dword [rdx + 0x204], eax
mov eax, dword [rdx + 0x1cc]
mov dword [rdx + 0x1d0], eax
jle 0x1801221c1
mov eax, dword [rdx + 0x16c]
mov ecx, r9d
cmp r8d, eax
cmovg ecx, eax
mov dword [rdx + 0x1f0], ecx
jmp 0x1801221c1
mov dword [rdx + 0x1f8], r9d
mov eax, dword [r15 + 0x10]
mov dword [rdx + 0x1f4], r9d
mov dword [rdx + 0x204], esi
mov dword [rdx + 0x1f0], r9d
mov dword [rdx + 0x208], eax
mov eax, dword [r13 + 0xc]
mov dword [rdx + 0x200], eax
mov eax, dword [r13 + 8]
mov dword [rdx + 0x1d0], eax
mov ebp, dword [rsp + 0x2c]
mov dword [rdx + 0x1fc], r9d
mov dword [rdx + 0x20c], r14d
mov eax, dword [r12 + rbx + 0xd8]
add ebp, 1
add r10, 1
mov dword [rdx + 0x210], eax
mov eax, dword [r12 + rbx + 0xe0]
mov dword [rsp + 0x2c], ebp
mov dword [rdx + 0x214], eax
mov eax, dword [r12 + rbx + 0xdc]
mov qword [rsp + 0x40], r10
mov dword [rdx + 0x218], eax
mov eax, dword [r12 + rbx + 0xe4]
mov dword [rdx + 0x21c], eax
mov eax, dword [r12 + rbx + 0xf0]
mov dword [rdx + 0x220], eax
mov eax, dword [r12 + rbx + 0xf4]
mov dword [rdx + 0x224], eax
mov eax, dword [r13 + 0x1a4]
add eax, 1
cmp ebp, eax
jge 0x180122440
mov rdi, qword [rsp + 0xe8]
mov r12d, dword [rsp + 0xf0]
jmp 0x180121c90
mov r13, qword [rsp + 0xe8]
mov r14, qword [rsp + 0x50]
xor r12d, r12d
mov r13, qword [r13 + 0x88]
mov eax, dword [r14 + r13 + 0x1a4]
add eax, 1
test eax, eax
jle 0x180122426
lea rbp, [rbx + 0xd0]
nop
cmp qword [rbp], 0
je 0x1801222db
xor edi, edi
cmp dword [rbx + 0xc8], edi
jle 0x1801222d2
xor esi, esi
nop
nop
nop
nop
mov rax, qword [rbp]
mov rcx, qword [rsi + rax + 0x10]
test rcx, rcx
je 0x1801222c3
call fcn.180079290
add edi, 1
add rsi, 0x18
cmp edi, dword [rbx + 0xc8]
jl 0x1801222b0
mov rcx, qword [rbp]
call fcn.180079290
mov eax, dword [r14 + r13 + 0x1a4]
add r12d, 1
add rbp, 0xf8
add eax, 1
cmp r12d, eax
jl 0x180122290
jmp 0x180122426
mov r13, qword [rsp + 0xe8]
mov r14, qword [rsp + 0x50]
xor r12d, r12d
mov r13, qword [r13 + 0x88]
mov eax, dword [r14 + r13 + 0x1a4]
add eax, 1
test eax, eax
jle 0x180122426
lea rbp, [rbx + 0xd0]
nop
cmp qword [rbp], 0
je 0x18012237b
xor edi, edi
cmp dword [rbx + 0xc8], edi
jle 0x180122372
xor esi, esi
nop
nop
nop
nop
mov rax, qword [rbp]
mov rcx, qword [rsi + rax + 0x10]
test rcx, rcx
je 0x180122363
call fcn.180079290
add edi, 1
add rsi, 0x18
cmp edi, dword [rbx + 0xc8]
jl 0x180122350
mov rcx, qword [rbp]
call fcn.180079290
mov eax, dword [r14 + r13 + 0x1a4]
add r12d, 1
add rbp, 0xf8
add eax, 1
cmp r12d, eax
jl 0x180122330
jmp 0x180122426
mov r13, qword [rsp + 0xe8]
mov r14, qword [rsp + 0x50]
xor r12d, r12d
mov r13, qword [r13 + 0x88]
mov eax, dword [r14 + r13 + 0x1a4]
add eax, 1
test eax, eax
jle 0x180122426
lea rbp, [rbx + 0xd0]
cmp qword [rbp], 0
je 0x18012240b
xor edi, edi
cmp dword [rbx + 0xc8], edi
jle 0x180122402
xor esi, esi
nop
nop
mov rax, qword [rbp]
mov rcx, qword [rsi + rax + 0x10]
test rcx, rcx
je 0x1801223f3
call fcn.180079290
add edi, 1
add rsi, 0x18
cmp edi, dword [rbx + 0xc8]
jl 0x1801223e0
mov rcx, qword [rbp]
call fcn.180079290
mov eax, dword [r14 + r13 + 0x1a4]
add r12d, 1
add rbp, 0xf8
add eax, 1
cmp r12d, eax
jl 0x1801223c8
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x180122434
call fcn.180079290
mov rcx, rbx
call fcn.180079290
xor eax, eax
jmp 0x180122443
mov rax, rbx
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret