Function at 0x1401a83c0
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 0x1401a8447
ja 0x1401a8413
cmp al, 0x14
je case.0x1401a8411.4
sub eax, 0x2d
cmp al, 0xe
ja case.0x1401a8411.1
lea rdx, [0x140290cd0]
movzx eax, al
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
cmp al, 0x9c
je 0x1401a9951
ja 0x1401a8432
cmp al, 0x8a
je case.0x1401a8411.4
cmp al, 0x8d
je 0x1401a8543
jmp case.0x1401a8411.1
cmp al, 0xab
je case.0x1401a8411.0
cmp al, 0xac
je 0x1401a91f0
jmp case.0x1401a8411.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.0x1401a8411.1
mov rdx, r15
xor eax, eax
test rdx, rdx
je 0x1401a8490
cmp eax, 7
jg 0x1401a8490
mov ecx, dword [rdx + 0x20]
mov rdx, qword [rdx + 0x18]
mov dword [rsp + rax*4 + 0xc0], ecx
inc rax
jmp 0x1401a8473
mov rcx, qword [rsp + 0x1d0]
mov rdx, qword [r12 + 0x10]
call fcn.1401f1680
mov r9, qword [r12 + 0x10]
mov rcx, r9
call fcn.1401bc170
test eax, eax
jne 0x1401a8f37
cmp byte [r14 + 0x134], 1
ja 0x1401a8f37
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 0x1401a84e7
mov rcx, qword [r14]
mov rdx, r9
call fcn.1401be960
mov qword [r12 + 0x10], 0
jmp 0x1401a8f37
mov qword [rsp + 0x58], 0
mov rax, qword [r12 + 8]
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x40], rax
jmp 0x1401a85cb
mov rbx, qword [rdx + 0x10]
mov edx, dword [r15 + 0x28]
test dl, 0x28
je 0x1401a8567
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea r8, str.the__.__operator
mov rcx, r14
call fcn.14019eca0
mov qword [rsp + 0x58], 0
mov r8, qword [r12 + 0x18]
cmp byte [r8], 0x3b
je 0x1401a858c
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 0x1401a85cb
mov rcx, qword [r14 + 0x1a0]
mov rdx, r12
call fcn.1401dc120
mov rcx, qword [r14 + 0x1a0]
lea rdx, [r12 + 0x40]
mov r8, rbx
call fcn.1401dc120
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 0x1401a868f
test byte [r15 + 0x28], 6
jne 0x1401a867d
mov esi, dword [rax + 0x28]
xor r11d, r11d
cmp esi, r11d
jle 0x1401a863e
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.1401e2200
test eax, eax
jne 0x1401a860a
mov rax, qword [rbx + 0x18]
mov qword [rsp + 0x60], rax
jmp 0x1401a868f
mov qword [rsp + 0x60], 0
cmp r11d, esi
jne 0x1401a868f
mov rdx, qword [rsp + 0x58]
lea rcx, str.main
call fcn.1401e2200
test eax, eax
jne 0x1401a868f
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 0x1401a868f
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 0x1401a8a87
mov dword [rsp + 0x88], 0
lea rbp, [rax + 8]
mov rax, qword [rsp + 0x70]
mov edi, dword [rsp + 0x88]
cmp edi, dword [rax]
jge 0x1401a8a59
mov rdi, qword [rbp + 0x20]
test byte [rbp + 0x41], 0x20
je 0x1401a8852
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 0x1401a8837
mov r9, qword [rsp + 0x58]
mov r8, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x80]
call fcn.1401d0030
test eax, eax
je 0x1401a8826
test ebx, ebx
je 0x1401a87e6
test byte [rbp + 0x41], 4
je 0x1401a8780
mov rcx, qword [rbp + 0x48]
mov rdx, qword [rsp + 0x40]
call fcn.1401cc6d0
test eax, eax
jns 0x1401a87a0
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x50]
call fcn.1401bf710
mov qword [rsp + 0xc0], 0
jmp 0x1401a87e6
mov al, byte [rbp + 0x3c]
test al, 0x10
je 0x1401a8826
test al, 8
jne 0x1401a87cd
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x50]
xor ebx, ebx
call fcn.1401bf710
mov qword [rsp + 0xc0], 0
jmp 0x1401a87e6
movsx r9d, word [r12 + 0x30]
mov rdx, qword [rsp + 0x98]
mov r8, rsi
mov rcx, r14
call fcn.140172c00
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 0x1401a8a41
mov dword [rsp + 0x90], 1
mov dword [rsp + 0x6c], 2
add qword [rsp + 0x80], 0x20
inc r13d
jmp 0x1401a8732
cmp qword [rsp + 0x38], 0
je 0x1401a8a49
cmp dword [rsp + 0x90], 0
je 0x1401a885e
jmp 0x1401a8a49
cmp qword [rsp + 0x38], 0
je 0x1401a8904
cmp qword [rsp + 0x58], 0
je 0x1401a8893
mov rax, qword [rsp + 0x60]
cmp qword [rdi + 0x60], rax
jne 0x1401a8a49
test rax, rax
jne 0x1401a8893
mov rcx, qword [rsp + 0x58]
lea rdx, [0x14028f083]
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x1401a8a49
mov rdx, qword [rbp + 0x18]
test rdx, rdx
je 0x1401a88b0
mov rcx, qword [rsp + 0x38]
call fcn.1401e2200
test eax, eax
jne 0x1401a8a49
jmp 0x1401a88e7
mov rdx, qword [rdi]
mov rcx, qword [rsp + 0x38]
call fcn.1401e2200
test eax, eax
je 0x1401a8904
cmp dword [rdi + 0x28], 1
jne 0x1401a8a49
mov r8, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x38]
mov rdx, rdi
call fcn.1401971a0
test eax, eax
je 0x1401a8a49
jmp 0x1401a8904
cmp byte [r14 + 0x134], 1
jbe 0x1401a8904
mov rcx, qword [r14 + 0x1a0]
lea r8, [r12 + 0x40]
xor edx, edx
call fcn.1401dc120
mov rcx, qword [rsp + 0x40]
xor r13d, r13d
call fcn.1401e2240
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 0x1401a8a2e
mov al, byte [rsp + 0x78]
cmp al, byte [r8 + 0xe]
jne 0x1401a8a22
mov rcx, qword [r8]
mov rdx, qword [rsp + 0x40]
mov qword [rsp + 0x90], r8
call fcn.1401e2200
mov r8, qword [rsp + 0x90]
test eax, eax
jne 0x1401a8a22
mov al, byte [rbp + 0x41]
test ebx, ebx
je 0x1401a89f4
test al, 4
je 0x1401a898e
mov rcx, qword [rbp + 0x48]
mov rdx, qword [rsp + 0x40]
call fcn.1401cc6d0
mov r8, qword [rsp + 0x90]
test eax, eax
jns 0x1401a89ae
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x50]
call fcn.1401bf710
mov qword [rsp + 0xc0], 0
jmp 0x1401a89f4
mov al, byte [rbp + 0x3c]
test al, 0x10
je 0x1401a8a22
test al, 8
jne 0x1401a89db
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x50]
xor ebx, ebx
call fcn.1401bf710
mov qword [rsp + 0xc0], 0
jmp 0x1401a89f4
movsx r9d, word [r12 + 0x30]
lea rdx, [rsp + 0xc0]
mov r8, rsi
mov rcx, r14
call fcn.140172c00
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 0x1401a8a49
mov edx, r13d
mov rcx, rbp
call fcn.1401e1210
jmp 0x1401a8a49
inc r13d
add r8, 0x18
jmp 0x1401a8924
test ebx, ebx
jne 0x1401a8a49
test byte [rdi + 0x31], 2
jne 0x1401a8a49
inc dword [rsp + 0x6c]
mov rsi, rbp
jmp 0x1401a8a49
mov dword [rsp + 0x6c], 2
inc dword [rsp + 0x88]
add rbp, 0x68
jmp 0x1401a86d9
test rsi, rsi
je 0x1401a8a87
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 0x1401a8a7e
or dword [r12 + 4], 0x200000
mov rax, qword [rax + 0x60]
mov qword [rsp + 0x60], rax
test ebx, ebx
jne 0x1401a8f62
cmp qword [rsp + 0x58], 0
jne 0x1401a8d27
mov r13, qword [r14 + 0xb0]
cmp qword [rsp + 0x38], 0
setne r11b
test r13, r13
je 0x1401a8b5c
cmp byte [r14 + 0xe1], 0
movzx ebx, byte [r14 + 0xe0]
je 0x1401a8b02
mov rax, qword [rsp + 0x48]
test byte [rax + 0x29], 4
je 0x1401a8b59
cmp qword [rsp + 0x38], 0
je 0x1401a8af0
mov rdx, qword [r13]
mov rcx, qword [rsp + 0x38]
call fcn.1401e2200
test eax, eax
jne 0x1401a8b59
xor eax, eax
cmp ebx, 0x80
setne al
mov dword [r12 + 0x2c], eax
jmp 0x1401a8b5c
cmp ebx, 0x80
je 0x1401a8b2f
test r11b, r11b
je 0x1401a8b2f
mov rdx, qword [rsp + 0x38]
lea rcx, [0x140290a5b]
call fcn.1401e2200
test eax, eax
jne 0x1401a8b2f
mov dword [r12 + 0x2c], 1
jmp 0x1401a8b5c
cmp ebx, 0x7f
je 0x1401a8b59
test r11b, r11b
je 0x1401a8b59
mov rdx, qword [rsp + 0x38]
lea rcx, [0x140290a5f]
call fcn.1401e2200
test eax, eax
jne 0x1401a8b59
mov dword [r12 + 0x2c], 0
jmp 0x1401a8b5c
xor r13d, r13d
mov rax, qword [rsp + 0x48]
test byte [rax + 0x29], 2
je 0x1401a8b9b
test r11b, r11b
je 0x1401a8b9b
mov r11, qword [rax + 0x10]
test r11, r11
je 0x1401a8b9b
mov rdx, qword [rsp + 0x38]
lea rcx, str.excluded
call fcn.1401e2200
test eax, eax
jne 0x1401a8b9b
mov rax, qword [r11 + 0x40]
mov r13, qword [rax + 0x28]
mov dword [r12 + 0x2c], 2
xor ebx, ebx
test r13, r13
je 0x1401a8d27
mov rcx, qword [rsp + 0x40]
xor r11d, r11d
call fcn.1401e2240
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 0x1401a8bfc
cmp bpl, byte [rbx + 0xe]
jne 0x1401a8bf3
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rbx]
call fcn.1401e2200
test eax, eax
jne 0x1401a8bf3
movsx eax, word [r13 + 0x34]
cmp eax, r11d
jne 0x1401a8c27
jmp 0x1401a8c23
inc r11d
add rbx, 0x18
jmp 0x1401a8bcb
mov rcx, qword [rsp + 0x40]
call fcn.1401cf0f0
mov ebx, eax
test eax, eax
je 0x1401a8d2f
test byte [r13 + 0x31], 2
jne 0x1401a8d25
test edi, edi
js 0x1401a8d25
or r11d, 0xffffffff
mov eax, dword [r12 + 0x2c]
cmp eax, 2
jne 0x1401a8c6d
cmp byte [r14 + 0x134], 1
jbe 0x1401a8c53
mov word [r12 + 0x30], r11w
mov qword [r12 + 0x40], r13
mov dword [rsp + 0x68], 0xa7
jmp 0x1401a8d1c
mov edx, r11d
mov rcx, r13
call fcn.1401e2700
mov rdi, qword [rsp + 0x48]
cwde
mov rdx, qword [rdi + 0x10]
add eax, dword [rdx + 0x48]
jmp 0x1401a8ca5
mov qword [r12 + 0x40], r13
cmp byte [r14 + 0xe1], 0
je 0x1401a8cb4
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.1401e2700
cwde
lea eax, [rdi + rax + 1]
mov dword [r12 + 0x2c], eax
mov dword [rsp + 0x68], 0xb0
jmp 0x1401a8d1c
mov word [r12 + 0x30], r11w
cmp r11d, 0xffffffff
jne 0x1401a8cc8
mov byte [r12 + 1], 0x44
jmp 0x1401a8d14
test eax, eax
jne 0x1401a8cf1
mov eax, dword [r14 + 0xd4]
or edx, 0xffffffff
cmp r11d, 0x1f
jg 0x1401a8ce6
mov edx, 1
mov ecx, r11d
shl edx, cl
or eax, edx
mov dword [r14 + 0xd4], eax
jmp 0x1401a8d14
mov eax, dword [r14 + 0xd8]
or edx, 0xffffffff
cmp r11d, 0x1f
jg 0x1401a8d0b
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 0x1401a8d27
xor ebx, ebx
test ebx, ebx
jne 0x1401a8f62
cmp dword [rsp + 0x6c], 1
jne 0x1401a8d76
test rsi, rsi
je 0x1401a8d7e
mov rax, qword [rsp + 0x48]
test byte [rax + 0x28], 0x28
jne 0x1401a8d7e
mov rcx, qword [rsp + 0x40]
call fcn.1401cf0f0
test eax, eax
je 0x1401a8d7e
mov rax, qword [rsi + 0x20]
test byte [rax + 0x31], 2
jne 0x1401a8d7e
mov word [r12 + 0x30], 0xffff
mov ebx, 1
mov byte [r12 + 1], 0x44
jmp 0x1401a8eb9
test ebx, ebx
jne 0x1401a8f62
mov rax, qword [rsp + 0x48]
mov ebx, dword [rax + 0x28]
test bl, bl
jns 0x1401a8e99
cmp qword [rsp + 0x38], 0
jne 0x1401a8e99
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 0x1401a8e99
movsxd rbp, r11d
shl rbp, 5
add rbp, r13
test byte [rbp + 0x1c], 3
jne 0x1401a8e91
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.1401fe6c0
mov r8, qword [rsp + 0x78]
test eax, eax
jne 0x1401a8e91
mov rcx, qword [rbp + 8]
mov eax, dword [rcx + 4]
test bl, 1
jne 0x1401a8e0d
lea rdx, str.misuse_of_aliased_aggregate__s
test al, 0x10
jne 0x1401a8e27
bt eax, 0xf
jae 0x1401a8e34
bt ebx, 0xe
jae 0x1401a8e20
cmp r15, qword [rsp + 0x48]
je 0x1401a8e34
lea rdx, str.misuse_of_aliased_window_function__s
mov rcx, r14
call fcn.1401bbc30
jmp 0x1401a9a34
call fcn.1401bfc30
dec eax
je 0x1401a8e51
lea rdx, str.row_value_misused
mov rcx, r14
call fcn.1401bbc30
jmp 0x1401a9a34
mov eax, dword [rsp + 0x8c]
mov r9, r12
mov r8d, edi
mov rdx, r13
mov rcx, r14
mov dword [rsp + 0x20], eax
call fcn.1401a8240
cmp byte [r14 + 0x134], 1
jbe 0x1401a911d
mov rcx, qword [r14 + 0x1a0]
mov r8, r12
xor edx, edx
call fcn.1401dc120
jmp 0x1401a911d
inc r11
jmp 0x1401a8da9
mov rax, qword [rsp + 0x48]
inc dword [rsp + 0x8c]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x48], rax
test rax, rax
jne 0x1401a86b1
xor ebx, ebx
test ebx, ebx
jne 0x1401a8f62
cmp qword [rsp + 0x38], 0
jne 0x1401a8f62
test byte [r12 + 4], 0x80
je 0x1401a8f44
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0xc5], 0
jne 0x1401a8f13
mov rax, qword [rax + 0x30]
test byte [r15 + 0x2a], 1
je 0x1401a8f08
mov rdx, rax
and edx, 0x10000001
dec rdx
jne 0x1401a8f02
bt eax, 0x1e
jb 0x1401a8f13
shr rax, 0x1d
jmp 0x1401a8f0c
shr rax, 0x1e
and eax, 1
test eax, eax
je 0x1401a8f44
mov r8, qword [rsp + 0x40]
lea rdx, str.double_quoted_string_literal:___w_
mov ecx, 0x1c
call fcn.1401fad90
mov byte [r12], 0x75
mov qword [r12 + 0x40], 0
mov dword [rsp + 0x38], 1
jmp 0x1401a9a3c
mov rcx, r12
call fcn.1401beb90
test eax, eax
jne 0x1401a8f37
mov rdx, qword [rsp + 0xc0]
test rdx, rdx
jne 0x1401a8f6d
jmp 0x1401a9011
cmp ebx, 1
je 0x1401a90a7
jmp 0x1401a8f50
lea eax, [rbx - 1]
cmp dword [rdx], eax
jne 0x1401a8ffb
mov eax, dword [r12 + 4]
bt eax, 0x17
jae 0x1401a8f8f
and eax, 0xff7fffff
mov dword [r12 + 4], eax
jmp 0x1401a8fbf
mov rdx, qword [r12 + 0x10]
mov rcx, qword [rsp + 0x50]
call fcn.1401be960
mov rdx, qword [r12 + 0x18]
mov rcx, qword [rsp + 0x50]
mov qword [r12 + 0x10], 0
call fcn.1401be960
mov qword [r12 + 0x18], 0
movsx r9d, word [r12 + 0x30]
lea rdx, [rsp + 0xc0]
mov r8, rsi
mov rcx, r14
call fcn.140172c00
lea rax, str.coalesce
mov byte [r12], 0xac
mov qword [r12 + 8], rax
mov rax, qword [rsp + 0xc0]
mov qword [r12 + 0x20], rax
jmp 0x1401a911d
mov rcx, qword [rsp + 0x50]
call fcn.1401bf710
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 0x1401a9057
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.1401bbc30
jmp 0x1401a9093
cmp qword [rsp + 0x38], 0
je 0x1401a907f
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.1401bbc30
jmp 0x1401a9093
mov r9, qword [rsp + 0x40]
lea rdx, str._s:__s
mov rcx, r14
call fcn.1401bbc30
mov rcx, qword [r14]
mov rdx, r12
call fcn.1401dbc10
mov byte [r14 + 0x1d], 1
inc dword [r15 + 0x24]
test dword [r12 + 4], 0x810000
jne 0x1401a90eb
mov rdx, qword [r12 + 0x10]
mov rcx, qword [rsp + 0x50]
call fcn.1401be960
mov rdx, qword [r12 + 0x18]
mov rcx, qword [rsp + 0x50]
mov qword [r12 + 0x10], 0
call fcn.1401be960
or dword [r12 + 4], 0x800000
mov qword [r12 + 0x18], 0
cmp word [r12 + 0x30], 0
js 0x1401a9105
test rsi, rsi
je 0x1401a9105
mov rcx, r12
call fcn.1401be360
or qword [rsi + 0x50], rax
mov al, byte [rsp + 0x68]
dec ebx
mov dword [rsp + 0x38], 2
mov byte [r12], al
jne 0x1401a9a3c
mov rcx, qword [r14]
cmp qword [rcx + 0x200], 0
je 0x1401a91db
mov r10b, byte [r12]
cmp r10b, 0xa7
je 0x1401a9142
cmp r10b, 0x4d
jne 0x1401a91db
mov rdx, qword [rsp + 0x60]
call fcn.1401dd640
mov r9d, eax
test eax, eax
js 0x1401a91db
cmp r10b, 0x4d
je 0x1401a916d
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax + 8]
xor eax, eax
mov r8d, dword [rcx]
jmp 0x1401a9176
mov rdx, qword [r14 + 0xb0]
jmp 0x1401a919a
movsxd rdx, eax
cmp r8d, eax
jle 0x1401a91db
inc rax
imul r10, rax, 0x68
mov edi, dword [rcx + r10 - 0x1c]
cmp dword [r12 + 0x2c], edi
jne 0x1401a9176
imul rdx, rdx, 0x68
mov rdx, qword [rcx + rdx + 0x28]
test rdx, rdx
je 0x1401a91db
movsx rax, word [r12 + 0x30]
test ax, ax
jns 0x1401a91bb
movsx rax, word [rdx + 0x34]
lea r8, str.ROWID
test ax, ax
js 0x1401a91c6
imul rax, rax, 0x18
add rax, qword [rdx + 8]
mov r8, qword [rax]
mov rdx, qword [rdx]
mov rcx, r14
call fcn.1401b2a50
cmp eax, 2
jne 0x1401a91db
mov byte [r12], 0x79
inc dword [r15 + 0x20]
cmp qword [rsp + 0x48], r15
je 0x1401a8f37
mov r15, qword [r15 + 0x18]
jmp 0x1401a91db
mov rsi, qword [rdx + 0x20]
xor edi, edi
test rsi, rsi
je 0x1401a91fd
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 0x1401a9223
mov r13, qword [r12 + 0x40]
cmp byte [r13 + 0x20], 0xa6
jne 0x1401a9223
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.1401bfd80
mov rdx, qword [rsp + 0x38]
mov r9d, dword [rsp + 0x40]
test rax, rax
mov rbx, rax
jne 0x1401a928d
mov dword [rsp + 0x20], 0
mov rcx, qword [r14]
mov r8d, 0xfffffffe
call fcn.1401bfd80
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 0x1401a9444
xor eax, eax
cmp qword [rbx + 0x20], 0
setne al
mov dword [rsp + 0x38], eax
test byte [rbx + 5], 4
je 0x1401a935c
or dword [r12 + 4], 0x80000
cmp edi, 2
jne 0x1401a9343
mov rax, qword [rsi + 0x28]
mov rdi, qword [0x140298570]
mov qword [rsp + 0xc0], rdi
cmp byte [rax], 0x99
je 0x1401a92da
mov dword [r12 + 0x2c], 0xffffffff
jmp 0x1401a932b
mov rcx, qword [rax + 8]
mov qword [rsp + 0x40], rcx
call fcn.1401e2280
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0xc0]
mov r9d, 1
mov r8d, eax
call fcn.1401b23b0
movsd xmm0, qword [rsp + 0xc0]
comisd xmm0, xmmword [0x140298440]
ja 0x1401a92cf
mulsd xmm0, qword [0x140298578]
cvttsd2si eax, xmm0
mov dword [r12 + 0x2c], eax
test eax, eax
jns 0x1401a935c
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.1401bbc30
inc dword [r15 + 0x24]
jmp 0x1401a935c
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.1401b29b0
mov edi, eax
test eax, eax
je 0x1401a93a3
dec edi
jne 0x1401a9399
mov r8, r12
lea rdx, str.not_authorized_to_use_function:__T
mov rcx, r14
call fcn.1401bbc30
inc dword [r15 + 0x24]
mov byte [r12], 0x79
jmp 0x1401a8f37
mov eax, dword [rbx + 4]
test ah, 0x28
je 0x1401a93b4
or dword [r12 + 4], 0x100000
bt eax, 0xb
mov edx, dword [r15 + 0x28]
jb 0x1401a93dc
test dl, 0x2a
je 0x1401a93f5
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea r8, str.non_deterministic_functions
mov rcx, r14
call fcn.14019eca0
jmp 0x1401a93f5
mov eax, edx
and eax, 0x2e
bt edx, 0x12
mov byte [r12 + 2], al
jae 0x1401a93f5
or dword [r12 + 4], 0x40000000
mov eax, dword [rbx + 4]
bt eax, 0x12
jae 0x1401a940e
cmp byte [r14 + 0x1e], 0
jne 0x1401a940e
mov rdx, qword [r14]
test byte [rdx + 0x2c], 0x20
je 0x1401a943c
xor r9d, r9d
test eax, 0x280000
je 0x1401a9444
cmp byte [r14 + 0x134], 1
ja 0x1401a9444
mov r8, rbx
mov rdx, r12
mov rcx, r14
mov dword [rsp + 0x40], r9d
call fcn.1401beb60
mov r9d, dword [rsp + 0x40]
jmp 0x1401a9444
xor ebx, ebx
mov r9d, 1
cmp byte [r14 + 0x134], 1
ja 0x1401a954e
test rbx, rbx
je 0x1401a946d
cmp qword [rbx + 0x28], 0
jne 0x1401a946d
mov r8, r12
lea rdx, str._T___may_not_be_used_as_a_window_function
test r13, r13
jne 0x1401a94e4
cmp dword [rsp + 0x38], 0
je 0x1401a94c9
movzx eax, word [rbx + 6]
mov edx, dword [r15 + 0x28]
and eax, 1
test dl, 1
je 0x1401a949a
test r13, r13
jne 0x1401a9492
test al, al
jne 0x1401a94aa
test r13, r13
je 0x1401a94c9
bt edx, 0xe
jae 0x1401a94aa
jmp 0x1401a94c9
test r13, r13
jne 0x1401a94aa
lea r8, str.aggregate
test al, al
je 0x1401a94b1
lea r8, str.window
mov r9, r12
lea rdx, str.misuse_of__s_function__T__
mov rcx, r14
call fcn.1401bbc30
inc dword [r15 + 0x24]
jmp 0x1401a952f
test r9d, r9d
je 0x1401a94f9
mov rax, qword [r14]
cmp byte [rax + 0xc5], 0
jne 0x1401a94f9
mov r8, r12
lea rdx, str.no_such_function:__T
mov rcx, r14
call fcn.1401bbc30
inc dword [r15 + 0x24]
cmp dword [rsp + 0x38], 0
jne 0x1401a950e
jmp 0x1401a952f
mov r8, r12
lea rdx, str.wrong_number_of_arguments_to_function__T__
test edi, edi
jne 0x1401a94e4
cmp dword [rsp + 0x38], 0
je 0x1401a9527
cmp r13, 1
mov dword [rsp + 0x38], 1
sbb eax, eax
sub eax, 0x4001
and dword [r15 + 0x28], eax
jmp 0x1401a9562
test byte [r12 + 7], 1
jne 0x1401a9539
mov dword [rsp + 0x38], 0
jmp 0x1401a9562
lea rdx, str.FILTER_may_not_be_used_with_non_aggregate__T__
mov rcx, r14
call fcn.1401bbc30
inc dword [r15 + 0x24]
jmp 0x1401a9562
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.1401f1690
cmp dword [rsp + 0x38], 0
je 0x1401a8f37
test r13, r13
je 0x1401a97b3
cmp byte [r14 + 0x134], 1
mov r12, qword [r15 + 0x30]
jbe 0x1401a95df
mov rdx, qword [r13 + 0x10]
mov rcx, qword [rsp + 0x1d0]
call fcn.1401f1690
mov rdx, qword [r13 + 0x18]
mov rcx, qword [rsp + 0x1d0]
call fcn.1401f1690
mov rdx, qword [r13 + 0x48]
mov rcx, qword [rsp + 0x1d0]
call fcn.1401f1680
mov rdx, r13
mov rcx, r12
call fcn.1401f6080
or dword [r15 + 0x28], 0x8000
jmp 0x1401a98e8
xor edx, edx
test r12, r12
je 0x1401a95eb
mov rdx, qword [r12 + 0x78]
mov r8, qword [r13]
test r8, r8
je 0x1401a967d
cmp byte [r13 + 0x20], 0
jne 0x1401a967d
mov rcx, r14
call fcn.140211640
mov rsi, rax
test rax, rax
je 0x1401a97a1
mov rdx, qword [rax + 0x10]
mov rcx, qword [r14]
xor r8d, r8d
call fcn.1401bf720
mov rdx, qword [rsi + 0x18]
mov rcx, qword [r14]
xor r8d, r8d
mov qword [r13 + 0x10], rax
call fcn.1401bf720
mov rdx, qword [rsi + 0x28]
mov rcx, qword [r14]
xor r8d, r8d
mov qword [r13 + 0x18], rax
call fcn.1401bea10
mov rdx, qword [rsi + 0x30]
mov rcx, qword [r14]
xor r8d, r8d
mov qword [r13 + 0x28], rax
call fcn.1401bea10
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 0x1401a968b
mov r8, rdx
mov rcx, r14
mov rdx, r13
call fcn.1401f5cf0
cmp byte [r13 + 0x20], 0x59
jne 0x1401a96b7
cmp qword [r13 + 0x28], 0
jne 0x1401a96a0
cmp qword [r13 + 0x30], 0
je 0x1401a96b7
mov rax, qword [r13 + 0x18]
test rax, rax
je 0x1401a96ae
cmp dword [rax], 1
je 0x1401a96b7
lea rdx, str.RANGE_with_offset_PRECEDING_FOLLOWING_requires_one_ORDER_BY_expression
jmp 0x1401a96cf
test byte [rbx + 6], 1
je 0x1401a979d
cmp qword [r13 + 0x48], 0
je 0x1401a96dc
lea rdx, str.FILTER_clause_may_only_be_used_with_aggregate_window_functions
mov rcx, r14
call fcn.1401bbc30
jmp 0x1401a979d
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 0x1401a978e
mov rdx, qword [r13 + 0x28]
mov rcx, r9
movsxd rsi, esi
mov qword [rsp + 0x40], r9
imul rsi, rsi, 0x18
call fcn.1401be960
mov r9, qword [rsp + 0x40]
mov rdx, qword [r13 + 0x30]
mov rcx, r9
call fcn.1401be960
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 0x1401a979d
lea r8, [0x14028f2b0]
mov edx, 0x9b
mov rcx, r9
call fcn.1401bbdb0
mov qword [r13 + 0x28], rax
jmp 0x1401a979d
inc esi
add rax, 0x18
cmp esi, 8
jne 0x1401a9703
mov qword [r13 + 0x50], rbx
mov rax, qword [r14]
cmp byte [rax + 0x67], 0
je 0x1401a9594
jmp case.0x1401a8411.1
mov byte [r12], 0xa8
mov byte [r12 + 2], 0
test byte [r12 + 7], 1
je 0x1401a97dc
mov rax, qword [r12 + 0x40]
mov rcx, qword [rsp + 0x1d0]
mov rdx, qword [rax + 0x48]
call fcn.1401f1680
mov rsi, r15
lea r13, [0x140172910]
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, [0x1401b0730]
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, [0x1401b07b0]
mov qword [rsp + 0xc8], r13
mov qword [rsp + 0xd8], rdi
mov qword [rsp + 0xa0], rax
call fcn.1401f1690
test byte [r12 + 7], 1
mov r9, qword [rsp + 0x40]
je 0x1401a988f
mov rax, qword [r12 + 0x40]
mov rcx, r9
mov rdx, qword [rax + 0x48]
call fcn.1401f1680
mov rdx, qword [rsp + 0xb8]
test rdx, rdx
je 0x1401a98a4
mov rcx, qword [r14]
call fcn.1401b96a0
mov eax, dword [rsp + 0xe4]
test al, 1
jne 0x1401a98c8
test ax, ax
je 0x1401a98c8
inc byte [r12 + 2]
mov rsi, qword [rsi + 0x18]
test rsi, rsi
jne 0x1401a97e6
jmp 0x1401a98e8
test rsi, rsi
je 0x1401a98e8
test rbx, rbx
je 0x1401a98e8
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 0x1401a9a3c
test byte [r12 + 5], 0x10
je case.0x1401a8411.1
mov edx, dword [r15 + 0x28]
mov ebx, dword [r15 + 0x20]
test dl, 0x2e
je 0x1401a9929
mov qword [rsp + 0x20], r12
mov r9, r12
lea r8, str.subqueries
mov rcx, r14
call fcn.14019eca0
jmp 0x1401a993b
mov rdx, qword [r12 + 0x20]
mov rcx, qword [rsp + 0x1d0]
call fcn.1401f16e0
cmp dword [r15 + 0x20], ebx
je 0x1401a9947
or dword [r12 + 4], 0x40
or dword [r15 + 0x28], 0x40
jmp case.0x1401a8411.1
mov edx, dword [r15 + 0x28]
test dl, 0x2e
je case.0x1401a8411.1
mov qword [rsp + 0x20], r12
mov r9, r12
lea r8, str.parameters
mov rcx, r14
call fcn.14019eca0
jmp case.0x1401a8411.1
mov rcx, qword [r12 + 0x18]
call fcn.1401bfba0
mov rbx, rax
test rax, rax
je case.0x1401a8411.3
mov al, byte [rax]
cmp al, 0x3b
je 0x1401a9996
cmp al, 0xaa
jne case.0x1401a8411.3
mov rcx, qword [rsp + 0x1d0]
mov rdx, rbx
call fcn.1401a83c0
cmp eax, 2
je 0x1401a9a34
cmp byte [rbx], 0xaa
jne case.0x1401a8411.3
mov al, byte [r12]
mov dword [rsp + 0x38], 0
mov byte [r12], 0xaf
mov byte [r12 + 2], al
jmp 0x1401a9a3c
mov rax, qword [r14]
cmp byte [rax + 0x67], 0
jne case.0x1401a8411.1
mov rcx, qword [r12 + 0x10]
call fcn.1401bfc30
cmp byte [r12], 0x30
mov edx, eax
jne 0x1401a9a00
mov r9, qword [r12 + 0x20]
mov rcx, qword [r9 + 8]
call fcn.1401bfc30
cmp edx, eax
jne 0x1401a9a0e
mov rcx, qword [r9 + 0x28]
jmp 0x1401a9a05
mov rcx, qword [r12 + 0x18]
call fcn.1401bfc30
cmp eax, edx
je case.0x1401a8411.1
lea rdx, str.row_value_misused
mov rcx, r14
call fcn.1401bbc30
mov rcx, qword [r14]
mov rdx, r12
call fcn.1401dbc10
mov eax, dword [r14 + 0x30]
mov dword [rsp + 0x38], eax
test eax, eax
je 0x1401a9a3c
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