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

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0x40
mov rbp, qword [rcx + 0x180]
mov r13, r8
mov qword [rsp + 0x30], rbp
mov r14, rcx
test rbp, rbp
je 0x14011596d
cmp qword [r8 + 8], 0
jne 0x14011596d
mov rdi, qword [r8 + 0x10]
lea r15, [0x140237d20]
nop dword [rax]
movsxd rsi, dword [rbp]
xor ebx, ebx
xor r10d, r10d
test rsi, rsi
jle 0x14011595b
lea r11, [rbp + 0x10]
nop word [rax + rax]
mov r9, qword [r11]
mov rax, rdi
sub r9, rdi
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [r9 + rax]
cmp edx, ecx
jne 0x140115935
test edx, edx
jne 0x140115944
lea rcx, [rbx + rbx*2]
add rbp, 0x10
shl rcx, 4
add rbp, rcx
mov qword [rsp + 0x98], rbp
je 0x14011596d
mov rdx, qword [rbp + 0x18]
mov rsi, qword [r14]
mov qword [rsp + 0x90], r12
mov r12, 0xffffffffffffffff
test rdx, rdx
je 0x14011597e
mov r8, qword [rbp]
mov rcx, r14
call fcn.14012b3a0
jmp 0x140115b94
movzx r8d, byte [rcx + r15]
movzx edx, byte [rdx + r15]
cmp edx, r8d
jne 0x140115949
inc rax
jmp 0x1401158e0
inc ebx
inc r10
add r11, 0x30
cmp r10, rsi
jl 0x1401158d0
mov rbp, qword [rbp + 8]
mov qword [rsp + 0x30], rbp
test rbp, rbp
jne 0x1401158b0
xor eax, eax
add rsp, 0x40
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret
test byte [r13 + 0x40], 4
je 0x14011599c
mov r8, rdi
lea rdx, str._s_is_not_a_function
mov rcx, r14
call fcn.14012b3a0
jmp 0x140115b94
test rsi, rsi
je 0x1401159b0
mov edx, 0x78
mov rcx, rsi
call fcn.140128a50
jmp 0x1401159ba
mov ecx, 0x78
call fcn.14013de30
mov r15, rax
test rax, rax
je 0x140115b94
xorps xmm0, xmm0
xor eax, eax
movups xmmword [r15], xmm0
movups xmmword [r15 + 0x10], xmm0
movups xmmword [r15 + 0x20], xmm0
movups xmmword [r15 + 0x30], xmm0
movups xmmword [r15 + 0x40], xmm0
movups xmmword [r15 + 0x50], xmm0
movups xmmword [r15 + 0x60], xmm0
mov qword [r15 + 0x70], rax
mov rbx, qword [rbp + 0x20]
test rbx, rbx
jne 0x140115a4b
test rsi, rsi
je 0x140115a0c
lea edx, [rax + 0x14]
mov rcx, rsi
call fcn.140128a50
jmp 0x140115a16
mov ecx, 0x14
call fcn.14013de30
mov rbx, rax
test rax, rax
je 0x140115a65
xorps xmm0, xmm0
lea rdx, [0x1401288b0]
movups xmmword [rbx], xmm0
xor eax, eax
mov r8, rbx
mov dword [rbx + 0x10], eax
mov rcx, r14
mov qword [rbp + 0x20], rbx
call fcn.1401418b0
test rax, rax
je 0x140115a69
movzx eax, byte [rbp + 0x28]
mov byte [rbx + 0x12], al
mov qword [r13 + 0x20], r15
mov dword [r15 + 0x3c], 1
mov rbp, qword [rbp]
test rbp, rbp
jne 0x140115a79
xor r14d, r14d
jmp 0x140115abc
mov qword [rbp + 0x20], rbx
mov rdx, r15
mov rcx, rsi
call fcn.1401288c0
jmp 0x140115b94
mov rdi, r12
nop dword [rax]
inc rdi
cmp byte [rdi + rbp], 0
jne 0x140115a80
inc rdi
test rsi, rsi
je 0x140115a9e
mov rdx, rdi
mov rcx, rsi
call fcn.140128a50
jmp 0x140115aa6
mov rcx, rdi
call fcn.14013de30
mov r14, rax
test rax, rax
je 0x140115abc
mov r8, rdi
mov rdx, rbp
mov rcx, rax
call fcn.1401b3e90
or dword [r15 + 0x40], 0x4200
mov eax, reloc.OLEAUT32.dll_SetErrorInfo
mov qword [r15], r14
xor r8d, r8d
mov r14, qword [rsp + 0x98]
mov rcx, rsi
mov word [r15 + 0x44], r12w
mov word [r15 + 0x4a], ax
mov rdx, qword [r14 + 0x10]
call fcn.14014ddd0
mov qword [r13 + 0x28], rax
cmp byte [rsi + 0x63], 0
jne 0x140115b94
or dword [r13 + 0x40], 0x80
mov qword [r13 + 0x68], rbx
inc dword [rbx]
cmp dword [rbx], 2
jl 0x140115b18
cmp byte [rbx + 0x12], 1
jne 0x140115b18
mov byte [rbx + 0x12], 0
mov rsi, qword [r13 + 0x28]
mov rdi, rsi
movzx ecx, byte [rsi]
lea eax, [rcx + 0x7b]
cmp al, 1
jbe 0x140115bb0
xor ebp, ebp
mov r12, qword [rsp + 0x80]
lea rax, str.circular_reference:__s
mov r13, qword [rsp + 0x30]
mov qword [r14 + 0x18], rax
mov rbx, qword [r12 + 0x180]
mov qword [r12 + 0x180], r13
test dword [rsi + 4], 0x2000
je 0x140115c93
mov rax, qword [rsi + 0x68]
mov rdx, rdi
mov rcx, qword [rsp + 0x88]
mov qword [rdi + 0x68], rax
call fcn.1401674b0
mov qword [rdi + 0x68], 0
test eax, eax
je 0x140115caf
mov qword [r12 + 0x180], rbx
mov eax, 2
mov r12, qword [rsp + 0x90]
add rsp, 0x40
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov ebp, 1
lea r13, [0x140237d20]
nop dword [rax]
cmp cl, byte [rsi]
jne 0x140115b2f
mov rbx, qword [rdi + 0x28]
xor r11d, r11d
cmp dword [rbx], r11d
jle 0x140115c45
lea r9, [rbx + 0x48]
cmp qword [r9 - 0x38], 0
jne 0x140115c39
mov r8, qword [r9 - 0x30]
test r8, r8
je 0x140115c39
mov r10, qword [r14]
sub r10, r8
nop
movzx ecx, byte [r8]
movzx eax, byte [r10 + r8]
cmp ecx, eax
jne 0x140115c61
test ecx, ecx
jne 0x140115c6f
mov qword [r9 - 0x20], r15
inc dword [r15 + 0x3c]
or dword [r9], 0x20
mov eax, dword [rdi + 4]
bt eax, 0xd
jb 0x140115c77
bts eax, 0xd
mov dword [rdi + 4], eax
test r12d, r12d
jns 0x140115c35
mov rcx, qword [rsp + 0x80]
mov eax, dword [rcx + 0x34]
mov r12d, eax
inc eax
mov dword [rcx + 0x34], eax
mov dword [r9 + 4], r12d
inc r11d
add r9, 0x70
cmp r11d, dword [rbx]
jl 0x140115bd8
test dword [rdi + 4], 0x2000
je 0x140115b2f
mov rax, qword [rdi + 0x50]
mov rdi, rax
movzx ecx, byte [rax]
jmp 0x140115bc0
movzx edx, byte [rax + r13]
movzx ecx, byte [rcx + r13]
cmp ecx, edx
jne 0x140115c39
inc r8
jmp 0x140115bf0
mov r8, qword [r14]
lea rdx, str.multiple_references_to_recursive_table:__s
mov rcx, qword [rsp + 0x80]
call fcn.14012b3a0
jmp 0x140115b94
mov rdi, qword [rsp + 0x88]
mov rdx, rsi
mov rcx, rdi
call fcn.1401674b0
test eax, eax
je 0x140115cb7
jmp 0x140115b8c
mov rdi, qword [rsp + 0x88]
mov qword [r12 + 0x180], r13
mov rcx, rsi
mov rax, qword [rsi + 0x50]
test rax, rax
je 0x140115cdc
nop dword [rax + rax]
mov rcx, rax
mov rax, qword [rax + 0x50]
test rax, rax
jne 0x140115cd0
mov rax, qword [r14 + 8]
mov rdx, qword [rcx + 0x20]
test rax, rax
je 0x140115d16
test rdx, rdx
je 0x140115d13
mov ecx, dword [rax]
mov r9d, dword [rdx]
cmp r9d, ecx
je 0x140115d13
mov r8, qword [r14]
lea rdx, str.table__s_has__d_values_for__d_columns
mov dword [rsp + 0x20], ecx
mov rcx, r12
call fcn.14012b3a0
jmp 0x140115b8c
mov rdx, rax
lea r9, [r15 + 8]
mov rcx, r12
lea r8, [r15 + 0x46]
call fcn.140125990
test ebp, ebp
je 0x140115d52
test dword [rsi + 4], 0x2000
lea rdx, str.recursive_reference_in_a_subquery:__s
lea rcx, str.multiple_recursive_references:__s
cmove rcx, rdx
mov rdx, rsi
mov qword [r14 + 0x18], rcx
mov rcx, rdi
call fcn.1401674b0
mov qword [r14 + 0x18], 0
mov eax, 1
mov qword [r12 + 0x180], rbx
jmp 0x140115b99