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

Disassembly:
push rbx
sub rsp, 0x60
mov rax, qword [rcx + 0x20]
mov qword [rsp + 0x50], rdi
mov rdi, rcx
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0x30], r15
mov r15d, edx
test rcx, rcx
je 0x140110f19
call qword [0x1404b4120]
mov rcx, qword [rdi + 0x28]
cmp byte [rcx + 0x11], 0
je 0x140110f31
inc dword [rcx + 0x14]
cmp byte [rcx + 0x12], 0
jne 0x140110f31
call fcn.140132290
mov rax, qword [rdi]
test rax, rax
je 0x140110f48
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x140110f48
call qword [0x1404b4120]
mov ebx, dword [rdi + 0x30]
test ebx, ebx
je 0x140110f5b
lea eax, [rbx - 5]
cmp eax, 1
ja 0x140111604
cmp qword [rdi], 0
mov r9, qword [rdi + 0x28]
mov qword [rsp + 0x78], rbp
mov rdx, qword [r9 + 8]
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x48], r12
mov rax, qword [rdx]
mov qword [rsp + 0x40], r13
mov dword [rsp + 0x88], 0
mov qword [rsp + 0x28], rax
mov rax, qword [rdi + 8]
mov qword [rsp + 0x38], r14
mov rcx, qword [rax + 8]
mov r13, qword [rcx]
je 0x140110fad
cmp byte [rdx + 0x24], 2
jne 0x140110fad
mov ebx, 5
jmp 0x140110fd7
xor ebx, ebx
test r9, r9
je 0x140110fbd
movzx eax, byte [r9 + 0x10]
test eax, eax
jne 0x140110fd7
xor r8d, r8d
xor edx, edx
mov rcx, r9
call fcn.14017d760
mov dword [rsp + 0x88], 1
mov ebx, eax
cmp dword [rdi + 0x14], 0
mov esi, 7
jne 0x140111008
test ebx, ebx
jne 0x140111031
mov rax, qword [rdi + 0x28]
xor r9d, r9d
xor r8d, r8d
mov rcx, qword [rax + 8]
mov edx, dword [rcx + 0x34]
mov rcx, qword [rdi + 8]
call fcn.140181060
cmp eax, esi
jne 0x14011100c
mov ebx, esi
jmp 0x140111031
test ebx, ebx
jne 0x140111031
cmp dword [rdi + 0x14], 0
jne 0x140111031
mov rcx, qword [rdi + 8]
lea r8, [rdi + 0x10]
mov edx, 2
call fcn.14017d760
mov ebx, eax
test eax, eax
jne 0x140111031
mov dword [rdi + 0x14], 1
mov rax, qword [rdi + 0x28]
mov rcx, qword [rax + 8]
mov rax, qword [rdi + 8]
mov rax, qword [rax + 8]
mov edx, dword [rcx + 0x34]
mov r8d, dword [rax + 0x34]
mov rax, qword [rax]
mov dword [rsp + 0x70], edx
movzx r12d, byte [rax + 9]
mov dword [rsp + 0x80], r8d
test ebx, ebx
jne 0x140111071
cmp r12d, 5
jne 0x140111071
mov eax, 8
cmp edx, r8d
cmovne ebx, eax
mov r14d, dword [rcx + 0x40]
xor ebp, ebp
test r15d, r15d
js 0x140111081
cmp ebp, r15d
jge 0x1401110f2
mov esi, dword [rdi + 0x18]
cmp esi, r14d
ja 0x1401110f2
test ebx, ebx
jne 0x140111137
mov rax, qword [rdi + 0x28]
xor edx, edx
mov rcx, qword [rax + 8]
mov eax, dword [0x1404b3fd4]
div dword [rcx + 0x34]
inc eax
cmp esi, eax
je 0x1401110eb
mov rax, qword [rsp + 0x28]
lea r9d, [rbx + 2]
lea r8, [rsp + 0x20]
mov rcx, rax
mov edx, esi
call qword [rax + 0x108]
mov ebx, eax
test eax, eax
jne 0x1401110eb
mov rax, qword [rsp + 0x20]
xor r9d, r9d
mov edx, esi
mov r8, qword [rax + 8]
mov rcx, rdi
call fcn.14012edf0
mov rcx, qword [rsp + 0x20]
mov ebx, eax
call fcn.1401a7900
inc dword [rdi + 0x18]
inc ebp
jmp 0x140111077
test ebx, ebx
jne 0x140111137
mov eax, r14d
mov dword [rdi + 0x38], r14d
sub eax, dword [rdi + 0x18]
inc eax
mov dword [rdi + 0x34], eax
cmp dword [rdi + 0x18], r14d
ja 0x140111140
cmp dword [rdi + 0x3c], ebx
jne 0x14011155a
mov rax, qword [rdi + 0x28]
mov rcx, qword [rax + 8]
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x70]
mov qword [rdi + 0x40], rax
mov qword [rdx + 0x70], rdi
mov dword [rdi + 0x3c], 1
jmp 0x14011155a
cmp ebx, 0x65
jne 0x14011155a
test r14d, r14d
jne 0x140111198
mov rsi, qword [rdi + 8]
cmp byte [rsi + 0x11], r14b
je 0x140111160
inc dword [rsi + 0x14]
cmp byte [rsi + 0x12], r14b
jne 0x140111160
mov rcx, rsi
call fcn.140132290
mov rax, qword [rsi + 8]
mov dword [rax + 0x40], 0
mov rcx, qword [rsi + 8]
call fcn.140166b70
cmp byte [rsi + 0x11], 0
mov ebx, eax
je 0x140111189
dec dword [rsi + 0x14]
jne 0x140111189
mov rcx, rsi
call fcn.1401d9bd0
mov r14d, 1
test ebx, ebx
je 0x140111198
cmp ebx, 0x65
jne 0x1401111ec
mov rsi, qword [rdi + 8]
mov ebp, dword [rdi + 0x10]
mov rbx, qword [rsi + 8]
inc ebp
cmp byte [rsi + 0x11], 0
je 0x1401111bc
inc dword [rsi + 0x14]
cmp byte [rsi + 0x12], 0
jne 0x1401111bc
mov rcx, rsi
call fcn.140132290
mov rcx, qword [rbx + 0x18]
mov r15, qword [rcx + 0x50]
mov rcx, qword [rcx + 0x70]
call fcn.1401a7a40
mov ebx, eax
test eax, eax
jne 0x1401111d9
bswap ebp
mov dword [r15 + 0x28], ebp
cmp byte [rsi + 0x11], 0
je 0x1401111ec
dec dword [rsi + 0x14]
jne 0x1401111ec
mov rcx, rsi
call fcn.1401d9bd0
test ebx, ebx
jne 0x14011155a
mov rcx, qword [rdi]
test rcx, rcx
je 0x140111201
call fcn.1401aec20
cmp r12d, 5
jne 0x14011121f
mov rcx, qword [rdi + 8]
lea edx, [r12 - 3]
call fcn.140181270
mov ebx, eax
test eax, eax
jne 0x14011155a
mov ebp, dword [rsp + 0x80]
movsxd r8, dword [rsp + 0x70]
cmp r8d, ebp
jge 0x14011125f
mov eax, ebp
cdq
idiv r8d
mov ecx, eax
dec eax
add eax, r14d
cdq
idiv ecx
xor edx, edx
mov esi, eax
mov rax, qword [rdi + 8]
mov rcx, qword [rax + 8]
mov eax, dword [0x1404b3fd4]
div dword [rcx + 0x34]
inc eax
cmp esi, eax
jne 0x14011126b
dec esi
jmp 0x14011126b
mov eax, r8d
cdq
idiv ebp
mov esi, eax
imul esi, r14d
cmp r8d, ebp
jge 0x1401114bb
mov ebp, dword [r13 + 0x20]
movsxd r12, r14d
mov r14, qword [r13 + 0x48]
imul r12, r8
mov r15, r8
cmp esi, ebp
ja 0x140111331
mov rax, qword [rdi + 8]
xor edx, edx
mov rcx, qword [rax + 8]
mov eax, dword [0x1404b3fd4]
div dword [rcx + 0x34]
inc eax
cmp esi, eax
je 0x140111325
lea r8, [rsp + 0x20]
xor r9d, r9d
mov edx, esi
mov rcx, r13
call qword [r13 + 0x108]
mov ebx, eax
test eax, eax
jne 0x140111325
mov rcx, qword [rsp + 0x20]
call fcn.1401a7a40
mov r8, qword [rsp + 0x20]
mov ebx, eax
test r8, r8
je 0x140111325
test byte [r8 + 0x34], 0x20
je 0x14011131d
mov r10, qword [r8 + 0x28]
dec dword [r10 + 0x98]
mov rax, qword [r10 + 0xa8]
mov qword [r8 + 0x20], rax
mov rcx, qword [r10 + 0x48]
mov qword [r10 + 0xa8], r8
mov edx, dword [r8 + 0x30]
mov r9, qword [rcx]
mov r8, qword [r8 + 8]
dec edx
imul rdx, qword [r10 + 0xc0]
call qword [r9 + 0x90]
jmp 0x140111325
mov rcx, r8
call fcn.1401a8da0
inc esi
test ebx, ebx
je 0x140111286
jmp 0x140111345
test ebx, ebx
jne 0x140111345
lea r8d, [rbx + 1]
xor edx, edx
mov rcx, r13
call fcn.1401a5f10
mov ebx, eax
mov eax, dword [rsp + 0x80]
mov rbp, r12
add eax, dword [0x1404b3fd4]
movsxd rcx, eax
mov eax, dword [rsp + 0x70]
cmp rcx, r12
cmovl rbp, rcx
add eax, dword [0x1404b3fd4]
movsxd rsi, eax
test ebx, ebx
jne 0x14011155a
cmp rsi, rbp
jge 0x14011143e
mov rax, rsi
lea r8, [rsp + 0x80]
xor r9d, r9d
cqo
mov qword [rsp + 0x80], 0
idiv r15
lea edx, [rax + 1]
mov rax, qword [rsp + 0x28]
mov rcx, rax
call qword [rax + 0x108]
mov ebx, eax
test eax, eax
jne 0x1401113d3
mov rax, qword [rsp + 0x80]
mov r10, qword [r14]
mov r8d, dword [rsp + 0x70]
mov rdx, qword [rax + 8]
mov r9, rsi
mov rcx, r14
call qword [r10 + SafeArrayPutElement]
mov ebx, eax
mov r8, qword [rsp + 0x80]
test r8, r8
je 0x14011142e
test byte [r8 + 0x34], 0x20
je 0x140111426
mov r10, qword [r8 + 0x28]
dec dword [r10 + 0x98]
mov rax, qword [r10 + 0xa8]
mov qword [r8 + 0x20], rax
mov rcx, qword [r10 + 0x48]
mov qword [r10 + 0xa8], r8
mov edx, dword [r8 + 0x30]
mov r9, qword [rcx]
mov r8, qword [r8 + 8]
dec edx
imul rdx, qword [r10 + 0xc0]
call qword [r9 + 0x90]
jmp 0x14011142e
mov rcx, r8
call fcn.1401a8da0
add rsi, r15
test ebx, ebx
je 0x140111374
jmp 0x14011155a
test ebx, ebx
jne 0x14011155a
mov rax, qword [r14]
lea rdx, [rsp + 0x70]
mov rcx, r14
call qword [rax + 0x30]
mov ebx, eax
test eax, eax
jne 0x14011146f
cmp qword [rsp + 0x70], r12
jle 0x14011146f
mov rax, qword [r14]
mov rdx, r12
mov rcx, r14
call qword [rax + 0x20]
mov ebx, eax
test ebx, ebx
jne 0x14011155a
mov rcx, qword [r13 + 0x48]
mov rax, qword [rcx]
test rax, rax
je 0x140111499
lea edx, [rbx + 0x15]
xor r8d, r8d
call qword [rax + 0x50]
mov ebx, eax
cmp eax, 0xc
je 0x140111499
test eax, eax
jne 0x1401114ce
jmp 0x14011149b
xor ebx, ebx
cmp byte [r13 + 0xb], 0
jne 0x1401114ce
movzx edx, byte [r13 + 0xe]
mov rcx, qword [r13 + 0x48]
test edx, edx
je 0x1401114b7
mov rax, qword [rcx]
call qword [rax + 0x28]
jmp 0x1401114cc
xor ebx, ebx
jmp 0x1401114ce
xor r8d, r8d
xor edx, edx
mov rcx, r13
mov dword [r13 + 0x20], esi
call fcn.1401a5f10
mov ebx, eax
test ebx, ebx
jne 0x14011155a
mov rsi, qword [rdi + 8]
cmp byte [rsi + 0x10], bl
je 0x140111555
cmp byte [rsi + 0x11], bl
je 0x1401114f4
inc dword [rsi + 0x14]
cmp byte [rsi + 0x12], bl
jne 0x1401114f4
mov rcx, rsi
call fcn.140132290
cmp byte [rsi + 0x10], 2
jne 0x14011153a
mov r14, qword [rsi + 8]
mov rcx, qword [r14]
call fcn.1401a60f0
mov ebx, eax
test eax, eax
je 0x140111521
cmp byte [rsi + 0x11], 0
je 0x14011155a
dec dword [rsi + 0x14]
jne 0x14011155a
mov rcx, rsi
call fcn.1401d9bd0
jmp 0x14011155a
dec dword [rsi + 0x1c]
mov rcx, qword [r14 + 0x60]
mov byte [r14 + 0x24], 1
call fcn.14017d170
mov qword [r14 + 0x60], 0
mov rcx, rsi
call fcn.140131d10
cmp byte [rsi + 0x11], 0
je 0x140111555
dec dword [rsi + 0x14]
jne 0x140111555
mov rcx, rsi
call fcn.1401d9bd0
mov ebx, 0x65
cmp dword [rsp + 0x88], 0
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x78]
je 0x1401115e9
mov rcx, qword [rdi + 0x28]
xor edx, edx
call fcn.14017dec0
mov rsi, qword [rdi + 0x28]
cmp byte [rsi + 0x10], 0
je 0x1401115e9
cmp byte [rsi + 0x11], 0
je 0x14011159f
inc dword [rsi + 0x14]
cmp byte [rsi + 0x12], 0
jne 0x14011159f
mov rcx, rsi
call fcn.140132290
cmp byte [rsi + 0x10], 2
jne 0x1401115ce
mov r14, qword [rsi + 8]
mov rcx, qword [r14]
call fcn.1401a60f0
test eax, eax
jne 0x1401115d6
dec dword [rsi + 0x1c]
mov rcx, qword [r14 + 0x60]
mov byte [r14 + 0x24], 1
call fcn.14017d170
mov qword [r14 + 0x60], 0
mov rcx, rsi
call fcn.140131d10
cmp byte [rsi + 0x11], 0
je 0x1401115e9
dec dword [rsi + 0x14]
jne 0x1401115e9
mov rcx, rsi
call fcn.1401d9bd0
mov r14, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x58]
cmp ebx, 0xc0a
mov eax, 7
cmove ebx, eax
mov dword [rdi + 0x30], ebx
mov rax, qword [rdi]
mov r15, qword [rsp + 0x30]
test rax, rax
je 0x140111620
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x140111620
call qword [0x1404b4130]
mov rcx, qword [rdi + 0x28]
cmp byte [rcx + 0x11], 0
je 0x140111634
dec dword [rcx + 0x14]
jne 0x140111634
call fcn.1401d9bd0
mov rcx, qword [rdi + 0x20]
mov rdi, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x18]
test rcx, rcx
je 0x14011164c
call qword [0x1404b4130]
mov eax, ebx
add rsp, 0x60
pop rbx
ret