Function at 0x18003c770
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 0x18003c7fc
call fcn.180025fc0
mov qword [rbx + 0x10], rax
mov rsi, rax
test rax, rax
je 0x18003c7da
xor r9d, r9d
mov dword [rsp + 0x20], r12d
xor r8d, r8d
mov edx, 0x99
mov rcx, rax
call fcn.180026120
cmp qword [rbx + 0x1c0], r12
jne 0x18003c7f0
mov rax, qword [rbx]
test byte [rax + 0x4c], 8
jne 0x18003c7f0
mov byte [rbx + 0x23], 1
test rsi, rsi
je 0x18003cae0
mov eax, dword [rbp - 0x50]
inc dword [rbx + 0x70]
test byte [r13 + 4], 0x20
jne 0x18003c873
mov rdi, qword [rbx + 0x10]
test rdi, rdi
jne 0x18003c851
mov rcx, rbx
call fcn.180025fc0
mov qword [rbx + 0x10], rax
mov rdi, rax
test rax, rax
je 0x18003c83b
xor r9d, r9d
mov dword [rsp + 0x20], r12d
xor r8d, r8d
mov edx, 0x99
mov rcx, rax
call fcn.180026120
cmp qword [rbx + 0x1c0], r12
jne 0x18003c851
mov rax, qword [rbx]
test byte [rax + 0x4c], 8
jne 0x18003c851
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.180026120
mov dword [rbp - 0x50], eax
cmp byte [rbx + 0x1f2], 2
jne 0x18003c8f2
cmp byte [r13], 0x4b
lea rcx, str.LIST
lea r9, str.SCALAR
cmove r9, rcx
lea r8, str.CORRELATED
test eax, eax
lea rcx, [0x1801090b0]
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.180007610
mov r8d, dword [rbx + 0x200]
xor r9d, r9d
mov edx, 0x9b
mov dword [rsp + 0x20], r12d
mov rcx, rsi
mov rdi, rax
call fcn.180026120
mov r9d, 0xffffffff
mov r8, rdi
mov edx, eax
mov rcx, rsi
call fcn.180026760
cmp byte [r13], 0x4b
je 0x18003c9dd
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 0x18003c929
mov byte [rbp - 0x40], 0xa
mov dword [rbp - 0x38], r9d
jmp 0x18003c92d
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.180026120
mov rdx, qword [rdi + 0x60]
mov rcx, qword [rbx]
call fcn.18003ae30
mov rcx, qword [rbx]
lea r8, [0x180111158]
mov r9d, 1
mov edx, 0x84
call fcn.18003a510
mov r15, qword [rbx]
mov r14, rax
test rax, rax
jne 0x18003c991
xor edx, edx
mov rcx, r15
call fcn.18003ae30
xor edx, edx
mov rcx, r15
call fcn.18003ae30
jmp 0x18003c9b5
mov rcx, r14
call fcn.18003a470
mov rax, qword [rbx]
mov r8d, dword [rax + 0x74]
cmp dword [r14 + 0x28], r8d
jle 0x18003c9b5
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, rbx
call fcn.1800085c0
lea r8, [rbp - 0x40]
mov qword [rdi + 0x60], r14
mov rdx, rdi
mov dword [rdi + 0xc], r12d
mov rcx, rbx
call fcn.18006c3a0
test eax, eax
jne 0x18003cae0
mov r12d, dword [rbp - 0x3c]
jmp 0x18003ce50
mov rcx, qword [r13 + 0x10]
call fcn.180039f50
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.180026120
mov dword [rbp - 0x24], eax
mov r14d, 1
test r15d, r15d
je 0x18003ca2a
mov r15, r12
mov qword [rbp - 0x10], r12
jmp 0x18003ca8e
mov rdi, qword [rbx]
mov edx, 0x3a
xor ecx, ecx
call fcn.1800059e0
mov qword [rbp - 0x10], rax
mov r15, rax
test rax, rax
je 0x18003ca8a
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 0x18003ca8e
mov byte [rdi + 0x50], r14b
test dword [r13 + 4], 0x800
je 0x18003cb2d
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.18006c3a0
test eax, eax
je 0x18003cae7
test r15, r15
je 0x18003cae0
add dword [r15], 0xffffffff
jne 0x18003cae0
mov rcx, r15
call fcn.1800055e0
xor eax, eax
jmp 0x18003ce98
mov rax, qword [rdi]
mov rdx, qword [r13 + 0x10]
mov rcx, qword [rax + 8]
test dword [rdx + 4], 0x100
mov rdi, qword [rcx]
jne 0x18003cb1c
test rdi, rdi
je 0x18003cb0c
test dword [rdi + 4], 0x100
jne 0x18003cb19
mov rcx, rbx
call fcn.180039ff0
test rax, rax
jne 0x18003cb24
mov rdx, rdi
mov rcx, rbx
call fcn.180039ff0
mov qword [r15 + 0x20], rax
jmp 0x18003cdfd
mov r14, qword [r13 + 0x20]
test r14, r14
je 0x18003cdfd
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 0x18003cb62
mov rdx, qword [r13 + 0x10]
mov rcx, rbx
call fcn.180039ff0
mov qword [r15 + 0x20], rax
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x18003cb7b
inc dword [rbx + 0x54]
mov ecx, dword [rbx + 0x54]
inc dword [rbx + 0x54]
mov edi, dword [rbx + 0x54]
mov dword [rbp - 0x48], ecx
jmp 0x18003cba2
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 0x18003cb96
inc dword [rbx + 0x54]
mov edi, dword [rbx + 0x54]
jmp 0x18003cba2
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 0x18003cbc2
xor r8d, r8d
mov dword [rsp + 0x20], r12d
mov r9d, edi
mov rcx, rsi
lea edx, [r8 + 0x1c]
call fcn.180026120
mov eax, dword [r14]
mov rcx, qword [r14 + 8]
mov qword [rbp - 0x18], rcx
mov dword [rbp - 0x44], eax
test eax, eax
jle 0x18003cd8b
movsxd r15, dword [rbp - 0x50]
mov rdi, r15
mov qword [rbp - 0x20], r15
jmp 0x18003cbf4
mov rdi, qword [rbp - 0x20]
mov r14, qword [rcx]
test rdi, rdi
js 0x18003cc5a
mov edx, 1
mov rcx, r14
call fcn.18003bda0
test eax, eax
jne 0x18003cc5a
cmp r15d, dword [rsi + 0x3c]
jge 0x18003cc4c
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.1800264a0
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 0x18003cc4c
mov dword [rsi + 0x3c], eax
mov r15d, 0xffffffff
mov qword [rbp - 0x20], 0xffffffffffffffff
cmp dword [rbp + 0x58], r12d
je 0x18003ccd6
test dword [r14 + 4], 0x400
je 0x18003cc7f
mov eax, dword [r14 + 8]
mov edx, 0x54
mov dword [rbp - 0x50], eax
mov dword [rsp + 0x20], eax
jmp 0x18003cd55
movzx ecx, byte [r14]
sub ecx, 0x9d
je 0x18003ccb2
cmp ecx, 1
jne 0x18003ccd6
mov rcx, qword [r14 + 0x10]
lea rdx, [rbp - 0x50]
call fcn.18003bea0
test eax, eax
je 0x18003ccd6
mov eax, dword [rbp - 0x50]
mov edx, 0x54
mov dword [rsp + 0x20], eax
jmp 0x18003cd55
mov rcx, qword [r14 + 0x10]
lea rdx, [rbp - 0x28]
call fcn.18003bea0
test eax, eax
je 0x18003ccd6
mov eax, dword [rbp - 0x28]
mov edx, 0x54
neg eax
mov dword [rbp - 0x50], eax
mov dword [rsp + 0x20], eax
jmp 0x18003cd55
mov r8d, dword [rbp - 0x48]
mov rdx, r14
mov rcx, rbx
call fcn.18003e340
mov edi, eax
mov r8d, eax
mov rcx, rsi
cmp dword [rbp + 0x58], r12d
je 0x18003cd15
mov r9d, dword [rsi + 0x3c]
mov edx, 0x26
add r9d, 2
mov dword [rsp + 0x20], r12d
call fcn.180026120
mov edx, 0x4b
mov dword [rsp + 0x20], edi
jmp 0x18003cd55
mov eax, dword [rbp - 0x4c]
mov r14d, 1
mov r9d, r14d
mov dword [rsp + 0x20], eax
lea edx, [r14 + 0x30]
call fcn.180026120
mov r9d, r14d
lea r8, [rbp + 0x40]
mov edx, eax
mov rcx, rsi
call fcn.180026760
mov r8d, r14d
mov edx, edi
mov rcx, rbx
call fcn.18003da70
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.180026120
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 0x18003cbf0
mov dword [rbp - 0x50], r15d
mov r15, qword [rbp - 0x10]
mov r8d, dword [rbp - 0x48]
test r8d, r8d
je 0x18003cdc6
movzx edx, byte [rbx + 0x1f]
cmp dl, 8
jae 0x18003cdc6
mov ecx, r12d
lea rax, [rbx + 0x88]
cmp dword [rax + 0xc], r8d
je 0x18003cdc2
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x18003cda7
mov dword [rbx + rdx*4 + 0x24], r8d
inc byte [rbx + 0x1f]
jmp 0x18003cdc6
mov byte [rax + 6], 1
test edi, edi
je 0x18003cdfd
movzx edx, byte [rbx + 0x1f]
cmp dl, 8
jae 0x18003cdfd
mov ecx, r12d
lea rax, [rbx + 0x88]
nop dword [rax]
cmp dword [rax + 0xc], edi
je 0x18003cdf9
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x18003cde0
mov dword [rbx + rdx*4 + 0x24], edi
inc byte [rbx + 0x1f]
jmp 0x18003cdfd
mov byte [rax + 6], 1
test r15, r15
je 0x18003ce50
mov r8, qword [rsi + 8]
mov rcx, qword [rsi]
test r8, r8
je 0x18003ce43
cmp byte [rcx + 0x50], r12b
jne 0x18003ce43
mov eax, dword [rbp - 0x24]
test eax, eax
jns 0x18003ce20
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.1800264a0
mov qword [rdi + 0x10], r15
mov byte [rdi + 1], 0xfa
jmp 0x18003ce50
mov r8, r15
mov edx, 0xfffffffa
call fcn.1800264a0
mov eax, dword [rbp + 0x50]
test eax, eax
je 0x18003ce66
mov edx, dword [r13 + 0x2c]
mov r8d, eax
mov rcx, rsi
call fcn.18003c050
mov ecx, dword [rbp - 0x50]
test ecx, ecx
js 0x18003ce8d
mov eax, dword [rsi + 0x3c]
cmp eax, ecx
jbe 0x18003ce83
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.18003dca0
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