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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
lea rbp, [rsp - 0x2f]
sub rsp, 0xa8
mov rax, qword [0x1400e8040]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov rsi, qword [rcx + 0x10]
xor r13d, r13d
mov dword [rbp - 0x39], r8d
mov ebx, r9d
mov dword [rbp - 0x45], ebx
mov eax, 0xffffffff
mov qword [rbp - 0x31], rdx
mov r12, rdx
mov dword [rbp - 0x49], eax
mov rdi, rcx
test rsi, rsi
jne 0x140069a02
call fcn.140050a70
mov qword [rdi + 0x10], rax
mov rsi, rax
test rax, rax
je 0x1400699e4
xor r9d, r9d
mov dword [rsp + 0x20], r13d
xor r8d, r8d
mov edx, 0x99
mov rcx, rax
call fcn.140050c60
cmp qword [rdi + 0x1c0], r13
jne 0x1400699ff
mov rax, qword [rdi]
test byte [rax + 0x4c], 8
mov eax, dword [rbp - 0x49]
jne 0x140069a02
mov byte [rdi + 0x23], 1
jmp 0x140069a02
mov eax, dword [rbp - 0x49]
mov qword [rsp + 0xf0], r14
mov qword [rsp + 0xa0], r15
test rsi, rsi
je 0x140069c85
inc dword [rdi + 0x70]
test byte [r12 + 4], 0x20
jne 0x140069a51
mov rcx, rdi
call fcn.14009a050
mov r8d, dword [rdi + 0x5c]
mov rcx, rax
xor r9d, r9d
mov dword [rsp + 0x20], r13d
mov edx, 0x2c
lea eax, [r8 + 1]
mov dword [rdi + 0x5c], eax
call fcn.140050c60
mov dword [rbp - 0x49], eax
cmp byte [rdi + 0x1f2], 2
jne 0x140069ad3
cmp byte [r12], 0x4b
lea rcx, str.LIST
lea r9, str.SCALAR
cmove r9, rcx
lea r8, str.CORRELATED
test eax, eax
lea rcx, [0x1400c8b81]
mov eax, dword [rdi + 0x204]
lea rdx, str.EXECUTE__s_s_SUBQUERY__d
cmovns r8, rcx
mov dword [rsp + 0x20], eax
mov rcx, qword [rdi]
call fcn.14002fe30
mov r8d, dword [rdi + 0x200]
xor r9d, r9d
mov edx, 0x9b
mov dword [rsp + 0x20], r13d
mov rcx, rsi
mov rbx, rax
call fcn.140050c60
mov r9d, 0xffffffff
mov r8, rbx
mov edx, eax
mov rcx, rsi
call fcn.140051290
mov ebx, dword [rbp - 0x45]
cmp byte [r12], 0x4b
jne 0x140069fe5
mov rcx, qword [r12 + 0x10]
test rcx, rcx
je 0x140069b15
nop dword [rax + rax]
mov eax, dword [rcx + 4]
bt eax, 0xc
jae 0x140069b15
bt eax, 0x12
jae 0x140069b0c
mov rax, qword [rcx + 0x20]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx]
jmp 0x140069b10
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x140069af0
test dword [rcx + 4], 0x200
je 0x140069b22
xor al, al
jmp 0x140069b8a
movzx edx, byte [rcx]
cmp dl, 0x77
jne 0x140069b3f
mov rax, qword [rcx + 0x20]
mov rcx, qword [rax]
mov rcx, qword [rcx + 8]
mov rcx, qword [rcx]
call fcn.140065bb0
jmp 0x140069b8a
cmp dl, 0x26
jne 0x140069b51
mov rcx, qword [rcx + 8]
xor edx, edx
call fcn.140075a90
jmp 0x140069b8a
lea eax, [rdx + 0x66]
test al, 0xfd
je 0x140069b5d
cmp dl, 0x9f
jne 0x140069b86
mov rdx, qword [rcx + 0x40]
test rdx, rdx
je 0x140069b86
movsx rax, word [rcx + 0x30]
test ax, ax
jns 0x140069b74
mov al, 0x44
jmp 0x140069b8a
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 8]
add rcx, rcx
movzx eax, byte [rax + rcx*8 + 0x29]
jmp 0x140069b8a
movzx eax, byte [rcx + 1]
mov byte [rbp - 9], al
mov r9d, r13d
mov eax, dword [rdi + 0x50]
mov edx, 0x39
mov dword [r12 + 0x2c], eax
mov rcx, rsi
inc dword [rdi + 0x50]
mov r8d, dword [r12 + 0x2c]
test ebx, ebx
mov dword [rsp + 0x20], r13d
sete r9b
call fcn.140050c60
mov dword [rbp - 0x29], eax
mov r14d, 1
test ebx, ebx
je 0x140069bce
mov r15, r13
mov qword [rbp - 0x11], r13
jmp 0x140069c30
mov rbx, qword [rdi]
mov ecx, 0x3a
call fcn.14002d7e0
mov qword [rbp - 0x11], rax
mov r15, rax
test rax, rax
je 0x140069c2c
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 [rbx + 0x20]
mov rcx, qword [rax + 0x18]
movzx eax, byte [rcx + 0x71]
mov byte [r15 + 4], al
mov qword [r15 + 0x10], rbx
mov dword [r15], r14d
jmp 0x140069c30
mov byte [rbx + 0x50], r14b
test dword [r12 + 4], 0x800
mov rbx, qword [r12 + 0x20]
je 0x140069cfa
mov eax, dword [r12 + 0x2c]
lea r8, [rbp - 1]
mov dword [rbp + 3], eax
mov rdx, rbx
movzx eax, byte [rbp - 9]
mov rcx, rdi
mov byte [rbp], al
mov byte [rbp - 1], 0xb
mov qword [rbp + 7], r13
mov dword [rbx + 0xc], r13d
call fcn.1400a0030
test eax, eax
je 0x140069cb3
test r15, r15
je 0x140069c85
add dword [r15], 0xffffffff
jne 0x140069c85
mov rcx, r15
call fcn.14002dc30
xor eax, eax
mov r15, qword [rsp + 0xa0]
mov r14, qword [rsp + 0xf0]
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.1400c3af0
add rsp, 0xa8
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rax, qword [rbx]
mov rdx, qword [r12 + 0x10]
mov rcx, qword [rax + 8]
test dword [rdx + 4], 0x100
mov rbx, qword [rcx]
jne 0x140069ce9
test rbx, rbx
je 0x140069cd9
test dword [rbx + 4], 0x100
jne 0x140069ce6
mov rcx, rdi
call fcn.140065dc0
test rax, rax
jne 0x140069cf1
mov rdx, rbx
mov rcx, rdi
call fcn.140065dc0
mov qword [r15 + 0x20], rax
jmp 0x140069fc3
test rbx, rbx
je 0x140069fc3
cmp byte [rbp - 9], r13b
jne 0x140069d0d
mov byte [rbp - 9], 0x41
test r15, r15
je 0x140069d23
mov rdx, qword [r12 + 0x10]
mov rcx, rdi
call fcn.140065dc0
mov qword [r15 + 0x20], rax
movzx eax, byte [rdi + 0x1f]
lea rcx, [rdi + 0x54]
test al, al
jne 0x140069d43
mov r8d, dword [rcx]
inc r8d
mov dword [rcx], r8d
inc dword [rcx]
mov r12d, dword [rcx]
mov dword [rbp - 0x41], r8d
jmp 0x140069d6f
sub al, r14b
movzx edx, al
mov byte [rdi + 0x1f], dl
mov r8d, dword [rdi + rdx*4 + 0x24]
mov dword [rbp - 0x41], r8d
jne 0x140069d5e
inc dword [rcx]
mov r12d, dword [rcx]
jmp 0x140069d6f
dec dl
mov dword [rbp - 0x41], r8d
movzx eax, dl
mov byte [rdi + 0x1f], al
mov r12d, dword [rdi + rax*4 + 0x24]
cmp dword [rbp - 0x45], r13d
je 0x140069d8d
mov r9d, r12d
mov dword [rsp + 0x20], r13d
xor r8d, r8d
mov edx, 0x1c
mov rcx, rsi
call fcn.140050c60
mov eax, dword [rbx]
mov rcx, qword [rbx + 8]
mov qword [rbp - 0x21], rcx
mov dword [rbp - 0x3d], eax
test eax, eax
jle 0x140069f47
movsxd rbx, dword [rbp - 0x49]
mov r15, qword [rbp - 0x31]
mov qword [rbp - 0x19], rbx
nop
mov r14, qword [rcx]
test rbx, rbx
js 0x140069e19
mov edx, 1
mov rcx, r14
call fcn.140068f90
test eax, eax
jne 0x140069e19
mov eax, dword [rbp - 0x49]
cmp eax, dword [rsi + 0x3c]
jge 0x140069e0a
mov rax, qword [rsi + 8]
lea rcx, [rbx + rbx*2]
movsx edx, byte [rax + rcx*8 + 1]
lea rbx, [rax + rcx*8]
mov r8, qword [rbx + 0x10]
mov rcx, qword [rsi]
call fcn.140051060
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
mov byte [rbx], 0x9a
mov eax, dword [rsi + 0x3c]
dec eax
cmp dword [rbp - 0x49], eax
jne 0x140069e0a
mov dword [rsi + 0x3c], eax
mov dword [rbp - 0x49], 0xffffffff
mov qword [rbp - 0x19], 0xffffffffffffffff
cmp dword [rbp - 0x45], r13d
je 0x140069e95
test dword [r14 + 4], 0x400
je 0x140069e3e
mov eax, dword [r14 + 8]
mov edx, 0x54
mov dword [rbp - 5], eax
mov dword [rsp + 0x20], eax
jmp 0x140069f14
movzx ecx, byte [r14]
sub ecx, 0x9d
je 0x140069e71
cmp ecx, 1
jne 0x140069e95
mov rcx, qword [r14 + 0x10]
lea rdx, [rbp - 5]
call fcn.140069170
test eax, eax
je 0x140069e95
mov eax, dword [rbp - 5]
mov edx, 0x54
mov dword [rsp + 0x20], eax
jmp 0x140069f14
mov rcx, qword [r14 + 0x10]
lea rdx, [rbp + 0x17]
call fcn.140069170
test eax, eax
je 0x140069e95
mov eax, dword [rbp + 0x17]
mov edx, 0x54
neg eax
mov dword [rbp - 5], eax
mov dword [rsp + 0x20], eax
jmp 0x140069f14
mov r8d, dword [rbp - 0x41]
mov rdx, r14
mov rcx, rdi
call fcn.14006b4b0
mov ebx, eax
mov r8d, eax
mov rcx, rsi
cmp dword [rbp - 0x45], r13d
je 0x140069ed4
mov r9d, dword [rsi + 0x3c]
mov edx, 0x26
add r9d, 2
mov dword [rsp + 0x20], r13d
call fcn.140050c60
mov edx, 0x4b
mov dword [rsp + 0x20], ebx
jmp 0x140069f14
mov r14d, 1
mov dword [rsp + 0x20], r12d
mov r9d, r14d
mov edx, 0x31
call fcn.140050c60
mov r9d, r14d
lea r8, [rbp - 9]
mov edx, eax
mov rcx, rsi
call fcn.140051290
mov r8d, r14d
mov edx, ebx
mov rcx, rdi
call fcn.14006aba0
mov edx, 0x6e
mov dword [rsp + 0x20], r13d
mov r8d, dword [r15 + 0x2c]
mov r9d, r12d
mov rcx, rsi
call fcn.140050c60
mov eax, dword [rbp - 0x3d]
mov rcx, qword [rbp - 0x21]
dec eax
mov rbx, qword [rbp - 0x19]
add rcx, 0x28
mov dword [rbp - 0x3d], eax
mov qword [rbp - 0x21], rcx
test eax, eax
jg 0x140069db0
mov r15, qword [rbp - 0x11]
mov r8d, dword [rbp - 0x41]
test r8d, r8d
je 0x140069f82
movzx edx, byte [rdi + 0x1f]
cmp dl, 8
jae 0x140069f82
mov ecx, r13d
lea rax, [rdi + 0x88]
cmp dword [rax + 0xc], r8d
je 0x140069f7e
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x140069f63
mov dword [rdi + rdx*4 + 0x24], r8d
inc byte [rdi + 0x1f]
jmp 0x140069f82
mov byte [rax + 6], 1
test r12d, r12d
je 0x140069fbf
movzx edx, byte [rdi + 0x1f]
cmp dl, 8
jae 0x140069fbf
mov ecx, r13d
lea rax, [rdi + 0x88]
nop word [rax + rax]
cmp dword [rax + 0xc], r12d
je 0x140069fbb
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x140069fa0
mov dword [rdi + rdx*4 + 0x24], r12d
inc byte [rdi + 0x1f]
jmp 0x140069fbf
mov byte [rax + 6], 1
mov r12, qword [rbp - 0x31]
test r15, r15
je 0x14006a0c1
mov edx, dword [rbp - 0x29]
mov r9d, 0xfffffffa
mov r8, r15
mov rcx, rsi
call fcn.140051290
jmp 0x14006a0c1
mov r9d, dword [rdi + 0x54]
mov rbx, qword [r12 + 0x20]
inc r9d
mov dword [rdi + 0x54], r9d
cmp byte [r12], 0x77
mov dword [rbp + 3], r9d
mov byte [rbp], r13b
mov qword [rbp + 7], r13
jne 0x14006a012
mov byte [rbp - 1], 0xa
mov dword [rbp + 7], r9d
jmp 0x14006a016
mov byte [rbp - 1], 3
mov edx, 0x1c
mov dword [rsp + 0x20], r13d
mov ecx, 0x19
cmovne edx, ecx
xor r8d, r8d
mov rcx, rsi
call fcn.140050c60
mov rdx, qword [rbx + 0x60]
mov rcx, qword [rdi]
call fcn.140066fc0
mov rcx, qword [rdi]
lea r8, [0x1400d3648]
mov r9d, 1
mov edx, 0x84
call fcn.140066480
mov r15, qword [rdi]
mov r14, rax
test rax, rax
jne 0x14006a07a
xor edx, edx
mov rcx, r15
call fcn.140066fc0
xor edx, edx
mov rcx, r15
call fcn.140066fc0
jmp 0x14006a09e
mov rcx, r14
call fcn.1400663c0
mov rax, qword [rdi]
mov r8d, dword [rax + 0x74]
cmp dword [r14 + 0x28], r8d
jle 0x14006a09e
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, rdi
call fcn.140030ff0
lea r8, [rbp - 1]
mov qword [rbx + 0x60], r14
mov rdx, rbx
mov dword [rbx + 0xc], r13d
mov rcx, rdi
call fcn.1400a0030
test eax, eax
jne 0x140069c85
mov r13d, dword [rbp + 3]
mov eax, dword [rbp - 0x39]
test eax, eax
je 0x14006a0d8
mov edx, dword [r12 + 0x2c]
mov r8d, eax
mov rcx, rsi
call fcn.140069310
mov eax, dword [rbp - 0x49]
test eax, eax
js 0x14006a102
mov ecx, dword [rsi + 0x3c]
cmp ecx, eax
jbe 0x14006a0f3
mov rdx, qword [rsi + 8]
lea r8, [rax + rax*2]
mov dword [rdx + r8*8 + 8], ecx
mov r8d, dword [rsi + 0x3c]
mov rdx, qword [rsi + 0x30]
dec r8d
mov dword [rdx + 0x64], r8d
mov rcx, rdi
call fcn.14006add0
mov eax, r13d
jmp 0x140069c87