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

Disassembly:
push rbx
sub rsp, 0x70
mov rax, qword [rcx + 0x20]
mov qword [rsp + 0x68], rsi
mov rsi, rcx
mov qword [rsp + 0x58], r12
mov r12d, edx
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x14010f429
call qword [0x14033a5d8]
mov rcx, qword [rsi + 0x28]
cmp byte [rcx + 0x11], 0
je 0x14010f441
inc dword [rcx + 0x14]
cmp byte [rcx + 0x12], 0
jne 0x14010f441
call fcn.140119390
mov rdx, qword [rsi]
test rdx, rdx
je 0x14010f45b
mov rcx, qword [rdx + 0x18]
test rcx, rcx
je 0x14010f45b
call qword [0x14033a5d8]
mov rdx, qword [rsi]
mov ebx, dword [rsi + 0x30]
test ebx, ebx
je 0x14010f46e
lea eax, [rbx - 5]
cmp eax, 1
ja 0x14010fa14
mov rcx, qword [rsi + 0x28]
mov r9, qword [rsi + 8]
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x50], r13
mov r8, qword [rcx + 8]
mov rax, qword [r9 + 8]
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r15
mov rdi, qword [r8]
mov r10, qword [rax]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], r10
mov dword [rsp + 0x98], 0
test rdx, rdx
je 0x14010f4c0
cmp byte [r8 + 0x24], 2
jne 0x14010f4c0
mov ebx, 5
jmp 0x14010f50d
xor ebx, ebx
cmp dword [rsi + 0x14], ebx
jne 0x14010f4f3
lea edx, [rbx + 2]
mov rcx, r9
call fcn.14013b910
mov ebx, eax
test eax, eax
jne 0x14010f50d
mov rcx, qword [rsi + 8]
lea r8, [rsi + 0x10]
lea edx, [rax + 1]
mov dword [rsi + 0x14], 1
call fcn.14013cb30
mov rcx, qword [rsi + 0x28]
cmp byte [rcx + 0x10], 0
jne 0x14010f50d
xor edx, edx
call fcn.14013b910
mov ebx, eax
mov dword [rsp + 0x98], 1
mov rax, qword [rsi + 0x28]
mov rcx, qword [rax + 8]
mov rax, qword [rsi + 8]
mov r8d, dword [rcx + 0x30]
mov rax, qword [rax + 8]
mov dword [rsp + 0x80], r8d
mov edx, dword [rax + 0x30]
mov rax, qword [rax]
mov dword [rsp + 0x90], edx
movzx r13d, byte [rax + 9]
test ebx, ebx
jne 0x14010f550
cmp r13b, 5
jne 0x14010f550
cmp r8d, edx
mov eax, 8
cmovne ebx, eax
mov r15d, dword [rcx + 0x3c]
xor r14d, r14d
mov qword [rsp + 0x88], rbp
nop
test r12d, r12d
js 0x14010f56a
cmp r14d, r12d
jge 0x14010f5d9
mov ebp, dword [rsi + 0x18]
cmp ebp, r15d
ja 0x14010f5d9
test ebx, ebx
jne 0x14010f61e
mov rax, qword [rsi + 0x28]
xor edx, edx
mov rcx, qword [rax + 8]
mov eax, dword [0x14033a700]
div dword [rcx + 0x30]
inc eax
cmp ebp, eax
je 0x14010f5d1
lea r9d, [rbx + 2]
mov edx, ebp
lea r8, [rsp + 0x30]
mov rcx, rdi
call fcn.140153e20
mov ebx, eax
test eax, eax
jne 0x14010f5d1
mov rdi, qword [rsp + 0x30]
xor r9d, r9d
mov edx, ebp
mov rcx, rsi
mov r8, qword [rdi + 8]
call fcn.140116440
mov rcx, rdi
mov ebx, eax
call fcn.140155c40
mov rdi, qword [rsp + 0x28]
inc dword [rsi + 0x18]
inc r14d
jmp 0x14010f560
test ebx, ebx
jne 0x14010f61e
mov eax, r15d
mov dword [rsi + 0x38], r15d
sub eax, dword [rsi + 0x18]
inc eax
mov dword [rsi + 0x34], eax
cmp dword [rsi + 0x18], r15d
ja 0x14010f627
cmp dword [rsi + 0x3c], ebx
jne 0x14010f9c4
mov rax, qword [rsi + 0x28]
mov rcx, qword [rax + 8]
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x70]
mov qword [rsi + 0x40], rax
mov qword [rdx + 0x70], rsi
mov dword [rsi + 0x3c], 1
jmp 0x14010f9c4
cmp ebx, 0x65
jne 0x14010f9c4
test r15d, r15d
jne 0x14010f680
mov rdi, qword [rsi + 8]
cmp byte [rdi + 0x11], r15b
je 0x14010f647
inc dword [rdi + 0x14]
cmp byte [rdi + 0x12], r15b
jne 0x14010f647
mov rcx, rdi
call fcn.140119390
mov rax, qword [rdi + 8]
mov dword [rax + 0x3c], 0
mov rcx, qword [rdi + 8]
call fcn.14012c6a0
cmp byte [rdi + 0x11], 0
mov ebx, eax
je 0x14010f671
sub dword [rdi + 0x14], 1
jne 0x14010f671
mov rcx, rdi
call fcn.14017a660
mov r15d, 1
test ebx, ebx
je 0x14010f680
cmp ebx, 0x65
jne 0x14010f697
mov r8d, dword [rsi + 0x10]
mov edx, 1
mov rcx, qword [rsi + 8]
inc r8d
call fcn.14013ea70
mov ebx, eax
test ebx, ebx
jne 0x14010f9c4
mov rcx, qword [rsi]
test rcx, rcx
je 0x14010f6ac
call fcn.14015cdf0
cmp r13b, 5
jne 0x14010f6ca
mov rcx, qword [rsi + 8]
mov edx, 2
call fcn.14013e780
mov ebx, eax
test eax, eax
jne 0x14010f9c4
movsxd rdi, dword [rsp + 0x80]
mov r10d, dword [rsp + 0x90]
cmp edi, r10d
jge 0x14010f714
mov eax, r10d
cdq
idiv edi
mov ecx, eax
dec eax
add eax, r15d
cdq
idiv ecx
xor edx, edx
mov r8d, eax
mov rax, qword [rsi + 8]
mov rcx, qword [rax + 8]
lea ebp, [r8 - 1]
mov eax, dword [0x14033a700]
div dword [rcx + 0x30]
inc eax
cmp r8d, eax
cmovne ebp, r8d
jmp 0x14010f720
mov eax, edi
cdq
idiv r10d
mov ebp, eax
imul ebp, r15d
cmp edi, r10d
jge 0x14010f992
mov r10, qword [rsp + 0x20]
mov r13, rdi
movsxd rdi, r15d
imul rdi, r13
mov r12, qword [r10 + 0x48]
mov r14d, dword [r10 + 0x1c]
mov qword [rsp + 0x30], rdi
cmp ebp, r14d
ja 0x14010f7e4
mov rax, qword [rsi + 8]
xor edx, edx
mov rcx, qword [rax + 8]
mov eax, dword [0x14033a700]
div dword [rcx + 0x30]
inc eax
cmp ebp, eax
je 0x14010f7d8
xor r9d, r9d
lea r8, [rsp + 0x38]
mov edx, ebp
mov rcx, r10
call fcn.140153e20
mov ebx, eax
test eax, eax
jne 0x14010f7d3
mov rdi, qword [rsp + 0x38]
test byte [rdi + 0x2c], 4
mov rcx, qword [rdi + 0x20]
je 0x14010f7ac
mov eax, dword [rdi + 0x28]
cmp dword [rcx + 0x1c], eax
jb 0x14010f7ac
cmp dword [rcx + 0x80], ebx
je 0x14010f7a8
mov rcx, rdi
call fcn.140179d60
jmp 0x14010f7c9
xor ebx, ebx
jmp 0x14010f7cb
mov eax, dword [rcx + 0xbc]
cmp dword [rcx + 0xb8], eax
mov rcx, rdi
jbe 0x14010f7c4
call fcn.14012e3b0
jmp 0x14010f7c9
call fcn.14012f640
mov ebx, eax
mov rcx, rdi
call fcn.140155c40
mov r10, qword [rsp + 0x20]
inc ebp
test ebx, ebx
je 0x14010f745
jmp 0x14010f7f8
test ebx, ebx
jne 0x14010f7f8
xor edx, edx
lea r8d, [rbx + 1]
mov rcx, r10
call fcn.140154690
mov ebx, eax
mov ecx, dword [0x14033a700]
mov eax, dword [rsp + 0x90]
mov ebp, dword [rsp + 0x80]
add eax, ecx
movsxd r15, eax
cmp r15, qword [rsp + 0x30]
cmovge r15, qword [rsp + 0x30]
lea eax, [rcx + rbp]
movsxd r14, eax
test ebx, ebx
jne 0x14010f9c4
nop word [rax + rax]
cmp r14, r15
jge 0x14010f911
mov rcx, qword [rsp + 0x28]
lea r8, [rsp + 0x90]
mov rax, r14
mov qword [rsp + 0x90], 0
cqo
xor r9d, r9d
idiv r13
lea edx, [rax + 1]
call fcn.140153e20
mov rdi, qword [rsp + 0x90]
mov ebx, eax
test eax, eax
jne 0x14010f889
mov rax, qword [r12]
mov r9, r14
mov rdx, qword [rdi + 8]
mov r8d, ebp
mov rcx, r12
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
mov ebx, eax
test rdi, rdi
je 0x14010f901
test byte [rdi + 0x2c], 0x40
mov rbp, qword [rdi + 0x20]
je 0x14010f8d4
dec dword [rbp + 0x98]
mov rax, qword [rbp + 0xa8]
mov qword [rdi + 0x18], rax
movsxd rax, dword [rbp + 0xbc]
mov rcx, qword [rbp + 0x48]
mov qword [rbp + 0xa8], rdi
mov edx, dword [rdi + 0x28]
mov r8, qword [rdi + 8]
dec edx
mov r9, qword [rcx]
imul rdx, rax
call qword [r9 + SysAllocStringByteLen]
jmp 0x14010f8dc
mov rcx, rdi
call fcn.140156a30
cmp dword [rbp + 0x98], 0
jne 0x14010f8fa
mov rax, qword [rbp + 0x110]
cmp dword [rax + 0x18], 0
jne 0x14010f8fa
mov rcx, rbp
call fcn.14012e200
mov ebp, dword [rsp + 0x80]
add r14, r13
test ebx, ebx
je 0x14010f830
jmp 0x14010f9c4
test ebx, ebx
jne 0x14010f9c4
mov rax, qword [r12]
lea rdx, [rsp + 0x80]
mov rcx, r12
call qword [rax + 0x30]
mov ebx, eax
test eax, eax
jne 0x14010f94f
mov rdi, qword [rsp + 0x30]
cmp qword [rsp + 0x80], rdi
jle 0x14010f94f
mov rax, qword [r12]
mov rdx, rdi
mov rcx, r12
call qword [rax + 0x20]
mov ebx, eax
test ebx, ebx
jne 0x14010f9c4
mov rdi, qword [rsp + 0x20]
mov rcx, qword [rdi + 0x48]
mov rax, qword [rcx]
test rax, rax
je 0x14010f97c
xor r8d, r8d
lea edx, [rbx + 0x15]
call qword [rax + 0x50]
mov ebx, eax
cmp eax, 0xc
jne 0x14010f978
xor ebx, ebx
jmp 0x14010f97c
test eax, eax
jne 0x14010f9a9
cmp byte [rdi + 0xb], 0
jne 0x14010f9a9
mov rcx, qword [rdi + 0x48]
movzx edx, byte [rdi + 0xf]
mov rax, qword [rcx]
call qword [rax + 0x28]
jmp 0x14010f9a7
mov rax, qword [rsp + 0x20]
xor r8d, r8d
xor edx, edx
mov rcx, rax
mov dword [rax + 0x1c], ebp
call fcn.140154690
mov ebx, eax
test ebx, ebx
jne 0x14010f9c4
mov rcx, qword [rsi + 8]
xor edx, edx
call fcn.14013c0f0
mov ebx, eax
mov eax, 0x65
test ebx, ebx
cmove ebx, eax
cmp dword [rsp + 0x98], 0
mov r15, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
mov r13, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x88]
je 0x14010fa00
mov rcx, qword [rsi + 0x28]
xor edx, edx
call fcn.14013c040
mov rcx, qword [rsi + 0x28]
xor edx, edx
call fcn.14013c0f0
mov rdx, qword [rsi]
cmp ebx, 0xc0a
mov eax, 7
cmove ebx, eax
mov dword [rsi + 0x30], ebx
mov r12, qword [rsp + 0x58]
test rdx, rdx
je 0x14010fa2d
mov rcx, qword [rdx + 0x18]
test rcx, rcx
je 0x14010fa2d
call qword [0x14033a5e8]
mov rcx, qword [rsi + 0x28]
cmp byte [rcx + 0x11], 0
je 0x14010fa42
sub dword [rcx + 0x14], 1
jne 0x14010fa42
call fcn.14017a660
mov rcx, qword [rsi + 0x20]
mov rsi, qword [rsp + 0x68]
mov rcx, qword [rcx + 0x18]
test rcx, rcx
je 0x14010fa5a
call qword [0x14033a5e8]
mov eax, ebx
add rsp, 0x70
pop rbx
ret