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

Disassembly:
mov qword [rsp + 0x10], rbx
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov rsi, qword [rcx + 0x10]
xor r12d, r12d
mov eax, 0xffffffff
mov r15d, r9d
mov dword [rbp - 0x50], eax
mov r13, rdx
mov rbx, rcx
test rsi, rsi
jne 0x18003c12c
call fcn.1800258f0
mov qword [rbx + 0x10], rax
mov rsi, rax
test rax, rax
je 0x18003c10a
xor r9d, r9d
mov dword [rsp + 0x20], r12d
xor r8d, r8d
mov edx, 0x99
mov rcx, rax
call fcn.180025a50
cmp qword [rbx + 0x1c0], r12
jne 0x18003c120
mov rax, qword [rbx]
test byte [rax + 0x4c], 8
jne 0x18003c120
mov byte [rbx + 0x23], 1
test rsi, rsi
je 0x18003c410
mov eax, dword [rbp - 0x50]
inc dword [rbx + 0x70]
test byte [r13 + 4], 0x20
jne 0x18003c1a3
mov rdi, qword [rbx + 0x10]
test rdi, rdi
jne 0x18003c181
mov rcx, rbx
call fcn.1800258f0
mov qword [rbx + 0x10], rax
mov rdi, rax
test rax, rax
je 0x18003c16b
xor r9d, r9d
mov dword [rsp + 0x20], r12d
xor r8d, r8d
mov edx, 0x99
mov rcx, rax
call fcn.180025a50
cmp qword [rbx + 0x1c0], r12
jne 0x18003c181
mov rax, qword [rbx]
test byte [rax + 0x4c], 8
jne 0x18003c181
mov byte [rbx + 0x23], 1
mov r8d, dword [rbx + 0x5c]
xor r9d, r9d
mov rcx, rdi
mov dword [rsp + 0x20], r12d
lea eax, [r8 + 1]
lea edx, [r9 + 0x2c]
mov dword [rbx + 0x5c], eax
call fcn.180025a50
mov dword [rbp - 0x50], eax
cmp byte [rbx + 0x1f2], 2
jne 0x18003c222
cmp byte [r13], 0x4b
lea rcx, str.LIST
lea r9, str.SCALAR
cmove r9, rcx
lea r8, str.CORRELATED
test eax, eax
lea rcx, [0x1800f99d0]
mov eax, dword [rbx + 0x204]
lea rdx, str.EXECUTE__s_s_SUBQUERY__d
cmovns r8, rcx
mov dword [rsp + 0x20], eax
mov rcx, qword [rbx]
call fcn.180006f40
mov r8d, dword [rbx + 0x200]
xor r9d, r9d
mov edx, 0x9b
mov dword [rsp + 0x20], r12d
mov rcx, rsi
mov rdi, rax
call fcn.180025a50
mov r9d, 0xffffffff
mov r8, rdi
mov edx, eax
mov rcx, rsi
call fcn.180026090
cmp byte [r13], 0x4b
je 0x18003c30d
mov r9d, dword [rbx + 0x54]
mov rdi, qword [r13 + 0x20]
inc r9d
mov dword [rbx + 0x54], r9d
cmp byte [r13], 0x77
mov dword [rbp - 0x3c], r9d
mov byte [rbp - 0x3f], r12b
mov qword [rbp - 0x38], r12
jne 0x18003c259
mov byte [rbp - 0x40], 0xa
mov dword [rbp - 0x38], r9d
jmp 0x18003c25d
mov byte [rbp - 0x40], 3
mov edx, 0x1c
mov dword [rsp + 0x20], r12d
mov ecx, 0x19
cmovne edx, ecx
xor r8d, r8d
mov rcx, rsi
call fcn.180025a50
mov rdx, qword [rdi + 0x60]
mov rcx, qword [rbx]
call fcn.18003a760
mov rcx, qword [rbx]
lea r8, [0x180101a78]
mov r9d, 1
mov edx, 0x84
call fcn.180039e40
mov r15, qword [rbx]
mov r14, rax
test rax, rax
jne 0x18003c2c1
xor edx, edx
mov rcx, r15
call fcn.18003a760
xor edx, edx
mov rcx, r15
call fcn.18003a760
jmp 0x18003c2e5
mov rcx, r14
call fcn.180039da0
mov rax, qword [rbx]
mov r8d, dword [rax + 0x74]
cmp dword [r14 + 0x28], r8d
jle 0x18003c2e5
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, rbx
call fcn.180007ef0
lea r8, [rbp - 0x40]
mov qword [rdi + 0x60], r14
mov rdx, rdi
mov dword [rdi + 0xc], r12d
mov rcx, rbx
call fcn.18006bcd0
test eax, eax
jne 0x18003c410
mov r12d, dword [rbp - 0x3c]
jmp 0x18003c780
mov rcx, qword [r13 + 0x10]
call fcn.180039880
mov byte [rbp + 0x40], al
mov r9d, r12d
mov eax, dword [rbx + 0x50]
mov edx, 0x39
mov dword [r13 + 0x2c], eax
mov rcx, rsi
inc dword [rbx + 0x50]
mov r8d, dword [r13 + 0x2c]
test r15d, r15d
mov dword [rsp + 0x20], r12d
sete r9b
call fcn.180025a50
mov dword [rbp - 0x24], eax
mov r14d, 1
test r15d, r15d
je 0x18003c35a
mov r15, r12
mov qword [rbp - 0x10], r12
jmp 0x18003c3be
mov rdi, qword [rbx]
mov edx, 0x3a
xor ecx, ecx
call fcn.180005310
mov qword [rbp - 0x10], rax
mov r15, rax
test rax, rax
je 0x18003c3ba
xor eax, eax
xorps xmm0, xmm0
movups xmmword [r15], xmm0
movups xmmword [r15 + 0x10], xmm0
movups xmmword [r15 + 0x20], xmm0
mov qword [r15 + 0x30], rax
mov word [r15 + 0x38], ax
lea rax, [r15 + 0x30]
mov qword [r15 + 0x18], rax
mov dword [r15 + 6], 0x10001
mov rax, qword [rdi + 0x20]
mov rcx, qword [rax + 0x18]
movzx eax, byte [rcx + 0x71]
mov byte [r15 + 4], al
mov qword [r15 + 0x10], rdi
mov dword [r15], r14d
jmp 0x18003c3be
mov byte [rdi + 0x50], r14b
test dword [r13 + 4], 0x800
je 0x18003c45d
mov eax, dword [r13 + 0x2c]
lea r8, [rbp - 0x40]
mov rdi, qword [r13 + 0x20]
mov rcx, rbx
mov dword [rbp - 0x3c], eax
mov rdx, rdi
movzx eax, byte [rbp + 0x40]
mov byte [rbp - 0x3f], al
mov byte [rbp - 0x40], 0xb
mov qword [rbp - 0x38], r12
mov dword [rdi + 0xc], r12d
call fcn.18006bcd0
test eax, eax
je 0x18003c417
test r15, r15
je 0x18003c410
add dword [r15], 0xffffffff
jne 0x18003c410
mov rcx, r15
call fcn.180004f10
xor eax, eax
jmp 0x18003c7c8
mov rax, qword [rdi]
mov rdx, qword [r13 + 0x10]
mov rcx, qword [rax + 8]
test dword [rdx + 4], 0x100
mov rdi, qword [rcx]
jne 0x18003c44c
test rdi, rdi
je 0x18003c43c
test dword [rdi + 4], 0x100
jne 0x18003c449
mov rcx, rbx
call fcn.180039920
test rax, rax
jne 0x18003c454
mov rdx, rdi
mov rcx, rbx
call fcn.180039920
mov qword [r15 + 0x20], rax
jmp 0x18003c72d
mov r14, qword [r13 + 0x20]
test r14, r14
je 0x18003c72d
movzx eax, byte [rbp + 0x40]
mov edx, 0x41
test al, al
mov ecx, eax
cmove ecx, edx
mov byte [rbp + 0x40], cl
test r15, r15
je 0x18003c492
mov rdx, qword [r13 + 0x10]
mov rcx, rbx
call fcn.180039920
mov qword [r15 + 0x20], rax
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x18003c4ab
inc dword [rbx + 0x54]
mov ecx, dword [rbx + 0x54]
inc dword [rbx + 0x54]
mov edi, dword [rbx + 0x54]
mov dword [rbp - 0x48], ecx
jmp 0x18003c4d2
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov ecx, dword [rbx + rax*4 + 0x24]
mov dword [rbp - 0x48], ecx
test al, al
jne 0x18003c4c6
inc dword [rbx + 0x54]
mov edi, dword [rbx + 0x54]
jmp 0x18003c4d2
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov edi, dword [rbx + rax*4 + 0x24]
mov dword [rbp - 0x4c], edi
cmp dword [rbp + 0x58], r12d
je 0x18003c4f2
xor r8d, r8d
mov dword [rsp + 0x20], r12d
mov r9d, edi
mov rcx, rsi
lea edx, [r8 + 0x1c]
call fcn.180025a50
mov eax, dword [r14]
mov rcx, qword [r14 + 8]
mov qword [rbp - 0x18], rcx
mov dword [rbp - 0x44], eax
test eax, eax
jle 0x18003c6bb
movsxd r15, dword [rbp - 0x50]
mov rdi, r15
mov qword [rbp - 0x20], r15
jmp 0x18003c524
mov rdi, qword [rbp - 0x20]
mov r14, qword [rcx]
test rdi, rdi
js 0x18003c58a
mov edx, 1
mov rcx, r14
call fcn.18003b6d0
test eax, eax
jne 0x18003c58a
cmp r15d, dword [rsi + 0x3c]
jge 0x18003c57c
mov rax, qword [rsi + 8]
lea rcx, [rdi + rdi*2]
movsx edx, byte [rax + rcx*8 + 1]
lea rdi, [rax + rcx*8]
mov r8, qword [rdi + 0x10]
mov rcx, qword [rsi]
call fcn.180025dd0
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rax
mov byte [rdi], 0x9a
mov eax, dword [rsi + 0x3c]
dec eax
cmp r15d, eax
jne 0x18003c57c
mov dword [rsi + 0x3c], eax
mov r15d, 0xffffffff
mov qword [rbp - 0x20], 0xffffffffffffffff
cmp dword [rbp + 0x58], r12d
je 0x18003c606
test dword [r14 + 4], 0x400
je 0x18003c5af
mov eax, dword [r14 + 8]
mov edx, 0x54
mov dword [rbp - 0x50], eax
mov dword [rsp + 0x20], eax
jmp 0x18003c685
movzx ecx, byte [r14]
sub ecx, 0x9d
je 0x18003c5e2
cmp ecx, 1
jne 0x18003c606
mov rcx, qword [r14 + 0x10]
lea rdx, [rbp - 0x50]
call fcn.18003b7d0
test eax, eax
je 0x18003c606
mov eax, dword [rbp - 0x50]
mov edx, 0x54
mov dword [rsp + 0x20], eax
jmp 0x18003c685
mov rcx, qword [r14 + 0x10]
lea rdx, [rbp - 0x28]
call fcn.18003b7d0
test eax, eax
je 0x18003c606
mov eax, dword [rbp - 0x28]
mov edx, 0x54
neg eax
mov dword [rbp - 0x50], eax
mov dword [rsp + 0x20], eax
jmp 0x18003c685
mov r8d, dword [rbp - 0x48]
mov rdx, r14
mov rcx, rbx
call fcn.18003dc70
mov edi, eax
mov r8d, eax
mov rcx, rsi
cmp dword [rbp + 0x58], r12d
je 0x18003c645
mov r9d, dword [rsi + 0x3c]
mov edx, 0x26
add r9d, 2
mov dword [rsp + 0x20], r12d
call fcn.180025a50
mov edx, 0x4b
mov dword [rsp + 0x20], edi
jmp 0x18003c685
mov eax, dword [rbp - 0x4c]
mov r14d, 1
mov r9d, r14d
mov dword [rsp + 0x20], eax
lea edx, [r14 + 0x30]
call fcn.180025a50
mov r9d, r14d
lea r8, [rbp + 0x40]
mov edx, eax
mov rcx, rsi
call fcn.180026090
mov r8d, r14d
mov edx, edi
mov rcx, rbx
call fcn.18003d3a0
lea edx, [r14 + 0x6d]
mov dword [rsp + 0x20], r12d
mov edi, dword [rbp - 0x4c]
mov rcx, rsi
mov r8d, dword [r13 + 0x2c]
mov r9d, edi
call fcn.180025a50
mov eax, dword [rbp - 0x44]
mov rcx, qword [rbp - 0x18]
dec eax
add rcx, 0x28
mov dword [rbp - 0x44], eax
mov qword [rbp - 0x18], rcx
test eax, eax
jg 0x18003c520
mov dword [rbp - 0x50], r15d
mov r15, qword [rbp - 0x10]
mov r8d, dword [rbp - 0x48]
test r8d, r8d
je 0x18003c6f6
movzx edx, byte [rbx + 0x1f]
cmp dl, 8
jae 0x18003c6f6
mov ecx, r12d
lea rax, [rbx + 0x88]
cmp dword [rax + 0xc], r8d
je 0x18003c6f2
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x18003c6d7
mov dword [rbx + rdx*4 + 0x24], r8d
inc byte [rbx + 0x1f]
jmp 0x18003c6f6
mov byte [rax + 6], 1
test edi, edi
je 0x18003c72d
movzx edx, byte [rbx + 0x1f]
cmp dl, 8
jae 0x18003c72d
mov ecx, r12d
lea rax, [rbx + 0x88]
nop dword [rax]
cmp dword [rax + 0xc], edi
je 0x18003c729
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x18003c710
mov dword [rbx + rdx*4 + 0x24], edi
inc byte [rbx + 0x1f]
jmp 0x18003c72d
mov byte [rax + 6], 1
test r15, r15
je 0x18003c780
mov r8, qword [rsi + 8]
mov rcx, qword [rsi]
test r8, r8
je 0x18003c773
cmp byte [rcx + 0x50], r12b
jne 0x18003c773
mov eax, dword [rbp - 0x24]
test eax, eax
jns 0x18003c750
mov eax, dword [rsi + 0x3c]
dec eax
cdqe
lea rdx, [rax + rax*2]
lea rdi, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rdi + 0x10]
call fcn.180025dd0
mov qword [rdi + 0x10], r15
mov byte [rdi + 1], 0xfa
jmp 0x18003c780
mov r8, r15
mov edx, 0xfffffffa
call fcn.180025dd0
mov eax, dword [rbp + 0x50]
test eax, eax
je 0x18003c796
mov edx, dword [r13 + 0x2c]
mov r8d, eax
mov rcx, rsi
call fcn.18003b980
mov ecx, dword [rbp - 0x50]
test ecx, ecx
js 0x18003c7bd
mov eax, dword [rsi + 0x3c]
cmp eax, ecx
jbe 0x18003c7b3
lea rdx, [rcx + rcx*2]
mov rcx, qword [rsi + 8]
mov dword [rcx + rdx*8 + 8], eax
mov eax, dword [rsi + 0x3c]
mov rcx, qword [rsi + 0x30]
lea edx, [rax - 1]
mov dword [rcx + 0x64], edx
mov rcx, rbx
call fcn.18003d5d0
mov eax, r12d
mov rbx, qword [rsp + 0xc8]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret