Function at 0x1401b4c40
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, 0x188
mov r15, qword [rcx + 0x28]
mov al, byte [rdx]
mov r14, qword [r15]
mov qword [rsp + 0x1d0], rcx
mov r12, rdx
cmp al, 0x4b
je 0x1401b4cc7
ja 0x1401b4c93
cmp al, 0x14
je case.0x1401b4c91.4
sub eax, 0x2d
cmp al, 0xe
ja case.0x1401b4c91.1
lea rdx, [0x14029d650]
movzx eax, al
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
cmp al, 0x9c
je 0x1401b61d1
ja 0x1401b4cb2
cmp al, 0x8a
je case.0x1401b4c91.4
cmp al, 0x8d
je 0x1401b4dc3
jmp case.0x1401b4c91.1
cmp al, 0xab
je case.0x1401b4c91.0
cmp al, 0xac
je 0x1401b5a70
jmp case.0x1401b4c91.1
mov rax, qword [r15 + 8]
mov rdx, qword [rax + 0x28]
mov eax, dword [rax + 0x4c]
mov word [r12], 0x44a7
dec word [r12 + 0x30]
mov qword [r12 + 0x40], rdx
mov dword [r12 + 0x2c], eax
jmp case.0x1401b4c91.1
mov rdx, r15
xor eax, eax
test rdx, rdx
je 0x1401b4d10
cmp eax, 7
jg 0x1401b4d10
mov ecx, dword [rdx + 0x20]
mov rdx, qword [rdx + 0x18]
mov dword [rsp + rax*4 + 0xc0], ecx
inc rax
jmp 0x1401b4cf3
mov rcx, qword [rsp + 0x1d0]
mov rdx, qword [r12 + 0x10]
call fcn.1401fdf00
mov r9, qword [r12 + 0x10]
mov rcx, r9
call fcn.1401c89f0
test eax, eax
jne 0x1401b57b7
cmp byte [r14 + 0x134], 1
ja 0x1401b57b7
xor eax, eax
cmp byte [r12], 0x33
mov byte [r12], 0x9b
sete al
or dword [r12 + 4], 0x800
mov dword [r12 + 8], eax
mov eax, 1
mov edx, dword [rsp + rax*4 + 0xbc]
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 0x1401b4d67
mov rcx, qword [r14]
mov rdx, r9
call fcn.1401cb1e0
mov qword [r12 + 0x10], 0
jmp 0x1401b57b7
mov qword [rsp + 0x58], 0
mov rax, qword [r12 + 8]
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x40], rax
jmp 0x1401b4e4b
mov rbx, qword [rdx + 0x10]
mov edx, dword [r15 + 0x28]
test dl, 0x28
je 0x1401b4de7
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea r8, str.the__.__operator
mov rcx, r14
call fcn.1401ab520
mov qword [rsp + 0x58], 0
mov r8, qword [r12 + 0x18]
cmp byte [r8], 0x3b
je 0x1401b4e0c
mov rax, qword [rbx + 8]
mov rbx, qword [r8 + 0x10]
mov r8, qword [r8 + 0x18]
mov qword [rsp + 0x58], rax
mov rax, qword [rbx + 8]
cmp byte [r14 + 0x134], 1
mov qword [rsp + 0x38], rax
mov rax, qword [r8 + 8]
mov qword [rsp + 0x40], rax
jbe 0x1401b4e4b
mov rcx, qword [r14 + 0x1a0]
mov rdx, r12
call fcn.1401e89a0
mov rcx, qword [r14 + 0x1a0]
lea rdx, [r12 + 0x40]
mov r8, rbx
call fcn.1401e89a0
mov rax, qword [r14]
cmp qword [rsp + 0x58], 0
mov qword [rsp + 0xc0], 0
mov dword [r12 + 0x2c], 0xffffffff
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x60], 0
je 0x1401b4f0f
test byte [r15 + 0x28], 6
jne 0x1401b4efd
mov esi, dword [rax + 0x28]
xor r11d, r11d
cmp esi, r11d
jle 0x1401b4ebe
mov rax, qword [rsp + 0x50]
mov rbx, r11
mov rdx, qword [rsp + 0x58]
inc r11
shl rbx, 5
add rbx, qword [rax + 0x20]
mov rcx, qword [rbx]
call fcn.1401eea80
test eax, eax
jne 0x1401b4e8a
mov rax, qword [rbx + 0x18]
mov qword [rsp + 0x60], rax
jmp 0x1401b4f0f
mov qword [rsp + 0x60], 0
cmp r11d, esi
jne 0x1401b4f0f
mov rdx, qword [rsp + 0x58]
lea rcx, str.main
call fcn.1401eea80
test eax, eax
jne 0x1401b4f0f
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x20]
mov rdi, qword [rax + 0x18]
mov rax, qword [rax]
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x58], rax
jmp 0x1401b4f0f
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x48], r15
xor esi, esi
mov dword [rsp + 0x68], 0xa7
mov dword [rsp + 0x8c], 0
mov dword [rsp + 0x6c], 0
mov rax, qword [rsp + 0x48]
xor ebx, ebx
mov rax, qword [rax + 8]
mov qword [rsp + 0x70], rax
test rax, rax
je 0x1401b5307
mov dword [rsp + 0x88], 0
lea rbp, [rax + 8]
mov rax, qword [rsp + 0x70]
mov edi, dword [rsp + 0x88]
cmp edi, dword [rax]
jge 0x1401b52d9
mov rdi, qword [rbp + 0x20]
test byte [rbp + 0x41], 0x20
je 0x1401b50d2
mov rax, qword [rbp + 0x28]
xor r13d, r13d
mov dword [rsp + 0x90], 0
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x78], rax
add rax, 8
mov qword [rsp + 0x80], rax
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x78]
cmp r13d, dword [rax]
jge 0x1401b50b7
mov r9, qword [rsp + 0x58]
mov r8, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x80]
call fcn.1401dc8b0
test eax, eax
je 0x1401b50a6
test ebx, ebx
je 0x1401b5066
test byte [rbp + 0x41], 4
je 0x1401b5000
mov rcx, qword [rbp + 0x48]
mov rdx, qword [rsp + 0x40]
call fcn.1401d8f50
test eax, eax
jns 0x1401b5020
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x50]
call fcn.1401cbf90
mov qword [rsp + 0xc0], 0
jmp 0x1401b5066
mov al, byte [rbp + 0x3c]
test al, 0x10
je 0x1401b50a6
test al, 8
jne 0x1401b504d
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x50]
xor ebx, ebx
call fcn.1401cbf90
mov qword [rsp + 0xc0], 0
jmp 0x1401b5066
movsx r9d, word [r12 + 0x30]
mov rdx, qword [rsp + 0x98]
mov r8, rsi
mov rcx, r14
call fcn.14017f480
mov rsi, qword [rsp + 0x78]
movsxd rax, r13d
mov word [r12 + 0x30], r13w
inc ebx
shl rax, 5
lea rdx, [rsi + rax + 0x10]
mov rsi, rbp
mov al, byte [rdx + 0xc]
or eax, 0x40
mov byte [rdx + 0xc], al
test al, al
js 0x1401b52c1
mov dword [rsp + 0x90], 1
mov dword [rsp + 0x6c], 2
add qword [rsp + 0x80], 0x20
inc r13d
jmp 0x1401b4fb2
cmp qword [rsp + 0x38], 0
je 0x1401b52c9
cmp dword [rsp + 0x90], 0
je 0x1401b50de
jmp 0x1401b52c9
cmp qword [rsp + 0x38], 0
je 0x1401b5184
cmp qword [rsp + 0x58], 0
je 0x1401b5113
mov rax, qword [rsp + 0x60]
cmp qword [rdi + 0x60], rax
jne 0x1401b52c9
test rax, rax
jne 0x1401b5113
mov rcx, qword [rsp + 0x58]
lea rdx, [0x14029ba03]
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x1401b52c9
mov rdx, qword [rbp + 0x18]
test rdx, rdx
je 0x1401b5130
mov rcx, qword [rsp + 0x38]
call fcn.1401eea80
test eax, eax
jne 0x1401b52c9
jmp 0x1401b5167
mov rdx, qword [rdi]
mov rcx, qword [rsp + 0x38]
call fcn.1401eea80
test eax, eax
je 0x1401b5184
cmp dword [rdi + 0x28], 1
jne 0x1401b52c9
mov r8, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x38]
mov rdx, rdi
call fcn.1401a3a20
test eax, eax
je 0x1401b52c9
jmp 0x1401b5184
cmp byte [r14 + 0x134], 1
jbe 0x1401b5184
mov rcx, qword [r14 + 0x1a0]
lea r8, [r12 + 0x40]
xor edx, edx
call fcn.1401e89a0
mov rcx, qword [rsp + 0x40]
xor r13d, r13d
call fcn.1401eeac0
mov r8, qword [rdi + 8]
mov byte [rsp + 0x78], al
movsx eax, word [rdi + 0x36]
mov dword [rsp + 0x80], eax
cmp r13d, dword [rsp + 0x80]
jge 0x1401b52ae
mov al, byte [rsp + 0x78]
cmp al, byte [r8 + 0xe]
jne 0x1401b52a2
mov rcx, qword [r8]
mov rdx, qword [rsp + 0x40]
mov qword [rsp + 0x90], r8
call fcn.1401eea80
mov r8, qword [rsp + 0x90]
test eax, eax
jne 0x1401b52a2
mov al, byte [rbp + 0x41]
test ebx, ebx
je 0x1401b5274
test al, 4
je 0x1401b520e
mov rcx, qword [rbp + 0x48]
mov rdx, qword [rsp + 0x40]
call fcn.1401d8f50
mov r8, qword [rsp + 0x90]
test eax, eax
jns 0x1401b522e
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x50]
call fcn.1401cbf90
mov qword [rsp + 0xc0], 0
jmp 0x1401b5274
mov al, byte [rbp + 0x3c]
test al, 0x10
je 0x1401b52a2
test al, 8
jne 0x1401b525b
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x50]
xor ebx, ebx
call fcn.1401cbf90
mov qword [rsp + 0xc0], 0
jmp 0x1401b5274
movsx r9d, word [r12 + 0x30]
lea rdx, [rsp + 0xc0]
mov r8, rsi
mov rcx, r14
call fcn.14017f480
movsx eax, word [rdi + 0x34]
inc ebx
mov rsi, rbp
cmp eax, r13d
mov eax, 0xffffffff
cmovne eax, r13d
mov word [r12 + 0x30], ax
test byte [rbp + 0x41], 0x20
je 0x1401b52c9
mov edx, r13d
mov rcx, rbp
call fcn.1401eda90
jmp 0x1401b52c9
inc r13d
add r8, 0x18
jmp 0x1401b51a4
test ebx, ebx
jne 0x1401b52c9
test byte [rdi + 0x31], 2
jne 0x1401b52c9
inc dword [rsp + 0x6c]
mov rsi, rbp
jmp 0x1401b52c9
mov dword [rsp + 0x6c], 2
inc dword [rsp + 0x88]
add rbp, 0x68
jmp 0x1401b4f59
test rsi, rsi
je 0x1401b5307
mov eax, dword [rsi + 0x44]
mov dword [r12 + 0x2c], eax
mov rax, qword [rsi + 0x20]
mov qword [r12 + 0x40], rax
test byte [rsi + 0x3c], 0x48
je 0x1401b52fe
or dword [r12 + 4], 0x200000
mov rax, qword [rax + 0x60]
mov qword [rsp + 0x60], rax
test ebx, ebx
jne 0x1401b57e2
cmp qword [rsp + 0x58], 0
jne 0x1401b55a7
mov r13, qword [r14 + 0xb0]
cmp qword [rsp + 0x38], 0
setne r11b
test r13, r13
je 0x1401b53dc
cmp byte [r14 + 0xe1], 0
movzx ebx, byte [r14 + 0xe0]
je 0x1401b5382
mov rax, qword [rsp + 0x48]
test byte [rax + 0x29], 4
je 0x1401b53d9
cmp qword [rsp + 0x38], 0
je 0x1401b5370
mov rdx, qword [r13]
mov rcx, qword [rsp + 0x38]
call fcn.1401eea80
test eax, eax
jne 0x1401b53d9
xor eax, eax
cmp ebx, 0x80
setne al
mov dword [r12 + 0x2c], eax
jmp 0x1401b53dc
cmp ebx, 0x80
je 0x1401b53af
test r11b, r11b
je 0x1401b53af
mov rdx, qword [rsp + 0x38]
lea rcx, [0x14029d3db]
call fcn.1401eea80
test eax, eax
jne 0x1401b53af
mov dword [r12 + 0x2c], 1
jmp 0x1401b53dc
cmp ebx, 0x7f
je 0x1401b53d9
test r11b, r11b
je 0x1401b53d9
mov rdx, qword [rsp + 0x38]
lea rcx, [0x14029d3df]
call fcn.1401eea80
test eax, eax
jne 0x1401b53d9
mov dword [r12 + 0x2c], 0
jmp 0x1401b53dc
xor r13d, r13d
mov rax, qword [rsp + 0x48]
test byte [rax + 0x29], 2
je 0x1401b541b
test r11b, r11b
je 0x1401b541b
mov r11, qword [rax + 0x10]
test r11, r11
je 0x1401b541b
mov rdx, qword [rsp + 0x38]
lea rcx, str.excluded
call fcn.1401eea80
test eax, eax
jne 0x1401b541b
mov rax, qword [r11 + 0x40]
mov r13, qword [rax + 0x28]
mov dword [r12 + 0x2c], 2
xor ebx, ebx
test r13, r13
je 0x1401b55a7
mov rcx, qword [rsp + 0x40]
xor r11d, r11d
call fcn.1401eeac0
inc dword [rsp + 0x6c]
mov rbx, qword [r13 + 8]
mov ebp, eax
mov rax, qword [r13 + 0x60]
movsx edi, word [r13 + 0x36]
mov qword [rsp + 0x60], rax
cmp r11d, edi
jge 0x1401b547c
cmp bpl, byte [rbx + 0xe]
jne 0x1401b5473
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rbx]
call fcn.1401eea80
test eax, eax
jne 0x1401b5473
movsx eax, word [r13 + 0x34]
cmp eax, r11d
jne 0x1401b54a7
jmp 0x1401b54a3
inc r11d
add rbx, 0x18
jmp 0x1401b544b
mov rcx, qword [rsp + 0x40]
call fcn.1401db970
mov ebx, eax
test eax, eax
je 0x1401b55af
test byte [r13 + 0x31], 2
jne 0x1401b55a5
test edi, edi
js 0x1401b55a5
or r11d, 0xffffffff
mov eax, dword [r12 + 0x2c]
cmp eax, 2
jne 0x1401b54ed
cmp byte [r14 + 0x134], 1
jbe 0x1401b54d3
mov word [r12 + 0x30], r11w
mov qword [r12 + 0x40], r13
mov dword [rsp + 0x68], 0xa7
jmp 0x1401b559c
mov edx, r11d
mov rcx, r13
call fcn.1401eef80
mov rdi, qword [rsp + 0x48]
cwde
mov rdx, qword [rdi + 0x10]
add eax, dword [rdx + 0x48]
jmp 0x1401b5525
mov qword [r12 + 0x40], r13
cmp byte [r14 + 0xe1], 0
je 0x1401b5534
mov byte [r12 + 2], 0xa7
inc edi
mov edx, r11d
mov rcx, r13
mov word [r12 + 0x30], r11w
imul edi, eax
mov rax, qword [rsp + 0x48]
add edi, dword [rax + 0x10]
call fcn.1401eef80
cwde
lea eax, [rdi + rax + 1]
mov dword [r12 + 0x2c], eax
mov dword [rsp + 0x68], 0xb0
jmp 0x1401b559c
mov word [r12 + 0x30], r11w
cmp r11d, 0xffffffff
jne 0x1401b5548
mov byte [r12 + 1], 0x44
jmp 0x1401b5594
test eax, eax
jne 0x1401b5571
mov eax, dword [r14 + 0xd4]
or edx, 0xffffffff
cmp r11d, 0x1f
jg 0x1401b5566
mov edx, 1
mov ecx, r11d
shl edx, cl
or eax, edx
mov dword [r14 + 0xd4], eax
jmp 0x1401b5594
mov eax, dword [r14 + 0xd8]
or edx, 0xffffffff
cmp r11d, 0x1f
jg 0x1401b558b
mov edx, 1
mov ecx, r11d
shl edx, cl
or eax, edx
mov dword [r14 + 0xd8], eax
mov dword [rsp + 0x68], 0x4d
xor esi, esi
mov ebx, 1
jmp 0x1401b55a7
xor ebx, ebx
test ebx, ebx
jne 0x1401b57e2
cmp dword [rsp + 0x6c], 1
jne 0x1401b55f6
test rsi, rsi
je 0x1401b55fe
mov rax, qword [rsp + 0x48]
test byte [rax + 0x28], 0x28
jne 0x1401b55fe
mov rcx, qword [rsp + 0x40]
call fcn.1401db970
test eax, eax
je 0x1401b55fe
mov rax, qword [rsi + 0x20]
test byte [rax + 0x31], 2
jne 0x1401b55fe
mov word [r12 + 0x30], 0xffff
mov ebx, 1
mov byte [r12 + 1], 0x44
jmp 0x1401b5739
test ebx, ebx
jne 0x1401b57e2
mov rax, qword [rsp + 0x48]
mov ebx, dword [rax + 0x28]
test bl, bl
jns 0x1401b5719
cmp qword [rsp + 0x38], 0
jne 0x1401b5719
mov r13, qword [rax + 0x10]
xor r11d, r11d
mov eax, dword [r13]
mov dword [rsp + 0x70], eax
mov edi, r11d
cmp dword [rsp + 0x70], r11d
jle 0x1401b5719
movsxd rbp, r11d
shl rbp, 5
add rbp, r13
test byte [rbp + 0x1c], 3
jne 0x1401b5711
mov rax, r11
mov rdx, qword [rsp + 0x40]
shl rax, 5
mov r8, qword [r13 + rax + 0x10]
mov rcx, r8
mov qword [rsp + 0x78], r8
call fcn.14020af40
mov r8, qword [rsp + 0x78]
test eax, eax
jne 0x1401b5711
mov rcx, qword [rbp + 8]
mov eax, dword [rcx + 4]
test bl, 1
jne 0x1401b568d
lea rdx, str.misuse_of_aliased_aggregate__s
test al, 0x10
jne 0x1401b56a7
bt eax, 0xf
jae 0x1401b56b4
bt ebx, 0xe
jae 0x1401b56a0
cmp r15, qword [rsp + 0x48]
je 0x1401b56b4
lea rdx, str.misuse_of_aliased_window_function__s
mov rcx, r14
call fcn.1401c84b0
jmp 0x1401b62b4
call fcn.1401cc4b0
dec eax
je 0x1401b56d1
lea rdx, str.row_value_misused
mov rcx, r14
call fcn.1401c84b0
jmp 0x1401b62b4
mov eax, dword [rsp + 0x8c]
mov r9, r12
mov r8d, edi
mov rdx, r13
mov rcx, r14
mov dword [rsp + 0x20], eax
call fcn.1401b4ac0
cmp byte [r14 + 0x134], 1
jbe 0x1401b599d
mov rcx, qword [r14 + 0x1a0]
mov r8, r12
xor edx, edx
call fcn.1401e89a0
jmp 0x1401b599d
inc r11
jmp 0x1401b5629
mov rax, qword [rsp + 0x48]
inc dword [rsp + 0x8c]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x48], rax
test rax, rax
jne 0x1401b4f31
xor ebx, ebx
test ebx, ebx
jne 0x1401b57e2
cmp qword [rsp + 0x38], 0
jne 0x1401b57e2
test byte [r12 + 4], 0x80
je 0x1401b57c4
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0xc5], 0
jne 0x1401b5793
mov rax, qword [rax + 0x30]
test byte [r15 + 0x2a], 1
je 0x1401b5788
mov rdx, rax
and edx, 0x10000001
dec rdx
jne 0x1401b5782
bt eax, 0x1e
jb 0x1401b5793
shr rax, 0x1d
jmp 0x1401b578c
shr rax, 0x1e
and eax, 1
test eax, eax
je 0x1401b57c4
mov r8, qword [rsp + 0x40]
lea rdx, str.double_quoted_string_literal:___w_
mov ecx, 0x1c
call fcn.140207610
mov byte [r12], 0x75
mov qword [r12 + 0x40], 0
mov dword [rsp + 0x38], 1
jmp 0x1401b62bc
mov rcx, r12
call fcn.1401cb410
test eax, eax
jne 0x1401b57b7
mov rdx, qword [rsp + 0xc0]
test rdx, rdx
jne 0x1401b57ed
jmp 0x1401b5891
cmp ebx, 1
je 0x1401b5927
jmp 0x1401b57d0
lea eax, [rbx - 1]
cmp dword [rdx], eax
jne 0x1401b587b
mov eax, dword [r12 + 4]
bt eax, 0x17
jae 0x1401b580f
and eax, 0xff7fffff
mov dword [r12 + 4], eax
jmp 0x1401b583f
mov rdx, qword [r12 + 0x10]
mov rcx, qword [rsp + 0x50]
call fcn.1401cb1e0
mov rdx, qword [r12 + 0x18]
mov rcx, qword [rsp + 0x50]
mov qword [r12 + 0x10], 0
call fcn.1401cb1e0
mov qword [r12 + 0x18], 0
movsx r9d, word [r12 + 0x30]
lea rdx, [rsp + 0xc0]
mov r8, rsi
mov rcx, r14
call fcn.14017f480
lea rax, str.coalesce
mov byte [r12], 0xac
mov qword [r12 + 8], rax
mov rax, qword [rsp + 0xc0]
mov qword [r12 + 0x20], rax
jmp 0x1401b599d
mov rcx, qword [rsp + 0x50]
call fcn.1401cbf90
mov qword [rsp + 0xc0], 0
test ebx, ebx
lea r8, str.ambiguous_column_name
lea rax, str.no_such_column
cmove r8, rax
cmp qword [rsp + 0x58], 0
je 0x1401b58d7
mov rax, qword [rsp + 0x40]
mov r9, qword [rsp + 0x58]
lea rdx, str._s:__s._s._s
mov rcx, r14
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x20], rax
call fcn.1401c84b0
jmp 0x1401b5913
cmp qword [rsp + 0x38], 0
je 0x1401b58ff
mov rax, qword [rsp + 0x40]
mov r9, qword [rsp + 0x38]
lea rdx, str._s:__s._s
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.1401c84b0
jmp 0x1401b5913
mov r9, qword [rsp + 0x40]
lea rdx, str._s:__s
mov rcx, r14
call fcn.1401c84b0
mov rcx, qword [r14]
mov rdx, r12
call fcn.1401e8490
mov byte [r14 + 0x1d], 1
inc dword [r15 + 0x24]
test dword [r12 + 4], 0x810000
jne 0x1401b596b
mov rdx, qword [r12 + 0x10]
mov rcx, qword [rsp + 0x50]
call fcn.1401cb1e0
mov rdx, qword [r12 + 0x18]
mov rcx, qword [rsp + 0x50]
mov qword [r12 + 0x10], 0
call fcn.1401cb1e0
or dword [r12 + 4], 0x800000
mov qword [r12 + 0x18], 0
cmp word [r12 + 0x30], 0
js 0x1401b5985
test rsi, rsi
je 0x1401b5985
mov rcx, r12
call fcn.1401cabe0
or qword [rsi + 0x50], rax
mov al, byte [rsp + 0x68]
dec ebx
mov dword [rsp + 0x38], 2
mov byte [r12], al
jne 0x1401b62bc
mov rcx, qword [r14]
cmp qword [rcx + 0x200], 0
je 0x1401b5a5b
mov r10b, byte [r12]
cmp r10b, 0xa7
je 0x1401b59c2
cmp r10b, 0x4d
jne 0x1401b5a5b
mov rdx, qword [rsp + 0x60]
call fcn.1401e9ec0
mov r9d, eax
test eax, eax
js 0x1401b5a5b
cmp r10b, 0x4d
je 0x1401b59ed
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax + 8]
xor eax, eax
mov r8d, dword [rcx]
jmp 0x1401b59f6
mov rdx, qword [r14 + 0xb0]
jmp 0x1401b5a1a
movsxd rdx, eax
cmp r8d, eax
jle 0x1401b5a5b
inc rax
imul r10, rax, 0x68
mov edi, dword [rcx + r10 - 0x1c]
cmp dword [r12 + 0x2c], edi
jne 0x1401b59f6
imul rdx, rdx, 0x68
mov rdx, qword [rcx + rdx + 0x28]
test rdx, rdx
je 0x1401b5a5b
movsx rax, word [r12 + 0x30]
test ax, ax
jns 0x1401b5a3b
movsx rax, word [rdx + 0x34]
lea r8, str.ROWID
test ax, ax
js 0x1401b5a46
imul rax, rax, 0x18
add rax, qword [rdx + 8]
mov r8, qword [rax]
mov rdx, qword [rdx]
mov rcx, r14
call fcn.1401bf2d0
cmp eax, 2
jne 0x1401b5a5b
mov byte [r12], 0x79
inc dword [r15 + 0x20]
cmp qword [rsp + 0x48], r15
je 0x1401b57b7
mov r15, qword [r15 + 0x18]
jmp 0x1401b5a5b
mov rsi, qword [rdx + 0x20]
xor edi, edi
test rsi, rsi
je 0x1401b5a7d
mov edi, dword [rsi]
mov rcx, qword [r14]
mov ebp, dword [r15 + 0x28]
xor r13d, r13d
movzx r9d, byte [rcx + 0x64]
test byte [r12 + 7], 1
je 0x1401b5aa3
mov r13, qword [r12 + 0x40]
cmp byte [r13 + 0x20], 0xa6
jne 0x1401b5aa3
xor r13d, r13d
mov rdx, qword [r12 + 8]
mov dword [rsp + 0x20], 0
mov r8d, edi
mov dword [rsp + 0x40], r9d
mov qword [rsp + 0x38], rdx
call fcn.1401cc600
mov rdx, qword [rsp + 0x38]
mov r9d, dword [rsp + 0x40]
test rax, rax
mov rbx, rax
jne 0x1401b5b0d
mov dword [rsp + 0x20], 0
mov rcx, qword [r14]
mov r8d, 0xfffffffe
call fcn.1401cc600
mov dword [rsp + 0x38], 0
cmp rax, 1
mov rbx, rax
sbb edi, edi
xor r9d, r9d
inc edi
cmp rax, 1
setb r9b
jmp 0x1401b5cc4
xor eax, eax
cmp qword [rbx + 0x20], 0
setne al
mov dword [rsp + 0x38], eax
test byte [rbx + 5], 4
je 0x1401b5bdc
or dword [r12 + 4], 0x80000
cmp edi, 2
jne 0x1401b5bc3
mov rax, qword [rsi + 0x28]
mov rdi, qword [0x1402a4ef0]
mov qword [rsp + 0xc0], rdi
cmp byte [rax], 0x99
je 0x1401b5b5a
mov dword [r12 + 0x2c], 0xffffffff
jmp 0x1401b5bab
mov rcx, qword [rax + 8]
mov qword [rsp + 0x40], rcx
call fcn.1401eeb00
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0xc0]
mov r9d, 1
mov r8d, eax
call fcn.1401bec30
movsd xmm0, qword [rsp + 0xc0]
comisd xmm0, xmmword [0x1402a4dc0]
ja 0x1401b5b4f
mulsd xmm0, qword [0x1402a4ef8]
cvttsd2si eax, xmm0
mov dword [r12 + 0x2c], eax
test eax, eax
jns 0x1401b5bdc
mov r8, r12
lea rdx, str.second_argument_to__T___must_be_a_constant_between_0.0_and_1.0
mov rcx, r14
call fcn.1401c84b0
inc dword [r15 + 0x24]
jmp 0x1401b5bdc
mov rax, qword [rbx + 0x38]
mov edx, 0x7800000
cmp byte [rax], 0x75
mov eax, 0x800000
cmovne eax, edx
mov dword [r12 + 0x2c], eax
mov r9, qword [rbx + 0x38]
xor r8d, r8d
mov edx, 0x1f
mov rcx, r14
mov qword [rsp + 0x20], 0
call fcn.1401bf230
mov edi, eax
test eax, eax
je 0x1401b5c23
dec edi
jne 0x1401b5c19
mov r8, r12
lea rdx, str.not_authorized_to_use_function:__T
mov rcx, r14
call fcn.1401c84b0
inc dword [r15 + 0x24]
mov byte [r12], 0x79
jmp 0x1401b57b7
mov eax, dword [rbx + 4]
test ah, 0x28
je 0x1401b5c34
or dword [r12 + 4], 0x100000
bt eax, 0xb
mov edx, dword [r15 + 0x28]
jb 0x1401b5c5c
test dl, 0x2a
je 0x1401b5c75
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea r8, str.non_deterministic_functions
mov rcx, r14
call fcn.1401ab520
jmp 0x1401b5c75
mov eax, edx
and eax, 0x2e
bt edx, 0x12
mov byte [r12 + 2], al
jae 0x1401b5c75
or dword [r12 + 4], 0x40000000
mov eax, dword [rbx + 4]
bt eax, 0x12
jae 0x1401b5c8e
cmp byte [r14 + 0x1e], 0
jne 0x1401b5c8e
mov rdx, qword [r14]
test byte [rdx + 0x2c], 0x20
je 0x1401b5cbc
xor r9d, r9d
test eax, 0x280000
je 0x1401b5cc4
cmp byte [r14 + 0x134], 1
ja 0x1401b5cc4
mov r8, rbx
mov rdx, r12
mov rcx, r14
mov dword [rsp + 0x40], r9d
call fcn.1401cb3e0
mov r9d, dword [rsp + 0x40]
jmp 0x1401b5cc4
xor ebx, ebx
mov r9d, 1
cmp byte [r14 + 0x134], 1
ja 0x1401b5dce
test rbx, rbx
je 0x1401b5ced
cmp qword [rbx + 0x28], 0
jne 0x1401b5ced
mov r8, r12
lea rdx, str._T___may_not_be_used_as_a_window_function
test r13, r13
jne 0x1401b5d64
cmp dword [rsp + 0x38], 0
je 0x1401b5d49
movzx eax, word [rbx + 6]
mov edx, dword [r15 + 0x28]
and eax, 1
test dl, 1
je 0x1401b5d1a
test r13, r13
jne 0x1401b5d12
test al, al
jne 0x1401b5d2a
test r13, r13
je 0x1401b5d49
bt edx, 0xe
jae 0x1401b5d2a
jmp 0x1401b5d49
test r13, r13
jne 0x1401b5d2a
lea r8, str.aggregate
test al, al
je 0x1401b5d31
lea r8, str.window
mov r9, r12
lea rdx, str.misuse_of__s_function__T__
mov rcx, r14
call fcn.1401c84b0
inc dword [r15 + 0x24]
jmp 0x1401b5daf
test r9d, r9d
je 0x1401b5d79
mov rax, qword [r14]
cmp byte [rax + 0xc5], 0
jne 0x1401b5d79
mov r8, r12
lea rdx, str.no_such_function:__T
mov rcx, r14
call fcn.1401c84b0
inc dword [r15 + 0x24]
cmp dword [rsp + 0x38], 0
jne 0x1401b5d8e
jmp 0x1401b5daf
mov r8, r12
lea rdx, str.wrong_number_of_arguments_to_function__T__
test edi, edi
jne 0x1401b5d64
cmp dword [rsp + 0x38], 0
je 0x1401b5da7
cmp r13, 1
mov dword [rsp + 0x38], 1
sbb eax, eax
sub eax, 0x4001
and dword [r15 + 0x28], eax
jmp 0x1401b5de2
test byte [r12 + 7], 1
jne 0x1401b5db9
mov dword [rsp + 0x38], 0
jmp 0x1401b5de2
lea rdx, str.FILTER_may_not_be_used_with_non_aggregate__T__
mov rcx, r14
call fcn.1401c84b0
inc dword [r15 + 0x24]
jmp 0x1401b5de2
test byte [r12 + 7], 1
mov eax, 1
cmove eax, dword [rsp + 0x38]
mov dword [rsp + 0x38], eax
mov rcx, qword [rsp + 0x1d0]
mov rdx, rsi
call fcn.1401fdf10
cmp dword [rsp + 0x38], 0
je 0x1401b57b7
test r13, r13
je 0x1401b6033
cmp byte [r14 + 0x134], 1
mov r12, qword [r15 + 0x30]
jbe 0x1401b5e5f
mov rdx, qword [r13 + 0x10]
mov rcx, qword [rsp + 0x1d0]
call fcn.1401fdf10
mov rdx, qword [r13 + 0x18]
mov rcx, qword [rsp + 0x1d0]
call fcn.1401fdf10
mov rdx, qword [r13 + 0x48]
mov rcx, qword [rsp + 0x1d0]
call fcn.1401fdf00
mov rdx, r13
mov rcx, r12
call fcn.140202900
or dword [r15 + 0x28], 0x8000
jmp 0x1401b6168
xor edx, edx
test r12, r12
je 0x1401b5e6b
mov rdx, qword [r12 + 0x78]
mov r8, qword [r13]
test r8, r8
je 0x1401b5efd
cmp byte [r13 + 0x20], 0
jne 0x1401b5efd
mov rcx, r14
call fcn.14021dec0
mov rsi, rax
test rax, rax
je 0x1401b6021
mov rdx, qword [rax + 0x10]
mov rcx, qword [r14]
xor r8d, r8d
call fcn.1401cbfa0
mov rdx, qword [rsi + 0x18]
mov rcx, qword [r14]
xor r8d, r8d
mov qword [r13 + 0x10], rax
call fcn.1401cbfa0
mov rdx, qword [rsi + 0x28]
mov rcx, qword [r14]
xor r8d, r8d
mov qword [r13 + 0x18], rax
call fcn.1401cb290
mov rdx, qword [rsi + 0x30]
mov rcx, qword [r14]
xor r8d, r8d
mov qword [r13 + 0x28], rax
call fcn.1401cb290
mov qword [r13 + 0x30], rax
mov al, byte [rsi + 0x21]
mov byte [r13 + 0x21], al
mov al, byte [rsi + 0x22]
mov byte [r13 + 0x22], al
mov al, byte [rsi + 0x20]
mov byte [r13 + 0x20], al
mov al, byte [rsi + 0x24]
mov byte [r13 + 0x24], al
jmp 0x1401b5f0b
mov r8, rdx
mov rcx, r14
mov rdx, r13
call fcn.140202570
cmp byte [r13 + 0x20], 0x59
jne 0x1401b5f37
cmp qword [r13 + 0x28], 0
jne 0x1401b5f20
cmp qword [r13 + 0x30], 0
je 0x1401b5f37
mov rax, qword [r13 + 0x18]
test rax, rax
je 0x1401b5f2e
cmp dword [rax], 1
je 0x1401b5f37
lea rdx, str.RANGE_with_offset_PRECEDING_FOLLOWING_requires_one_ORDER_BY_expression
jmp 0x1401b5f4f
test byte [rbx + 6], 1
je 0x1401b601d
cmp qword [r13 + 0x48], 0
je 0x1401b5f5c
lea rdx, str.FILTER_clause_may_only_be_used_with_aggregate_window_functions
mov rcx, r14
call fcn.1401c84b0
jmp 0x1401b601d
mov rdx, qword [rbx + 0x38]
mov r9, qword [r14]
lea rdi, [rsp + 0xc0]
lea rsi, str.row_number
mov ecx, 0x30
lea rax, [rsp + 0xc0]
rep movsd dword [rdi], dword [rsi]
xor esi, esi
cmp rdx, qword [rax]
jne 0x1401b600e
mov rdx, qword [r13 + 0x28]
mov rcx, r9
movsxd rsi, esi
mov qword [rsp + 0x40], r9
imul rsi, rsi, 0x18
call fcn.1401cb1e0
mov r9, qword [rsp + 0x40]
mov rdx, qword [r13 + 0x30]
mov rcx, r9
call fcn.1401cb1e0
mov eax, dword [rsp + rsi + 0xc8]
mov r9, qword [rsp + 0x40]
mov qword [r13 + 0x28], 0
mov qword [r13 + 0x30], 0
mov byte [r13 + 0x20], al
mov eax, dword [rsp + rsi + 0xcc]
mov byte [r13 + 0x21], al
mov edx, dword [rsp + rsi + 0xd0]
cmp al, 0x56
mov byte [r13 + 0x24], 0
mov byte [r13 + 0x22], dl
jne 0x1401b601d
lea r8, [0x14029bc30]
mov edx, 0x9b
mov rcx, r9
call fcn.1401c8630
mov qword [r13 + 0x28], rax
jmp 0x1401b601d
inc esi
add rax, 0x18
cmp esi, 8
jne 0x1401b5f83
mov qword [r13 + 0x50], rbx
mov rax, qword [r14]
cmp byte [rax + 0x67], 0
je 0x1401b5e14
jmp case.0x1401b4c91.1
mov byte [r12], 0xa8
mov byte [r12 + 2], 0
test byte [r12 + 7], 1
je 0x1401b605c
mov rax, qword [r12 + 0x40]
mov rcx, qword [rsp + 0x1d0]
mov rdx, qword [rax + 0x48]
call fcn.1401fdf00
mov rsi, r15
lea r13, [0x14017f190]
lea r9, [rsp + 0xc0]
xor eax, eax
mov ecx, 0xa
mov rdx, qword [rsi + 8]
mov rdi, r9
mov qword [rsp + 0x40], r9
rep stosd dword [rdi], eax
mov rcx, r9
lea rax, [rsp + 0xa0]
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xe8], rax
lea rdi, [0x1401bcfb0]
mov qword [rsp + 0xb8], 0
mov rax, qword [r14]
mov qword [rsp + 0xa8], rdx
mov rdx, qword [r12 + 0x20]
mov qword [rsp + 0xd0], rdi
lea rdi, [0x1401bd030]
mov qword [rsp + 0xc8], r13
mov qword [rsp + 0xd8], rdi
mov qword [rsp + 0xa0], rax
call fcn.1401fdf10
test byte [r12 + 7], 1
mov r9, qword [rsp + 0x40]
je 0x1401b610f
mov rax, qword [r12 + 0x40]
mov rcx, r9
mov rdx, qword [rax + 0x48]
call fcn.1401fdf00
mov rdx, qword [rsp + 0xb8]
test rdx, rdx
je 0x1401b6124
mov rcx, qword [r14]
call fcn.1401c5f20
mov eax, dword [rsp + 0xe4]
test al, 1
jne 0x1401b6148
test ax, ax
je 0x1401b6148
inc byte [r12 + 2]
mov rsi, qword [rsi + 0x18]
test rsi, rsi
jne 0x1401b6066
jmp 0x1401b6168
test rsi, rsi
je 0x1401b6168
test rbx, rbx
je 0x1401b6168
mov eax, dword [rbx + 4]
xor eax, 0x8000000
and eax, 0x8001000
or eax, dword [rsi + 0x28]
or eax, 0x10
mov dword [rsi + 0x28], eax
and ebp, 0x4001
or dword [r15 + 0x28], ebp
jmp 0x1401b62bc
test byte [r12 + 5], 0x10
je case.0x1401b4c91.1
mov edx, dword [r15 + 0x28]
mov ebx, dword [r15 + 0x20]
test dl, 0x2e
je 0x1401b61a9
mov qword [rsp + 0x20], r12
mov r9, r12
lea r8, str.subqueries
mov rcx, r14
call fcn.1401ab520
jmp 0x1401b61bb
mov rdx, qword [r12 + 0x20]
mov rcx, qword [rsp + 0x1d0]
call fcn.1401fdf60
cmp dword [r15 + 0x20], ebx
je 0x1401b61c7
or dword [r12 + 4], 0x40
or dword [r15 + 0x28], 0x40
jmp case.0x1401b4c91.1
mov edx, dword [r15 + 0x28]
test dl, 0x2e
je case.0x1401b4c91.1
mov qword [rsp + 0x20], r12
mov r9, r12
lea r8, str.parameters
mov rcx, r14
call fcn.1401ab520
jmp case.0x1401b4c91.1
mov rcx, qword [r12 + 0x18]
call fcn.1401cc420
mov rbx, rax
test rax, rax
je case.0x1401b4c91.3
mov al, byte [rax]
cmp al, 0x3b
je 0x1401b6216
cmp al, 0xaa
jne case.0x1401b4c91.3
mov rcx, qword [rsp + 0x1d0]
mov rdx, rbx
call fcn.1401b4c40
cmp eax, 2
je 0x1401b62b4
cmp byte [rbx], 0xaa
jne case.0x1401b4c91.3
mov al, byte [r12]
mov dword [rsp + 0x38], 0
mov byte [r12], 0xaf
mov byte [r12 + 2], al
jmp 0x1401b62bc
mov rax, qword [r14]
cmp byte [rax + 0x67], 0
jne case.0x1401b4c91.1
mov rcx, qword [r12 + 0x10]
call fcn.1401cc4b0
cmp byte [r12], 0x30
mov edx, eax
jne 0x1401b6280
mov r9, qword [r12 + 0x20]
mov rcx, qword [r9 + 8]
call fcn.1401cc4b0
cmp edx, eax
jne 0x1401b628e
mov rcx, qword [r9 + 0x28]
jmp 0x1401b6285
mov rcx, qword [r12 + 0x18]
call fcn.1401cc4b0
cmp eax, edx
je case.0x1401b4c91.1
lea rdx, str.row_value_misused
mov rcx, r14
call fcn.1401c84b0
mov rcx, qword [r14]
mov rdx, r12
call fcn.1401e8490
mov eax, dword [r14 + 0x30]
mov dword [rsp + 0x38], eax
test eax, eax
je 0x1401b62bc
mov dword [rsp + 0x38], 2
mov eax, dword [rsp + 0x38]
add rsp, 0x188
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret