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

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rdi
push r14
mov rbp, rsp
sub rsp, 0x40
xor r14d, r14d
mov rbx, rcx
mov edi, r14d
cmp byte [rcx + 0x13], dil
je 0x1401557fa
mov eax, dword [rcx + 0x2c]
test eax, eax
jne 0x140155bd7
mov qword [rsp + 0x70], rsi
cmp qword [rcx + 0x118], rdi
jne 0x140155b2d
cmp byte [rcx + 0x14], dil
jne 0x140155b2d
mov esi, 1
mov dword [rbp + 0x20], esi
nop
movzx eax, byte [rbx + 0x15]
mov edi, r14d
cmp al, sil
jb 0x140155830
cmp al, 5
jne 0x140155868
cmp byte [rbx + 0x11], dil
jne 0x140155848
mov rcx, qword [rbx + 0x48]
mov edx, esi
mov rax, qword [rcx]
call qword [rax + 0x38]
mov edi, eax
test eax, eax
jne 0x140155852
cmp byte [rbx + 0x15], 5
je 0x140155852
mov byte [rbx + 0x15], sil
cmp edi, 5
jne 0x140155868
mov rcx, qword [rbx + 0xe8]
call qword [rbx + 0xe0]
test eax, eax
jne 0x140155820
test edi, edi
jne 0x140155bc2
cmp byte [rbx + 0x15], sil
ja 0x140155887
lea rdx, [rbp + 0x20]
mov rcx, rbx
call fcn.140127c10
mov esi, dword [rbp + 0x20]
mov edi, eax
test edi, edi
jne 0x140155bc2
test esi, esi
je 0x1401559c9
cmp byte [rbx + 0x12], r14b
je 0x1401558af
mov rcx, rbx
mov edi, 0x308
call fcn.14012f510
jmp 0x140155bd0
movzx eax, byte [rbx + 0x15]
mov edi, r14d
cmp al, 4
jb 0x1401558be
cmp al, 5
jne 0x1401558dd
cmp byte [rbx + 0x11], dil
jne 0x1401558d9
mov rcx, qword [rbx + 0x48]
mov edx, 4
mov rax, qword [rcx]
call qword [rax + 0x38]
mov edi, eax
test eax, eax
jne 0x1401558dd
mov byte [rbx + 0x15], 4
test edi, edi
jne 0x140155bc2
mov rax, qword [rbx + 0x50]
cmp qword [rax], r14
jne 0x14015596a
mov rsi, qword [rbx]
lea r9, [rbp + 0x28]
mov rdx, qword [rbx + 0xd8]
xor r8d, r8d
mov rcx, rsi
call qword [rsi + 0x38]
mov edi, eax
test eax, eax
jne 0x14015596a
cmp dword [rbp + 0x28], r14d
je 0x14015596a
mov r8, qword [rbx + 0x50]
lea rax, [rbp + 0x20]
mov rdx, qword [rbx + 0xd8]
mov r9d, 0x802
mov rcx, rsi
mov qword [rsp + 0x20], rax
mov dword [rbp + 0x20], r14d
call qword [rsi + 0x28]
mov edi, eax
test eax, eax
jne 0x14015596a
test byte [rbp + 0x20], 1
je 0x14015596a
mov edi, SafeArrayGetDim
lea r9, [0x1402b951c]
mov ecx, edi
lea rdx, str.cannot_open_file_at_line__d_of___.10s_
mov r8d, 0xb91b
call fcn.14010fcd0
mov rcx, qword [rbx + 0x50]
call fcn.140153cb0
mov rax, qword [rbx + 0x50]
cmp qword [rax], r14
je 0x140155994
mov rcx, rbx
call fcn.14012e110
mov edi, eax
test eax, eax
jne 0x1401559ab
lea edx, [rax + 1]
mov rcx, rbx
call fcn.14012eba0
mov edi, eax
mov byte [rbx + 0x14], r14b
jmp 0x1401559a7
cmp byte [rbx + 8], r14b
jne 0x1401559a7
mov edx, 1
mov rcx, rbx
call fcn.14012e270
test edi, edi
je 0x1401559c9
movzx eax, dil
cmp eax, 0xd
je 0x1401559bd
cmp eax, 0xa
jne 0x140155bbe
mov dword [rbx + 0x2c], edi
mov byte [rbx + 0x14], 6
jmp 0x140155bbe
cmp byte [rbx + 0x10], r14b
jne 0x140155a6a
cmp byte [rbx + 0x1b], r14b
je 0x140155a6a
lea rdx, [rbp + 0x20]
mov dword [rbp + 0x20], r14d
mov rcx, rbx
call fcn.14012dc40
mov edi, eax
test eax, eax
jne 0x140155bc2
cmp dword [rbp + 0x20], r14d
jbe 0x140155a26
mov rcx, qword [rbx + 0x48]
lea r9d, [rdi + 0x18]
lea r8d, [rdi + 0x10]
lea rdx, [rbp - 0x10]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov edi, eax
test eax, eax
je 0x140155a30
cmp eax, 0x20a
jne 0x140155bbe
jmp 0x140155a30
xor eax, eax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov rax, qword [rbx + 0x88]
cmp rax, qword [rbp - 0x10]
jne 0x140155a4a
mov rax, qword [rbx + 0x90]
cmp rax, qword [rbp - 8]
je 0x140155a6a
mov rcx, rbx
call fcn.14012f400
cmp byte [rbx + 0x1a], r14b
je 0x140155a6a
mov rcx, qword [rbx + 0x48]
xor r8d, r8d
xor edx, edx
mov rax, qword [rcx]
call qword [rax + SysAllocStringByteLen]
mov edi, r14d
cmp byte [rbx + 0x10], dil
jne 0x140155b2d
mov rax, qword [rbx + 0x118]
test rax, rax
je 0x140155a90
cmp word [rax + 0x3c], di
jl 0x140155a90
mov eax, dword [rax + 0x5c]
test eax, eax
jne 0x140155ac7
mov rcx, qword [rbx + 0x48]
mov rax, r14
mov qword [rbp + 0x28], rax
mov r8, qword [rcx]
test r8, r8
je 0x140155ab5
lea rdx, [rbp + 0x28]
call qword [r8 + PathResolve]
mov edi, eax
test eax, eax
jne 0x140155b2d
mov rax, qword [rbp + 0x28]
movsxd rcx, dword [rbx + 0xbc]
dec rax
add rax, rcx
cqo
idiv rcx
cmp eax, dword [rbx + 0xc0]
jbe 0x140155ad5
mov dword [rbx + 0xc0], eax
mov r10, qword [rbx]
xor r8d, r8d
mov rdx, qword [rbx + 0x120]
mov rcx, r10
test eax, eax
jne 0x140155b00
call qword [r10 + PathResolve]
mov edi, eax
cmp eax, 0x170a
mov eax, r14d
cmove edi, r14d
mov dword [rbp + 0x20], eax
jmp 0x140155b0d
lea r9, [rbp + 0x20]
call qword [r10 + 0x38]
mov edi, eax
mov eax, dword [rbp + 0x20]
test edi, edi
jne 0x140155b2d
test eax, eax
je 0x140155b23
xor edx, edx
mov rcx, rbx
call fcn.1401551d0
mov edi, eax
jmp 0x140155b2d
cmp byte [rbx + 9], 5
jne 0x140155b2d
mov byte [rbx + 9], r14b
mov rcx, qword [rbx + 0x118]
test rcx, rcx
je 0x140155ba6
mov dword [rbp + 0x20], r14d
call fcn.140174470
mov rcx, qword [rbx + 0x118]
lea rdx, [rbp + 0x20]
call fcn.140173ce0
mov edi, eax
test eax, eax
jne 0x140155b5e
cmp dword [rbp + 0x20], r14d
je 0x140155ba6
inc dword [rbx + 0x84]
mov rax, qword [rbx + 0x70]
test rax, rax
je 0x140155b80
nop dword [rax]
mov dword [rax + 0x18], 1
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x140155b70
mov rcx, qword [rbx + 0x110]
xor edx, edx
call fcn.140156b10
cmp byte [rbx + 0x1a], r14b
je 0x140155ba6
mov rcx, qword [rbx + 0x48]
xor r8d, r8d
xor edx, edx
mov rax, qword [rcx]
call qword [rax + SysAllocStringByteLen]
cmp byte [rbx + 0x14], r14b
jne 0x140155bbe
test edi, edi
jne 0x140155bc2
lea rdx, [rbx + 0x1c]
mov rcx, rbx
call fcn.14012dc40
mov edi, eax
test edi, edi
je 0x140155bcc
mov rcx, rbx
call fcn.14012f510
jmp 0x140155bd0
mov byte [rbx + 0x14], 1
mov rsi, qword [rsp + 0x70]
mov eax, edi
mov rbx, qword [rsp + 0x78]
add rsp, 0x40
pop r14
pop rdi
pop rbp
ret