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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x178
mov r15, qword [rcx + 0x28]
mov al, byte [rdx]
mov r14, qword [r15]
mov qword [rsp + 0x1c0], rcx
mov rbx, rdx
cmp al, 0x4b
je 0x1401c71d7
ja 0x1401c71a3
cmp al, 0x14
je case.0x1401c71a1.4
sub eax, 0x2d
cmp al, 0xe
ja case.0x1401c71a1.1
lea rdx, [0x1402aa0f4]
movzx eax, al
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
cmp al, 0x9c
je 0x1401c85ba
ja 0x1401c71c2
cmp al, 0x8a
je case.0x1401c71a1.4
cmp al, 0x8d
je 0x1401c72c3
jmp case.0x1401c71a1.1
cmp al, 0xab
je case.0x1401c71a1.0
cmp al, 0xac
je 0x1401c7ee4
jmp case.0x1401c71a1.1
mov rax, qword [r15 + 8]
mov rdx, qword [rax + 0x28]
mov eax, dword [rax + 0x4c]
mov word [rbx], 0x44a7
dec word [rbx + 0x30]
mov qword [rbx + 0x40], rdx
mov dword [rbx + 0x2c], eax
jmp case.0x1401c71a1.1
mov rdx, r15
mov eax, 1
lea rsi, [rsp + 0xb0]
mov ecx, dword [rdx + 0x20]
mov rdx, qword [rdx + 0x18]
test rdx, rdx
mov dword [rsi + rax*4 - 4], ecx
setne r8b
cmp eax, 7
setle cl
inc rax
test r8b, cl
jne 0x1401c7207
mov rcx, qword [rsp + 0x1c0]
mov rdx, qword [rbx + 0x10]
call fcn.14020edb0
mov r9, qword [rbx + 0x10]
mov rcx, r9
call fcn.1401dcec0
test eax, eax
jne 0x1401c805e
cmp byte [r14 + 0x134], 1
ja 0x1401c805e
xor eax, eax
cmp byte [rbx], 0x33
mov byte [rbx], 0x9b
sete al
or dword [rbx + 4], 0x800
mov dword [rbx + 8], eax
mov eax, 1
mov edx, dword [rsi + rax*4 - 4]
mov dword [r15 + 0x20], edx
mov r15, qword [r15 + 0x18]
test r15, r15
setne cl
cmp eax, 7
setle dl
inc rax
test cl, dl
jne 0x1401c7274
mov rcx, qword [r14]
mov rdx, r9
xor edi, edi
call fcn.1401df650
mov qword [rbx + 0x10], rdi
jmp 0x1401c805e
mov rax, qword [rbx + 8]
xor esi, esi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rsi
jmp 0x1401c734a
mov rsi, qword [rdx + 0x10]
mov edx, dword [r15 + 0x28]
test dl, 0x28
je 0x1401c72e7
mov qword [rsp + 0x20], rbx
xor r9d, r9d
lea r8, str.the__.__operator
mov rcx, r14
call fcn.1401bdd00
mov r8, qword [rbx + 0x18]
mov rax, qword [rsi + 8]
cmp byte [r8], 0x3b
mov qword [rsp + 0x48], rax
je 0x1401c7304
mov rsi, qword [r8 + 0x10]
mov r8, qword [r8 + 0x18]
jmp 0x1401c730c
xor r11d, r11d
mov qword [rsp + 0x48], r11
mov rax, qword [rsi + 8]
cmp byte [r14 + 0x134], 1
mov qword [rsp + 0x30], rax
mov rax, qword [r8 + 8]
mov qword [rsp + 0x38], rax
jbe 0x1401c734a
mov rcx, qword [r14 + 0x1a0]
mov rdx, rbx
call fcn.1401fac80
mov rcx, qword [r14 + 0x1a0]
lea rdx, [rbx + 0x40]
mov r8, rsi
call fcn.1401fac80
mov rax, qword [r14]
xor r9d, r9d
xor r10d, r10d
cmp qword [rsp + 0x48], 0
mov qword [rsp + 0xb0], r9
mov qword [rsp + 0x40], rax
mov dword [rbx + 0x2c], 0xffffffff
mov qword [rsp + 0x50], r10
je 0x1401c7402
test byte [r15 + 0x28], 6
jne 0x1401c73f5
mov esi, dword [rax + 0x28]
xor r11d, r11d
cmp esi, r11d
jle 0x1401c73b9
mov rax, qword [rsp + 0x40]
mov rdi, r11
mov rdx, qword [rsp + 0x48]
inc r11
shl rdi, 5
add rdi, qword [rax + 0x20]
mov rcx, qword [rdi]
call fcn.140200b30
test eax, eax
jne 0x1401c7385
mov rax, qword [rdi + 0x18]
mov qword [rsp + 0x50], rax
jmp 0x1401c7402
mov qword [rsp + 0x50], 0
jne 0x1401c7402
mov rdx, qword [rsp + 0x48]
lea rcx, str.main
call fcn.140200b30
test eax, eax
jne 0x1401c7402
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x20]
mov rdi, qword [rax + 0x18]
mov rax, qword [rax]
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x48], rax
jmp 0x1401c7402
xor r8d, r8d
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x48], r8
xor ecx, ecx
mov dword [rsp + 0x64], 0xa7
mov rdi, r15
xor ebp, ebp
mov dword [rsp + 0x84], ecx
mov dword [rsp + 0x60], ecx
mov rax, qword [rdi + 8]
xor esi, esi
mov qword [rsp + 0x68], rax
test rax, rax
je 0x1401c77ed
xor edx, edx
lea r12, [rax + 8]
mov dword [rsp + 0x80], edx
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x80]
cmp ecx, dword [rax]
jge 0x1401c77c4
mov rax, qword [r12 + 0x20]
mov qword [rsp + 0x58], rax
test byte [r12 + 0x41], 0x20
je 0x1401c75a3
mov rax, qword [r12 + 0x28]
xor r13d, r13d
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x70], rax
add rax, 8
mov qword [rsp + 0x78], rax
xor eax, eax
mov dword [rsp + 0x88], eax
mov rax, qword [rsp + 0x70]
cmp r13d, dword [rax]
jge 0x1401c7588
mov r9, qword [rsp + 0x48]
mov r8, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x78]
call fcn.1401f0d50
test eax, eax
je 0x1401c757a
test esi, esi
jle 0x1401c753b
test byte [r12 + 0x41], 4
je 0x1401c74d8
mov rcx, qword [r12 + 0x48]
mov rdx, qword [rsp + 0x38]
call fcn.1401ed3b0
test eax, eax
jns 0x1401c74f6
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x40]
call fcn.1401e0330
xor eax, eax
mov qword [rsp + 0xb0], rax
jmp 0x1401c753b
mov al, byte [r12 + 0x3c]
test al, 0x10
je 0x1401c757a
test al, 8
jne 0x1401c7523
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x40]
xor esi, esi
call fcn.1401e0330
xor eax, eax
mov qword [rsp + 0xb0], rax
jmp 0x1401c753b
movsx r9d, word [rbx + 0x30]
lea rdx, [rsp + 0xb0]
mov r8, rbp
mov rcx, r14
call fcn.140192b50
mov rcx, qword [rsp + 0x70]
movsxd rax, r13d
mov word [rbx + 0x30], r13w
inc esi
shl rax, 5
mov rbp, r12
lea rdx, [rcx + rax + 0x10]
mov al, byte [rdx + 0xc]
or eax, 0x40
mov byte [rdx + 0xc], al
test al, al
js 0x1401c77ac
mov dword [rsp + 0x88], 1
mov dword [rsp + 0x60], 2
add qword [rsp + 0x78], 0x20
inc r13d
jmp 0x1401c748a
cmp qword [rsp + 0x30], 0
je 0x1401c77b4
cmp dword [rsp + 0x88], 0
je 0x1401c75af
jmp 0x1401c77b4
cmp qword [rsp + 0x30], 0
je 0x1401c7664
cmp qword [rsp + 0x48], 0
je 0x1401c75e9
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
cmp qword [rax + 0x60], rcx
jne 0x1401c77b4
test rcx, rcx
jne 0x1401c75e9
mov rcx, qword [rsp + 0x48]
lea rdx, [0x1402a837b]
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x1401c77b4
mov rdx, qword [r12 + 0x18]
test rdx, rdx
je 0x1401c7607
mov rcx, qword [rsp + 0x30]
call fcn.140200b30
test eax, eax
jne 0x1401c77b4
jmp 0x1401c7648
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rax]
call fcn.140200b30
test eax, eax
je 0x1401c7664
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0x28], 1
jne 0x1401c77b4
mov r8, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x30]
mov rdx, rax
call fcn.1401b6450
test eax, eax
je 0x1401c77b4
jmp 0x1401c7664
cmp byte [r14 + 0x134], 1
jbe 0x1401c7664
mov rcx, qword [r14 + 0x1a0]
lea r8, [rbx + 0x40]
xor edx, edx
call fcn.1401fac80
mov rcx, qword [rsp + 0x38]
xor r13d, r13d
call fcn.140200b70
mov byte [rsp + 0x70], al
mov rax, qword [rsp + 0x58]
mov r8, qword [rax + 8]
movsx eax, word [rax + 0x36]
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x78]
cmp r13d, eax
jge 0x1401c7794
mov al, byte [rsp + 0x70]
cmp al, byte [r8 + 0xe]
jne 0x1401c7788
mov rcx, qword [r8]
mov rdx, qword [rsp + 0x38]
mov qword [rsp + 0x88], r8
call fcn.140200b30
mov r8, qword [rsp + 0x88]
test eax, eax
jne 0x1401c7788
mov al, byte [r12 + 0x41]
test esi, esi
jle 0x1401c7755
test al, 4
je 0x1401c76f2
mov rcx, qword [r12 + 0x48]
mov rdx, qword [rsp + 0x38]
call fcn.1401ed3b0
mov r8, qword [rsp + 0x88]
test eax, eax
jns 0x1401c7710
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x40]
call fcn.1401e0330
xor eax, eax
mov qword [rsp + 0xb0], rax
jmp 0x1401c7755
mov al, byte [r12 + 0x3c]
test al, 0x10
je 0x1401c7788
test al, 8
jne 0x1401c773d
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x40]
xor esi, esi
call fcn.1401e0330
xor eax, eax
mov qword [rsp + 0xb0], rax
jmp 0x1401c7755
movsx r9d, word [rbx + 0x30]
lea rdx, [rsp + 0xb0]
mov r8, rbp
mov rcx, r14
call fcn.140192b50
mov rax, qword [rsp + 0x58]
movsx eax, word [rax + 0x34]
cmp eax, r13d
mov eax, 0xffffffff
cmovne eax, r13d
mov word [rbx + 0x30], ax
test byte [r12 + 0x41], 0x20
je 0x1401c7781
mov edx, r13d
mov rcx, r12
call fcn.1401ffb80
inc esi
mov rbp, r12
jmp 0x1401c7794
inc r13d
add r8, 0x18
jmp 0x1401c7686
test esi, esi
jne 0x1401c77b4
mov rax, qword [rsp + 0x58]
test byte [rax + 0x31], 2
jne 0x1401c77b4
inc dword [rsp + 0x60]
mov rbp, r12
jmp 0x1401c77b4
mov dword [rsp + 0x60], 2
inc dword [rsp + 0x80]
add r12, 0x68
jmp 0x1401c743d
test rbp, rbp
je 0x1401c77ed
mov eax, dword [rbp + 0x44]
mov dword [rbx + 0x2c], eax
mov rax, qword [rbp + 0x20]
mov qword [rbx + 0x40], rax
test byte [rbp + 0x3c], 0x48
je 0x1401c77e4
or dword [rbx + 4], 0x200000
mov rax, qword [rax + 0x60]
mov qword [rsp + 0x50], rax
test esi, esi
jne 0x1401c7c8c
cmp qword [rsp + 0x48], 0
jne 0x1401c7a66
mov r13, qword [r14 + 0xb0]
cmp qword [rsp + 0x30], 0
setne r11b
test r13, r13
je 0x1401c78aa
cmp byte [r14 + 0xe1], 0
movzx esi, byte [r14 + 0xe0]
je 0x1401c785a
test byte [rdi + 0x29], 4
je 0x1401c78a7
cmp qword [rsp + 0x30], 0
je 0x1401c784d
mov rdx, qword [r13]
mov rcx, qword [rsp + 0x30]
call fcn.140200b30
test eax, eax
jne 0x1401c78a7
xor eax, eax
cmp esi, 0x80
setne al
jmp 0x1401c78a2
cmp esi, 0x80
je 0x1401c787c
test r11b, r11b
je 0x1401c787c
mov rdx, qword [rsp + 0x30]
lea rcx, [0x1402a9e7f]
call fcn.140200b30
test eax, eax
je 0x1401c789d
cmp esi, 0x7f
je 0x1401c78a7
test r11b, r11b
je 0x1401c78a7
mov rdx, qword [rsp + 0x30]
lea rcx, [0x1402a9e83]
call fcn.140200b30
test eax, eax
jne 0x1401c78a7
jmp 0x1401c78a2
mov eax, 1
mov dword [rbx + 0x2c], eax
jmp 0x1401c78aa
xor r13d, r13d
test byte [rdi + 0x29], 2
je 0x1401c78e2
test r11b, r11b
je 0x1401c78e2
mov r11, qword [rdi + 0x10]
test r11, r11
je 0x1401c78e2
mov rdx, qword [rsp + 0x30]
lea rcx, str.excluded
call fcn.140200b30
test eax, eax
jne 0x1401c78e2
mov rax, qword [r11 + 0x40]
mov r13, qword [rax + 0x28]
mov dword [rbx + 0x2c], 2
xor esi, esi
test r13, r13
je 0x1401c7a66
mov rcx, qword [rsp + 0x38]
xor r11d, r11d
call fcn.140200b70
inc dword [rsp + 0x60]
mov rsi, qword [r13 + 8]
mov r8d, eax
mov rax, qword [r13 + 0x60]
movsx r12d, word [r13 + 0x36]
mov qword [rsp + 0x50], rax
cmp r11d, r12d
jge 0x1401c794e
cmp r8b, byte [rsi + 0xe]
jne 0x1401c7945
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsi]
mov byte [rsp + 0x58], r8b
call fcn.140200b30
mov r8b, byte [rsp + 0x58]
test eax, eax
jne 0x1401c7945
movsx eax, word [r13 + 0x34]
cmp eax, r11d
jne 0x1401c797c
jmp 0x1401c7978
inc r11d
add rsi, 0x18
jmp 0x1401c7913
mov rcx, qword [rsp + 0x38]
call fcn.1401efeb0
mov esi, eax
test eax, eax
je 0x1401c7a6e
xor esi, esi
test byte [r13 + 0x31], 2
jne 0x1401c7a66
test r12d, r12d
js 0x1401c7a66
or r11d, 0xffffffff
mov eax, dword [rbx + 0x2c]
cmp eax, 2
jne 0x1401c79b8
cmp byte [r14 + 0x134], 1
jbe 0x1401c79a1
mov word [rbx + 0x30], r11w
mov qword [rbx + 0x40], r13
mov dword [rsp + 0x64], 0xa7
jmp 0x1401c79f6
mov rax, qword [rdi + 0x10]
mov edx, r11d
mov rcx, r13
mov esi, dword [rax + 0x48]
call fcn.140201030
cwde
add eax, esi
jmp 0x1401c79eb
mov qword [rbx + 0x40], r13
cmp byte [r14 + 0xe1], 0
je 0x1401c79ff
mov byte [rbx + 2], 0xa7
inc r12d
mov edx, r11d
mov rcx, r13
mov word [rbx + 0x30], r11w
imul r12d, eax
add r12d, dword [rdi + 0x10]
call fcn.140201030
cwde
lea eax, [r12 + rax + 1]
mov dword [rbx + 0x2c], eax
mov dword [rsp + 0x64], 0xb0
xor ebp, ebp
mov esi, 1
jmp 0x1401c7a66
mov word [rbx + 0x30], r11w
cmp r11d, 0xffffffff
jne 0x1401c7a10
mov byte [rbx + 1], 0x44
jmp 0x1401c7a37
test eax, eax
jne 0x1401c7a41
mov edx, dword [r14 + 0xd4]
or eax, 0xffffffff
cmp r11d, 0x1f
jg 0x1401c7a2e
mov eax, 1
mov ecx, r11d
shl eax, cl
or edx, eax
mov dword [r14 + 0xd4], edx
mov dword [rsp + 0x64], 0x4d
jmp 0x1401c79f6
mov edx, dword [r14 + 0xd8]
or eax, 0xffffffff
cmp r11d, 0x1f
jg 0x1401c7a5b
mov eax, 1
mov ecx, r11d
shl eax, cl
or edx, eax
mov dword [r14 + 0xd8], edx
jmp 0x1401c7a37
test esi, esi
jne 0x1401c7c8c
cmp dword [rsp + 0x60], 1
jne 0x1401c7aac
test rbp, rbp
je 0x1401c7ab4
test byte [rdi + 0x28], 0x28
jne 0x1401c7ab4
mov rcx, qword [rsp + 0x38]
call fcn.1401efeb0
test eax, eax
je 0x1401c7ab4
mov rax, qword [rbp + 0x20]
test byte [rax + 0x31], 2
jne 0x1401c7ab4
mov word [rbx + 0x30], 0xffff
mov esi, 1
mov byte [rbx + 1], 0x44
jmp 0x1401c7bed
test esi, esi
jne 0x1401c7c8c
mov r12d, dword [rdi + 0x28]
test r12b, r12b
jns 0x1401c7bd7
cmp qword [rsp + 0x30], 0
jne 0x1401c7bd7
mov r13, qword [rdi + 0x10]
xor r11d, r11d
mov eax, dword [r13]
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x58], r11d
cmp dword [rsp + 0x68], r11d
jle 0x1401c7bd7
movsxd rax, r11d
shl rax, 5
lea rsi, [r13 + rax]
test byte [rsi + 0x1c], 3
jne 0x1401c7bcf
mov rax, r11
mov rdx, qword [rsp + 0x38]
shl rax, 5
mov r8, qword [r13 + rax + 0x10]
mov rcx, r8
mov qword [rsp + 0x70], r8
call fcn.14021ba60
mov r8, qword [rsp + 0x70]
test eax, eax
jne 0x1401c7bcf
mov rcx, qword [rsi + 8]
mov eax, dword [rcx + 4]
test r12d, 1
jne 0x1401c7b48
lea rdx, str.misuse_of_aliased_aggregate__s
test al, 0x10
jne 0x1401c7b61
bt eax, 0xf
jae 0x1401c7b73
bt r12d, 0xe
jae 0x1401c7b5a
cmp r15, rdi
je 0x1401c7b73
lea rdx, str.misuse_of_aliased_window_function__s
mov rcx, r14
call fcn.1401dc700
mov eax, 2
jmp 0x1401c868a
call fcn.1401e0870
dec eax
je 0x1401c7b8d
lea rdx, str.row_value_misused
mov rcx, r14
call fcn.1401dc700
jmp 0x1401c7b69
mov eax, dword [rsp + 0x84]
mov r9, rbx
mov rdx, r13
mov rcx, r14
mov r8d, dword [rsp + 0x58]
mov dword [rsp + 0x20], eax
call fcn.1401c6fd0
cmp byte [r14 + 0x134], 1
jbe 0x1401c7e1c
mov rcx, qword [r14 + 0x1a0]
mov r8, rbx
xor edx, edx
call fcn.1401fac80
jmp 0x1401c7e1c
inc r11
jmp 0x1401c7adc
mov rdi, qword [rdi + 0x18]
inc dword [rsp + 0x84]
test rdi, rdi
jne 0x1401c741c
xor esi, esi
test esi, esi
jne 0x1401c7c8c
cmp qword [rsp + 0x30], 0
jne 0x1401c7c8c
test byte [rbx + 4], 0x80
je 0x1401c7c6a
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0xc5], 0
jne 0x1401c7c45
mov rax, qword [rax + 0x30]
test byte [r15 + 0x2a], 1
je 0x1401c7c3a
mov rdx, rax
and edx, 0x10000001
dec rdx
jne 0x1401c7c34
bt eax, 0x1e
jb 0x1401c7c45
shr rax, 0x1d
jmp 0x1401c7c3e
shr rax, 0x1e
and eax, 1
test eax, eax
je 0x1401c7c6a
mov r8, qword [rsp + 0x38]
lea rdx, str.double_quoted_string_literal:___w_
mov ecx, 0x1c
xor r13d, r13d
call fcn.1402182a0
mov byte [rbx], 0x75
mov qword [rbx + 0x40], r13
jmp 0x1401c805e
mov rcx, rbx
call fcn.1401df860
test eax, eax
jne 0x1401c805e
mov rdx, qword [rsp + 0xb0]
test rdx, rdx
jne 0x1401c7c97
jmp 0x1401c7d26
cmp esi, 1
je 0x1401c7dbc
jmp 0x1401c7c7a
lea eax, [rsi - 1]
cmp dword [rdx], eax
jne 0x1401c7d11
mov eax, dword [rbx + 4]
bt eax, 0x17
jae 0x1401c7cb1
and eax, 0xff7fffff
mov dword [rbx + 4], eax
jmp 0x1401c7cda
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rsp + 0x40]
xor esi, esi
xor r12d, r12d
call fcn.1401df650
mov qword [rbx + 0x10], rsi
mov rdx, qword [rbx + 0x18]
mov rcx, qword [rsp + 0x40]
call fcn.1401df650
mov qword [rbx + 0x18], r12
movsx r9d, word [rbx + 0x30]
lea rdx, [rsp + 0xb0]
mov r8, rbp
mov rcx, r14
call fcn.140192b50
lea rax, str.coalesce
mov byte [rbx], 0xac
mov qword [rbx + 8], rax
mov rax, qword [rsp + 0xb0]
mov qword [rbx + 0x20], rax
jmp 0x1401c7e1c
mov rcx, qword [rsp + 0x40]
call fcn.1401e0330
xor r11d, r11d
mov qword [rsp + 0xb0], r11
test esi, esi
lea r8, str.ambiguous_column_name
lea rax, str.no_such_column
cmove r8, rax
cmp qword [rsp + 0x48], 0
je 0x1401c7d6c
mov rax, qword [rsp + 0x38]
mov r9, qword [rsp + 0x48]
lea rdx, str._s:__s._s._s
mov rcx, r14
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x20], rax
call fcn.1401dc700
jmp 0x1401c7da8
cmp qword [rsp + 0x30], 0
je 0x1401c7d94
mov rax, qword [rsp + 0x38]
mov r9, qword [rsp + 0x30]
lea rdx, str._s:__s._s
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.1401dc700
jmp 0x1401c7da8
mov r9, qword [rsp + 0x38]
lea rdx, str._s:__s
mov rcx, r14
call fcn.1401dc700
mov rcx, qword [r14]
mov rdx, rbx
call fcn.1401fa770
mov byte [r14 + 0x1d], 1
inc dword [r15 + 0x24]
test dword [rbx + 4], 0x810000
jne 0x1401c7df6
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rsp + 0x40]
call fcn.1401df650
xor r9d, r9d
mov rdx, qword [rbx + 0x18]
mov rcx, qword [rsp + 0x40]
mov qword [rbx + 0x10], r9
call fcn.1401df650
xor r10d, r10d
or dword [rbx + 4], 0x800000
mov qword [rbx + 0x18], r10
cmp word [rbx + 0x30], 0
js 0x1401c7e0e
test rbp, rbp
je 0x1401c7e0e
mov rcx, rbx
call fcn.1401df000
or qword [rbp + 0x50], rax
mov al, byte [rsp + 0x64]
dec esi
mov byte [rbx], al
jne 0x1401c7b69
mov rcx, qword [r14]
cmp qword [rcx + 0x200], 0
je 0x1401c7ed1
mov r11b, byte [rbx]
cmp r11b, 0xa7
je 0x1401c7e40
cmp r11b, 0x4d
jne 0x1401c7ed1
mov rdx, qword [rsp + 0x50]
mov r10, qword [rdi + 8]
call fcn.1401fc120
mov r9d, eax
test eax, eax
js 0x1401c7ed1
cmp r11b, 0x4d
je 0x1401c7e62
mov ecx, dword [r10]
xor eax, eax
jmp 0x1401c7e6e
mov rdx, qword [r14 + 0xb0]
jmp 0x1401c7e93
mov rax, rdx
cmp ecx, eax
jle 0x1401c7e91
lea rdx, [rax + 1]
imul r8, rdx, 0x68
mov esi, dword [r10 + r8 - 0x1c]
cmp dword [rbx + 0x2c], esi
jne 0x1401c7e6b
cdqe
imul rax, rax, 0x68
mov rdx, qword [r10 + rax + 0x28]
jmp 0x1401c7e93
xor edx, edx
movsx rax, word [rbx + 0x30]
test rdx, rdx
je 0x1401c7ed1
test ax, ax
jns 0x1401c7eb3
movsx rax, word [rdx + 0x34]
lea r8, str.ROWID
test ax, ax
js 0x1401c7ebe
imul rax, rax, 0x18
add rax, qword [rdx + 8]
mov r8, qword [rax]
mov rdx, qword [rdx]
mov rcx, r14
call fcn.1401d2680
cmp eax, 2
jne 0x1401c7ed1
mov byte [rbx], 0x79
inc dword [r15 + 0x20]
cmp rdi, r15
je 0x1401c805e
mov r15, qword [r15 + 0x18]
jmp 0x1401c7ed1
mov r13, qword [rdx + 0x20]
xor edi, edi
test r13, r13
je 0x1401c7ef3
mov edi, dword [r13]
mov rcx, qword [r14]
mov eax, dword [r15 + 0x28]
xor ebp, ebp
mov dword [rsp + 0x38], eax
movzx r9d, byte [rcx + 0x64]
test byte [rbx + 7], 1
je 0x1401c7f17
mov rbp, qword [rbx + 0x40]
cmp byte [rbp + 0x20], 0xa6
jne 0x1401c7f17
xor ebp, ebp
xor r8d, r8d
mov rsi, qword [rbx + 8]
mov dword [rsp + 0x30], r9d
mov dword [rsp + 0x20], r8d
mov r8d, edi
mov rdx, rsi
call fcn.1401e0a70
mov r9d, dword [rsp + 0x30]
test rax, rax
mov r12, rax
jne 0x1401c7f72
xor ecx, ecx
mov rdx, rsi
mov r8d, 0xfffffffe
xor esi, esi
mov dword [rsp + 0x20], ecx
mov rcx, qword [r14]
call fcn.1401e0a70
cmp rax, 1
mov r12, rax
sbb edi, edi
xor edx, edx
inc edi
cmp rax, 1
setb dl
jmp 0x1401c8109
xor esi, esi
cmp qword [rax + 0x20], 0
setne sil
test byte [rax + 5], 4
je 0x1401c801f
or dword [rbx + 4], 0x80000
cmp edi, 2
jne 0x1401c8008
mov rax, qword [r13 + 0x28]
cmp byte [rax], 0x99
je 0x1401c7fa5
mov dword [rbx + 0x2c], 0xffffffff
jmp 0x1401c7ff0
mov rdi, qword [rax + 8]
mov rcx, rdi
call fcn.140200bb0
lea rdx, [rsp + 0xb0]
mov r9d, 1
mov rcx, rdi
mov r8d, eax
call fcn.1401d1fc0
movsd xmm0, qword [rsp + 0xb0]
comisd xmm0, xmmword [0x1402b22d0]
ja 0x1401c7f9c
mulsd xmm0, qword [0x1402b23f0]
cvttsd2si eax, xmm0
mov dword [rbx + 0x2c], eax
test eax, eax
jns 0x1401c801f
mov r8, rbx
lea rdx, str.second_argument_to__T___must_be_a_constant_between_0.0_and_1.0
mov rcx, r14
call fcn.1401dc700
inc dword [r15 + 0x24]
jmp 0x1401c801f
mov rax, qword [rax + 0x38]
mov edx, 0x800000
cmp byte [rax], 0x75
mov eax, 0x7800000
cmove eax, edx
mov dword [rbx + 0x2c], eax
xor edx, edx
mov r9, qword [r12 + 0x38]
xor r8d, r8d
mov rcx, r14
mov qword [rsp + 0x20], rdx
mov edx, 0x1f
call fcn.1401d25e0
mov edi, eax
test eax, eax
je 0x1401c8068
dec edi
jne 0x1401c805b
mov r8, rbx
lea rdx, str.not_authorized_to_use_function:__T
mov rcx, r14
call fcn.1401dc700
inc dword [r15 + 0x24]
mov byte [rbx], 0x79
mov eax, 1
jmp 0x1401c868a
mov ecx, dword [r12 + 4]
mov edx, dword [r15 + 0x28]
test ch, 0x28
jne 0x1401c8094
test dl, 0x2a
je 0x1401c80c1
mov qword [rsp + 0x20], rbx
xor r9d, r9d
lea r8, str.non_deterministic_functions
mov rcx, r14
call fcn.1401bdd00
jmp 0x1401c80c1
mov eax, dword [rbx + 4]
mov r8d, eax
or r8d, 0x100000
bt ecx, 0xb
mov dword [rbx + 4], r8d
jae 0x1401c8076
mov ecx, edx
and ecx, 0x2e
bt edx, 0x12
mov byte [rbx + 2], cl
jae 0x1401c80c1
or eax, 0x40100000
mov dword [rbx + 4], eax
mov eax, dword [r12 + 4]
bt eax, 0x12
jae 0x1401c80dc
cmp byte [r14 + 0x1e], 0
jne 0x1401c80dc
mov rdx, qword [r14]
test byte [rdx + 0x2c], 0x20
je 0x1401c8101
test eax, 0x280000
je 0x1401c80ed
cmp byte [r14 + 0x134], 1
jbe 0x1401c80f1
xor edx, edx
jmp 0x1401c8109
mov r8, r12
mov rdx, rbx
mov rcx, r14
call fcn.1401df830
jmp 0x1401c80ed
xor r12d, r12d
mov edx, 1
cmp byte [r14 + 0x134], 1
ja 0x1401c81fe
test r12, r12
je 0x1401c8135
cmp qword [r12 + 0x28], 0
jne 0x1401c8135
test rbp, rbp
je 0x1401c8135
mov r8, rbx
lea rdx, str._T___may_not_be_used_as_a_window_function
jmp 0x1401c81ac
test esi, esi
je 0x1401c8192
movzx eax, word [r12 + 6]
mov ecx, dword [r15 + 0x28]
and eax, 1
test cl, 1
je 0x1401c8161
test rbp, rbp
jne 0x1401c8159
test al, al
jne 0x1401c8171
test rbp, rbp
je 0x1401c8192
bt ecx, 0xe
jae 0x1401c8171
jmp 0x1401c8192
test rbp, rbp
jne 0x1401c8171
lea r8, str.aggregate
test al, al
je 0x1401c8178
lea r8, str.window
mov r9, rbx
lea rdx, str.misuse_of__s_function__T__
mov rcx, r14
call fcn.1401dc700
inc dword [r15 + 0x24]
xor esi, esi
jmp 0x1401c8209
test edx, edx
je 0x1401c81c4
mov rax, qword [r14]
cmp byte [rax + 0xc5], 0
jne 0x1401c81c4
mov r8, rbx
lea rdx, str.no_such_function:__T
mov rcx, r14
call fcn.1401dc700
mov eax, dword [r15 + 0x24]
inc eax
mov dword [r15 + 0x24], eax
test esi, esi
jne 0x1401c81d6
jmp 0x1401c818e
mov r8, rbx
lea rdx, str.wrong_number_of_arguments_to_function__T__
test edi, edi
jne 0x1401c81ac
test esi, esi
je 0x1401c81e7
cmp rbp, 1
sbb eax, eax
sub eax, 0x4001
and dword [r15 + 0x28], eax
jmp 0x1401c8204
test byte [rbx + 7], 1
je 0x1401c818e
lea rdx, str.FILTER_may_not_be_used_with_non_aggregate__T__
mov rcx, r14
call fcn.1401dc700
jmp 0x1401c818a
test byte [rbx + 7], 1
je 0x1401c8209
mov esi, 1
mov rcx, qword [rsp + 0x1c0]
mov rdx, r13
call fcn.14020edc0
test esi, esi
je 0x1401c805e
test rbp, rbp
je 0x1401c8432
cmp byte [r14 + 0x134], 1
mov rbx, qword [r15 + 0x30]
jbe 0x1401c8283
mov rdx, qword [rbp + 0x10]
mov rcx, qword [rsp + 0x1c0]
call fcn.14020edc0
mov rdx, qword [rbp + 0x18]
mov rcx, qword [rsp + 0x1c0]
call fcn.14020edc0
mov rdx, qword [rbp + 0x48]
mov rcx, qword [rsp + 0x1c0]
call fcn.14020edb0
mov rdx, rbp
mov rcx, rbx
call fcn.140213700
or dword [r15 + 0x28], 0x8000
jmp 0x1401c8550
xor edx, edx
test rbx, rbx
je 0x1401c828e
mov rdx, qword [rbx + 0x78]
mov r8, qword [rbp]
test r8, r8
je 0x1401c831b
cmp byte [rbp + 0x20], 0
jne 0x1401c831b
mov rcx, r14
call fcn.14022e2f0
mov rsi, rax
test rax, rax
je 0x1401c8420
mov rdx, qword [rax + 0x10]
mov rcx, qword [r14]
xor r8d, r8d
call fcn.1401e0340
mov rdx, qword [rsi + 0x18]
mov rcx, qword [r14]
xor r8d, r8d
mov qword [rbp + 0x10], rax
call fcn.1401e0340
mov rdx, qword [rsi + 0x28]
mov rcx, qword [r14]
xor r8d, r8d
mov qword [rbp + 0x18], rax
call fcn.1401df6f0
mov rdx, qword [rsi + 0x30]
mov rcx, qword [r14]
xor r8d, r8d
mov qword [rbp + 0x28], rax
call fcn.1401df6f0
mov qword [rbp + 0x30], rax
mov al, byte [rsi + 0x21]
mov byte [rbp + 0x21], al
mov al, byte [rsi + 0x22]
mov byte [rbp + 0x22], al
mov al, byte [rsi + 0x20]
mov byte [rbp + 0x20], al
mov al, byte [rsi + 0x24]
mov byte [rbp + 0x24], al
jmp 0x1401c8329
mov r8, rdx
mov rcx, r14
mov rdx, rbp
call fcn.1402133a0
cmp byte [rbp + 0x20], 0x59
jne 0x1401c8354
cmp qword [rbp + 0x28], 0
jne 0x1401c833d
cmp qword [rbp + 0x30], 0
je 0x1401c8354
mov rax, qword [rbp + 0x18]
test rax, rax
je 0x1401c834b
cmp dword [rax], 1
je 0x1401c8354
lea rdx, str.RANGE_with_offset_PRECEDING_FOLLOWING_requires_one_ORDER_BY_expression
jmp 0x1401c8371
test byte [r12 + 6], 1
je 0x1401c841c
cmp qword [rbp + 0x48], 0
mov r13, qword [r14]
je 0x1401c837e
lea rdx, str.FILTER_clause_may_only_be_used_with_aggregate_window_functions
mov rcx, r14
call fcn.1401dc700
jmp 0x1401c841c
mov rdx, qword [r12 + 0x38]
lea rdi, [rsp + 0xb0]
lea rsi, str.row_number
mov ecx, 0x30
rep movsd dword [rdi], dword [rsi]
lea rax, [rsp + 0xb0]
xor esi, esi
cmp rdx, qword [rax]
jne 0x1401c8411
mov rdx, qword [rbp + 0x28]
mov rcx, r13
movsxd rsi, esi
imul rsi, rsi, 0x18
call fcn.1401df650
mov rdx, qword [rbp + 0x30]
mov rcx, r13
call fcn.1401df650
xor eax, eax
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x30], rax
mov eax, dword [rsp + rsi + 0xb8]
mov byte [rbp + 0x20], al
mov eax, dword [rsp + rsi + 0xbc]
mov byte [rbp + 0x21], al
mov edx, dword [rsp + rsi + 0xc0]
mov byte [rbp + 0x24], 0
mov byte [rbp + 0x22], dl
cmp al, 0x56
jne 0x1401c841c
lea r8, [0x1402a8613]
mov edx, 0x9b
mov rcx, r13
call fcn.1401dc870
mov qword [rbp + 0x28], rax
jmp 0x1401c841c
inc esi
add rax, 0x18
cmp esi, 8
jne 0x1401c83a3
mov qword [rbp + 0x50], r12
mov rax, qword [r14]
cmp byte [rax + 0x67], 0
je 0x1401c8238
jmp case.0x1401c71a1.1
mov byte [rbx], 0xa8
mov byte [rbx + 2], 0
test byte [rbx + 7], 1
je 0x1401c8454
mov rax, qword [rbx + 0x40]
mov rcx, qword [rsp + 0x1c0]
mov rdx, qword [rax + 0x48]
call fcn.14020edb0
mov rbp, r15
lea r13, [0x140192860]
lea rsi, [0x1401cf1d0]
lea rax, [rsp + 0xb0]
mov ecx, 0xa
mov rdx, qword [rbp + 8]
xorps xmm0, xmm0
mov qword [rsp + 0x30], rax
mov rdi, qword [rsp + 0x30]
xor eax, eax
movaps xmmword [rsp + 0xa0], xmm0
rep stosd dword [rdi], eax
lea rax, [rsp + 0x90]
mov rcx, qword [rsp + 0x30]
lea rdi, [0x1401cf150]
mov qword [rsp + 0xd8], rax
mov rax, qword [r14]
mov qword [rsp + 0x98], rdx
mov rdx, qword [rbx + 0x20]
mov qword [rsp + 0xb8], r13
mov qword [rsp + 0xc0], rdi
mov qword [rsp + 0xc8], rsi
mov qword [rsp + 0x90], rax
call fcn.14020edc0
test byte [rbx + 7], 1
je 0x1401c84f7
mov rax, qword [rbx + 0x40]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rax + 0x48]
call fcn.14020edb0
mov rdx, qword [rsp + 0xa8]
test rdx, rdx
je 0x1401c850c
mov rcx, qword [r14]
call fcn.1401da010
mov eax, dword [rsp + 0xd4]
test al, 1
jne 0x1401c852e
test ax, ax
je 0x1401c852e
inc byte [rbx + 2]
mov rbp, qword [rbp + 0x18]
test rbp, rbp
jne 0x1401c8465
jmp 0x1401c8550
test rbp, rbp
je 0x1401c8550
test r12, r12
je 0x1401c8550
mov eax, dword [r12 + 4]
xor eax, 0x8000000
and eax, 0x8001000
or eax, dword [rbp + 0x28]
or eax, 0x10
mov dword [rbp + 0x28], eax
mov r14d, dword [rsp + 0x38]
and r14d, 0x4001
or dword [r15 + 0x28], r14d
jmp 0x1401c805e
test byte [rbx + 5], 0x10
je case.0x1401c71a1.1
mov edx, dword [r15 + 0x28]
mov esi, dword [r15 + 0x20]
test dl, 0x2e
je 0x1401c8595
mov qword [rsp + 0x20], rbx
mov r9, rbx
lea r8, str.subqueries
mov rcx, r14
call fcn.1401bdd00
jmp 0x1401c85a6
mov rdx, qword [rbx + 0x20]
mov rcx, qword [rsp + 0x1c0]
call fcn.14020ee10
cmp dword [r15 + 0x20], esi
je 0x1401c85b0
or dword [rbx + 4], 0x40
or dword [r15 + 0x28], 0x40
jmp case.0x1401c71a1.1
mov edx, dword [r15 + 0x28]
test dl, 0x2e
je case.0x1401c71a1.1
mov qword [rsp + 0x20], rbx
mov r9, rbx
lea r8, str.parameters
mov rcx, r14
call fcn.1401bdd00
jmp case.0x1401c71a1.1
mov rcx, qword [rbx + 0x18]
call fcn.1401e07e0
mov rsi, rax
test rax, rax
je case.0x1401c71a1.3
mov al, byte [rax]
cmp al, 0x3b
je 0x1401c85fe
cmp al, 0xaa
jne case.0x1401c71a1.3
mov rcx, qword [rsp + 0x1c0]
mov rdx, rsi
call fcn.1401c7150
cmp eax, 2
je 0x1401c868a
cmp byte [rsi], 0xaa
jne case.0x1401c71a1.3
mov al, byte [rbx]
mov byte [rbx], 0xaf
mov byte [rbx + 2], al
xor eax, eax
jmp 0x1401c868a
mov rax, qword [r14]
cmp byte [rax + 0x67], 0
jne case.0x1401c71a1.1
mov rcx, qword [rbx + 0x10]
call fcn.1401e0870
cmp byte [rbx], 0x30
mov r8d, eax
jne 0x1401c8656
mov r9, qword [rbx + 0x20]
mov rcx, qword [r9 + 8]
call fcn.1401e0870
cmp r8d, eax
jne 0x1401c8664
mov rcx, qword [r9 + 0x28]
jmp 0x1401c865a
mov rcx, qword [rbx + 0x18]
call fcn.1401e0870
cmp eax, r8d
je case.0x1401c71a1.1
lea rdx, str.row_value_misused
mov rcx, r14
call fcn.1401dc700
mov rcx, qword [r14]
mov rdx, rbx
call fcn.1401fa770
xor eax, eax
cmp dword [r14 + 0x30], 0
setne al
add eax, eax
add rsp, 0x178
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret