Function at 0x1401c4480
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 0x1401c4507
ja 0x1401c44d3
cmp al, 0x14
je case.0x1401c44d1.4
sub eax, 0x2d
cmp al, 0xe
ja case.0x1401c44d1.1
lea rdx, [0x1402cffa0]
movzx eax, al
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
cmp al, 0x9c
je 0x1401c5a11
ja 0x1401c44f2
cmp al, 0x8a
je case.0x1401c44d1.4
cmp al, 0x8d
je 0x1401c4603
jmp case.0x1401c44d1.1
cmp al, 0xab
je case.0x1401c44d1.0
cmp al, 0xac
je 0x1401c52b0
jmp case.0x1401c44d1.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.0x1401c44d1.1
mov rdx, r15
xor eax, eax
test rdx, rdx
je 0x1401c4550
cmp eax, 7
jg 0x1401c4550
mov ecx, dword [rdx + 0x20]
mov rdx, qword [rdx + 0x18]
mov dword [rsp + rax*4 + 0xc0], ecx
inc rax
jmp 0x1401c4533
mov rcx, qword [rsp + 0x1d0]
mov rdx, qword [r12 + 0x10]
call fcn.14020d740
mov r9, qword [r12 + 0x10]
mov rcx, r9
call fcn.1401d8230
test eax, eax
jne 0x1401c4ff7
cmp byte [r14 + 0x134], 1
ja 0x1401c4ff7
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 0x1401c45a7
mov rcx, qword [r14]
mov rdx, r9
call fcn.1401daa20
mov qword [r12 + 0x10], 0
jmp 0x1401c4ff7
mov qword [rsp + 0x58], 0
mov rax, qword [r12 + 8]
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x40], rax
jmp 0x1401c468b
mov rbx, qword [rdx + 0x10]
mov edx, dword [r15 + 0x28]
test dl, 0x28
je 0x1401c4627
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea r8, str.the__.__operator
mov rcx, r14
call fcn.1401bad60
mov qword [rsp + 0x58], 0
mov r8, qword [r12 + 0x18]
cmp byte [r8], 0x3b
je 0x1401c464c
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 0x1401c468b
mov rcx, qword [r14 + 0x1a0]
mov rdx, r12
call fcn.1401f81e0
mov rcx, qword [r14 + 0x1a0]
lea rdx, [r12 + 0x40]
mov r8, rbx
call fcn.1401f81e0
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 0x1401c474f
test byte [r15 + 0x28], 6
jne 0x1401c473d
mov esi, dword [rax + 0x28]
xor r11d, r11d
cmp esi, r11d
jle 0x1401c46fe
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.1401fe2c0
test eax, eax
jne 0x1401c46ca
mov rax, qword [rbx + 0x18]
mov qword [rsp + 0x60], rax
jmp 0x1401c474f
mov qword [rsp + 0x60], 0
cmp r11d, esi
jne 0x1401c474f
mov rdx, qword [rsp + 0x58]
lea rcx, str.main
call fcn.1401fe2c0
test eax, eax
jne 0x1401c474f
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 0x1401c474f
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 0x1401c4b47
mov dword [rsp + 0x88], 0
lea rbp, [rax + 8]
mov rax, qword [rsp + 0x70]
mov edi, dword [rsp + 0x88]
cmp edi, dword [rax]
jge 0x1401c4b19
mov rdi, qword [rbp + 0x20]
test byte [rbp + 0x41], 0x20
je 0x1401c4912
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 0x1401c48f7
mov r9, qword [rsp + 0x58]
mov r8, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x80]
call fcn.1401ec0f0
test eax, eax
je 0x1401c48e6
test ebx, ebx
je 0x1401c48a6
test byte [rbp + 0x41], 4
je 0x1401c4840
mov rcx, qword [rbp + 0x48]
mov rdx, qword [rsp + 0x40]
call fcn.1401e8790
test eax, eax
jns 0x1401c4860
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x50]
call fcn.1401db7d0
mov qword [rsp + 0xc0], 0
jmp 0x1401c48a6
mov al, byte [rbp + 0x3c]
test al, 0x10
je 0x1401c48e6
test al, 8
jne 0x1401c488d
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x50]
xor ebx, ebx
call fcn.1401db7d0
mov qword [rsp + 0xc0], 0
jmp 0x1401c48a6
movsx r9d, word [r12 + 0x30]
mov rdx, qword [rsp + 0x98]
mov r8, rsi
mov rcx, r14
call fcn.14018ecc0
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 0x1401c4b01
mov dword [rsp + 0x90], 1
mov dword [rsp + 0x6c], 2
add qword [rsp + 0x80], 0x20
inc r13d
jmp 0x1401c47f2
cmp qword [rsp + 0x38], 0
je 0x1401c4b09
cmp dword [rsp + 0x90], 0
je 0x1401c491e
jmp 0x1401c4b09
cmp qword [rsp + 0x38], 0
je 0x1401c49c4
cmp qword [rsp + 0x58], 0
je 0x1401c4953
mov rax, qword [rsp + 0x60]
cmp qword [rdi + 0x60], rax
jne 0x1401c4b09
test rax, rax
jne 0x1401c4953
mov rcx, qword [rsp + 0x58]
lea rdx, [0x1402ce353]
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x1401c4b09
mov rdx, qword [rbp + 0x18]
test rdx, rdx
je 0x1401c4970
mov rcx, qword [rsp + 0x38]
call fcn.1401fe2c0
test eax, eax
jne 0x1401c4b09
jmp 0x1401c49a7
mov rdx, qword [rdi]
mov rcx, qword [rsp + 0x38]
call fcn.1401fe2c0
test eax, eax
je 0x1401c49c4
cmp dword [rdi + 0x28], 1
jne 0x1401c4b09
mov r8, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x38]
mov rdx, rdi
call fcn.1401b3260
test eax, eax
je 0x1401c4b09
jmp 0x1401c49c4
cmp byte [r14 + 0x134], 1
jbe 0x1401c49c4
mov rcx, qword [r14 + 0x1a0]
lea r8, [r12 + 0x40]
xor edx, edx
call fcn.1401f81e0
mov rcx, qword [rsp + 0x40]
xor r13d, r13d
call fcn.1401fe300
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 0x1401c4aee
mov al, byte [rsp + 0x78]
cmp al, byte [r8 + 0xe]
jne 0x1401c4ae2
mov rcx, qword [r8]
mov rdx, qword [rsp + 0x40]
mov qword [rsp + 0x90], r8
call fcn.1401fe2c0
mov r8, qword [rsp + 0x90]
test eax, eax
jne 0x1401c4ae2
mov al, byte [rbp + 0x41]
test ebx, ebx
je 0x1401c4ab4
test al, 4
je 0x1401c4a4e
mov rcx, qword [rbp + 0x48]
mov rdx, qword [rsp + 0x40]
call fcn.1401e8790
mov r8, qword [rsp + 0x90]
test eax, eax
jns 0x1401c4a6e
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x50]
call fcn.1401db7d0
mov qword [rsp + 0xc0], 0
jmp 0x1401c4ab4
mov al, byte [rbp + 0x3c]
test al, 0x10
je 0x1401c4ae2
test al, 8
jne 0x1401c4a9b
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x50]
xor ebx, ebx
call fcn.1401db7d0
mov qword [rsp + 0xc0], 0
jmp 0x1401c4ab4
movsx r9d, word [r12 + 0x30]
lea rdx, [rsp + 0xc0]
mov r8, rsi
mov rcx, r14
call fcn.14018ecc0
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 0x1401c4b09
mov edx, r13d
mov rcx, rbp
call fcn.1401fd2d0
jmp 0x1401c4b09
inc r13d
add r8, 0x18
jmp 0x1401c49e4
test ebx, ebx
jne 0x1401c4b09
test byte [rdi + 0x31], 2
jne 0x1401c4b09
inc dword [rsp + 0x6c]
mov rsi, rbp
jmp 0x1401c4b09
mov dword [rsp + 0x6c], 2
inc dword [rsp + 0x88]
add rbp, 0x68
jmp 0x1401c4799
test rsi, rsi
je 0x1401c4b47
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 0x1401c4b3e
or dword [r12 + 4], 0x200000
mov rax, qword [rax + 0x60]
mov qword [rsp + 0x60], rax
test ebx, ebx
jne 0x1401c5022
cmp qword [rsp + 0x58], 0
jne 0x1401c4de7
mov r13, qword [r14 + 0xb0]
cmp qword [rsp + 0x38], 0
setne r11b
test r13, r13
je 0x1401c4c1c
cmp byte [r14 + 0xe1], 0
movzx ebx, byte [r14 + 0xe0]
je 0x1401c4bc2
mov rax, qword [rsp + 0x48]
test byte [rax + 0x29], 4
je 0x1401c4c19
cmp qword [rsp + 0x38], 0
je 0x1401c4bb0
mov rdx, qword [r13]
mov rcx, qword [rsp + 0x38]
call fcn.1401fe2c0
test eax, eax
jne 0x1401c4c19
xor eax, eax
cmp ebx, 0x80
setne al
mov dword [r12 + 0x2c], eax
jmp 0x1401c4c1c
cmp ebx, 0x80
je 0x1401c4bef
test r11b, r11b
je 0x1401c4bef
mov rdx, qword [rsp + 0x38]
lea rcx, [0x1402cfd2b]
call fcn.1401fe2c0
test eax, eax
jne 0x1401c4bef
mov dword [r12 + 0x2c], 1
jmp 0x1401c4c1c
cmp ebx, 0x7f
je 0x1401c4c19
test r11b, r11b
je 0x1401c4c19
mov rdx, qword [rsp + 0x38]
lea rcx, [0x1402cfd2f]
call fcn.1401fe2c0
test eax, eax
jne 0x1401c4c19
mov dword [r12 + 0x2c], 0
jmp 0x1401c4c1c
xor r13d, r13d
mov rax, qword [rsp + 0x48]
test byte [rax + 0x29], 2
je 0x1401c4c5b
test r11b, r11b
je 0x1401c4c5b
mov r11, qword [rax + 0x10]
test r11, r11
je 0x1401c4c5b
mov rdx, qword [rsp + 0x38]
lea rcx, str.excluded
call fcn.1401fe2c0
test eax, eax
jne 0x1401c4c5b
mov rax, qword [r11 + 0x40]
mov r13, qword [rax + 0x28]
mov dword [r12 + 0x2c], 2
xor ebx, ebx
test r13, r13
je 0x1401c4de7
mov rcx, qword [rsp + 0x40]
xor r11d, r11d
call fcn.1401fe300
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 0x1401c4cbc
cmp bpl, byte [rbx + 0xe]
jne 0x1401c4cb3
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rbx]
call fcn.1401fe2c0
test eax, eax
jne 0x1401c4cb3
movsx eax, word [r13 + 0x34]
cmp eax, r11d
jne 0x1401c4ce7
jmp 0x1401c4ce3
inc r11d
add rbx, 0x18
jmp 0x1401c4c8b
mov rcx, qword [rsp + 0x40]
call fcn.1401eb1b0
mov ebx, eax
test eax, eax
je 0x1401c4def
test byte [r13 + 0x31], 2
jne 0x1401c4de5
test edi, edi
js 0x1401c4de5
or r11d, 0xffffffff
mov eax, dword [r12 + 0x2c]
cmp eax, 2
jne 0x1401c4d2d
cmp byte [r14 + 0x134], 1
jbe 0x1401c4d13
mov word [r12 + 0x30], r11w
mov qword [r12 + 0x40], r13
mov dword [rsp + 0x68], 0xa7
jmp 0x1401c4ddc
mov edx, r11d
mov rcx, r13
call fcn.1401fe7c0
mov rdi, qword [rsp + 0x48]
cwde
mov rdx, qword [rdi + 0x10]
add eax, dword [rdx + 0x48]
jmp 0x1401c4d65
mov qword [r12 + 0x40], r13
cmp byte [r14 + 0xe1], 0
je 0x1401c4d74
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.1401fe7c0
cwde
lea eax, [rdi + rax + 1]
mov dword [r12 + 0x2c], eax
mov dword [rsp + 0x68], 0xb0
jmp 0x1401c4ddc
mov word [r12 + 0x30], r11w
cmp r11d, 0xffffffff
jne 0x1401c4d88
mov byte [r12 + 1], 0x44
jmp 0x1401c4dd4
test eax, eax
jne 0x1401c4db1
mov eax, dword [r14 + 0xd4]
or edx, 0xffffffff
cmp r11d, 0x1f
jg 0x1401c4da6
mov edx, 1
mov ecx, r11d
shl edx, cl
or eax, edx
mov dword [r14 + 0xd4], eax
jmp 0x1401c4dd4
mov eax, dword [r14 + 0xd8]
or edx, 0xffffffff
cmp r11d, 0x1f
jg 0x1401c4dcb
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 0x1401c4de7
xor ebx, ebx
test ebx, ebx
jne 0x1401c5022
cmp dword [rsp + 0x6c], 1
jne 0x1401c4e36
test rsi, rsi
je 0x1401c4e3e
mov rax, qword [rsp + 0x48]
test byte [rax + 0x28], 0x28
jne 0x1401c4e3e
mov rcx, qword [rsp + 0x40]
call fcn.1401eb1b0
test eax, eax
je 0x1401c4e3e
mov rax, qword [rsi + 0x20]
test byte [rax + 0x31], 2
jne 0x1401c4e3e
mov word [r12 + 0x30], 0xffff
mov ebx, 1
mov byte [r12 + 1], 0x44
jmp 0x1401c4f79
test ebx, ebx
jne 0x1401c5022
mov rax, qword [rsp + 0x48]
mov ebx, dword [rax + 0x28]
test bl, bl
jns 0x1401c4f59
cmp qword [rsp + 0x38], 0
jne 0x1401c4f59
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 0x1401c4f59
movsxd rbp, r11d
shl rbp, 5
add rbp, r13
test byte [rbp + 0x1c], 3
jne 0x1401c4f51
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.14021a780
mov r8, qword [rsp + 0x78]
test eax, eax
jne 0x1401c4f51
mov rcx, qword [rbp + 8]
mov eax, dword [rcx + 4]
test bl, 1
jne 0x1401c4ecd
lea rdx, str.misuse_of_aliased_aggregate__s
test al, 0x10
jne 0x1401c4ee7
bt eax, 0xf
jae 0x1401c4ef4
bt ebx, 0xe
jae 0x1401c4ee0
cmp r15, qword [rsp + 0x48]
je 0x1401c4ef4
lea rdx, str.misuse_of_aliased_window_function__s
mov rcx, r14
call fcn.1401d7cf0
jmp 0x1401c5af4
call fcn.1401dbcf0
dec eax
je 0x1401c4f11
lea rdx, str.row_value_misused
mov rcx, r14
call fcn.1401d7cf0
jmp 0x1401c5af4
mov eax, dword [rsp + 0x8c]
mov r9, r12
mov r8d, edi
mov rdx, r13
mov rcx, r14
mov dword [rsp + 0x20], eax
call fcn.1401c4300
cmp byte [r14 + 0x134], 1
jbe 0x1401c51dd
mov rcx, qword [r14 + 0x1a0]
mov r8, r12
xor edx, edx
call fcn.1401f81e0
jmp 0x1401c51dd
inc r11
jmp 0x1401c4e69
mov rax, qword [rsp + 0x48]
inc dword [rsp + 0x8c]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x48], rax
test rax, rax
jne 0x1401c4771
xor ebx, ebx
test ebx, ebx
jne 0x1401c5022
cmp qword [rsp + 0x38], 0
jne 0x1401c5022
test byte [r12 + 4], 0x80
je 0x1401c5004
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0xc5], 0
jne 0x1401c4fd3
mov rax, qword [rax + 0x30]
test byte [r15 + 0x2a], 1
je 0x1401c4fc8
mov rdx, rax
and edx, 0x10000001
dec rdx
jne 0x1401c4fc2
bt eax, 0x1e
jb 0x1401c4fd3
shr rax, 0x1d
jmp 0x1401c4fcc
shr rax, 0x1e
and eax, 1
test eax, eax
je 0x1401c5004
mov r8, qword [rsp + 0x40]
lea rdx, str.double_quoted_string_literal:___w_
mov ecx, 0x1c
call fcn.140216e50
mov byte [r12], 0x75
mov qword [r12 + 0x40], 0
mov dword [rsp + 0x38], 1
jmp 0x1401c5afc
mov rcx, r12
call fcn.1401dac50
test eax, eax
jne 0x1401c4ff7
mov rdx, qword [rsp + 0xc0]
test rdx, rdx
jne 0x1401c502d
jmp 0x1401c50d1
cmp ebx, 1
je 0x1401c5167
jmp 0x1401c5010
lea eax, [rbx - 1]
cmp dword [rdx], eax
jne 0x1401c50bb
mov eax, dword [r12 + 4]
bt eax, 0x17
jae 0x1401c504f
and eax, 0xff7fffff
mov dword [r12 + 4], eax
jmp 0x1401c507f
mov rdx, qword [r12 + 0x10]
mov rcx, qword [rsp + 0x50]
call fcn.1401daa20
mov rdx, qword [r12 + 0x18]
mov rcx, qword [rsp + 0x50]
mov qword [r12 + 0x10], 0
call fcn.1401daa20
mov qword [r12 + 0x18], 0
movsx r9d, word [r12 + 0x30]
lea rdx, [rsp + 0xc0]
mov r8, rsi
mov rcx, r14
call fcn.14018ecc0
lea rax, str.coalesce
mov byte [r12], 0xac
mov qword [r12 + 8], rax
mov rax, qword [rsp + 0xc0]
mov qword [r12 + 0x20], rax
jmp 0x1401c51dd
mov rcx, qword [rsp + 0x50]
call fcn.1401db7d0
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 0x1401c5117
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.1401d7cf0
jmp 0x1401c5153
cmp qword [rsp + 0x38], 0
je 0x1401c513f
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.1401d7cf0
jmp 0x1401c5153
mov r9, qword [rsp + 0x40]
lea rdx, str._s:__s
mov rcx, r14
call fcn.1401d7cf0
mov rcx, qword [r14]
mov rdx, r12
call fcn.1401f7cd0
mov byte [r14 + 0x1d], 1
inc dword [r15 + 0x24]
test dword [r12 + 4], 0x810000
jne 0x1401c51ab
mov rdx, qword [r12 + 0x10]
mov rcx, qword [rsp + 0x50]
call fcn.1401daa20
mov rdx, qword [r12 + 0x18]
mov rcx, qword [rsp + 0x50]
mov qword [r12 + 0x10], 0
call fcn.1401daa20
or dword [r12 + 4], 0x800000
mov qword [r12 + 0x18], 0
cmp word [r12 + 0x30], 0
js 0x1401c51c5
test rsi, rsi
je 0x1401c51c5
mov rcx, r12
call fcn.1401da420
or qword [rsi + 0x50], rax
mov al, byte [rsp + 0x68]
dec ebx
mov dword [rsp + 0x38], 2
mov byte [r12], al
jne 0x1401c5afc
mov rcx, qword [r14]
cmp qword [rcx + 0x200], 0
je 0x1401c529b
mov r10b, byte [r12]
cmp r10b, 0xa7
je 0x1401c5202
cmp r10b, 0x4d
jne 0x1401c529b
mov rdx, qword [rsp + 0x60]
call fcn.1401f9700
mov r9d, eax
test eax, eax
js 0x1401c529b
cmp r10b, 0x4d
je 0x1401c522d
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax + 8]
xor eax, eax
mov r8d, dword [rcx]
jmp 0x1401c5236
mov rdx, qword [r14 + 0xb0]
jmp 0x1401c525a
movsxd rdx, eax
cmp r8d, eax
jle 0x1401c529b
inc rax
imul r10, rax, 0x68
mov edi, dword [rcx + r10 - 0x1c]
cmp dword [r12 + 0x2c], edi
jne 0x1401c5236
imul rdx, rdx, 0x68
mov rdx, qword [rcx + rdx + 0x28]
test rdx, rdx
je 0x1401c529b
movsx rax, word [r12 + 0x30]
test ax, ax
jns 0x1401c527b
movsx rax, word [rdx + 0x34]
lea r8, str.ROWID
test ax, ax
js 0x1401c5286
imul rax, rax, 0x18
add rax, qword [rdx + 8]
mov r8, qword [rax]
mov rdx, qword [rdx]
mov rcx, r14
call fcn.1401ceb10
cmp eax, 2
jne 0x1401c529b
mov byte [r12], 0x79
inc dword [r15 + 0x20]
cmp qword [rsp + 0x48], r15
je 0x1401c4ff7
mov r15, qword [r15 + 0x18]
jmp 0x1401c529b
mov rsi, qword [rdx + 0x20]
xor edi, edi
test rsi, rsi
je 0x1401c52bd
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 0x1401c52e3
mov r13, qword [r12 + 0x40]
cmp byte [r13 + 0x20], 0xa6
jne 0x1401c52e3
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.1401dbe40
mov rdx, qword [rsp + 0x38]
mov r9d, dword [rsp + 0x40]
test rax, rax
mov rbx, rax
jne 0x1401c534d
mov dword [rsp + 0x20], 0
mov rcx, qword [r14]
mov r8d, 0xfffffffe
call fcn.1401dbe40
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 0x1401c5504
xor eax, eax
cmp qword [rbx + 0x20], 0
setne al
mov dword [rsp + 0x38], eax
test byte [rbx + 5], 4
je 0x1401c541c
or dword [r12 + 4], 0x80000
cmp edi, 2
jne 0x1401c5403
mov rax, qword [rsi + 0x28]
mov rdi, qword [0x1402d7840]
mov qword [rsp + 0xc0], rdi
cmp byte [rax], 0x99
je 0x1401c539a
mov dword [r12 + 0x2c], 0xffffffff
jmp 0x1401c53eb
mov rcx, qword [rax + 8]
mov qword [rsp + 0x40], rcx
call fcn.1401fe340
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0xc0]
mov r9d, 1
mov r8d, eax
call fcn.1401ce470
movsd xmm0, qword [rsp + 0xc0]
comisd xmm0, xmmword [0x1402d7710]
ja 0x1401c538f
mulsd xmm0, qword [0x1402d7848]
cvttsd2si eax, xmm0
mov dword [r12 + 0x2c], eax
test eax, eax
jns 0x1401c541c
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.1401d7cf0
inc dword [r15 + 0x24]
jmp 0x1401c541c
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.1401cea70
mov edi, eax
test eax, eax
je 0x1401c5463
dec edi
jne 0x1401c5459
mov r8, r12
lea rdx, str.not_authorized_to_use_function:__T
mov rcx, r14
call fcn.1401d7cf0
inc dword [r15 + 0x24]
mov byte [r12], 0x79
jmp 0x1401c4ff7
mov eax, dword [rbx + 4]
test ah, 0x28
je 0x1401c5474
or dword [r12 + 4], 0x100000
bt eax, 0xb
mov edx, dword [r15 + 0x28]
jb 0x1401c549c
test dl, 0x2a
je 0x1401c54b5
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea r8, str.non_deterministic_functions
mov rcx, r14
call fcn.1401bad60
jmp 0x1401c54b5
mov eax, edx
and eax, 0x2e
bt edx, 0x12
mov byte [r12 + 2], al
jae 0x1401c54b5
or dword [r12 + 4], 0x40000000
mov eax, dword [rbx + 4]
bt eax, 0x12
jae 0x1401c54ce
cmp byte [r14 + 0x1e], 0
jne 0x1401c54ce
mov rdx, qword [r14]
test byte [rdx + 0x2c], 0x20
je 0x1401c54fc
xor r9d, r9d
test eax, 0x280000
je 0x1401c5504
cmp byte [r14 + 0x134], 1
ja 0x1401c5504
mov r8, rbx
mov rdx, r12
mov rcx, r14
mov dword [rsp + 0x40], r9d
call fcn.1401dac20
mov r9d, dword [rsp + 0x40]
jmp 0x1401c5504
xor ebx, ebx
mov r9d, 1
cmp byte [r14 + 0x134], 1
ja 0x1401c560e
test rbx, rbx
je 0x1401c552d
cmp qword [rbx + 0x28], 0
jne 0x1401c552d
mov r8, r12
lea rdx, str._T___may_not_be_used_as_a_window_function
test r13, r13
jne 0x1401c55a4
cmp dword [rsp + 0x38], 0
je 0x1401c5589
movzx eax, word [rbx + 6]
mov edx, dword [r15 + 0x28]
and eax, 1
test dl, 1
je 0x1401c555a
test r13, r13
jne 0x1401c5552
test al, al
jne 0x1401c556a
test r13, r13
je 0x1401c5589
bt edx, 0xe
jae 0x1401c556a
jmp 0x1401c5589
test r13, r13
jne 0x1401c556a
lea r8, str.aggregate
test al, al
je 0x1401c5571
lea r8, str.window
mov r9, r12
lea rdx, str.misuse_of__s_function__T__
mov rcx, r14
call fcn.1401d7cf0
inc dword [r15 + 0x24]
jmp 0x1401c55ef
test r9d, r9d
je 0x1401c55b9
mov rax, qword [r14]
cmp byte [rax + 0xc5], 0
jne 0x1401c55b9
mov r8, r12
lea rdx, str.no_such_function:__T
mov rcx, r14
call fcn.1401d7cf0
inc dword [r15 + 0x24]
cmp dword [rsp + 0x38], 0
jne 0x1401c55ce
jmp 0x1401c55ef
mov r8, r12
lea rdx, str.wrong_number_of_arguments_to_function__T__
test edi, edi
jne 0x1401c55a4
cmp dword [rsp + 0x38], 0
je 0x1401c55e7
cmp r13, 1
mov dword [rsp + 0x38], 1
sbb eax, eax
sub eax, 0x4001
and dword [r15 + 0x28], eax
jmp 0x1401c5622
test byte [r12 + 7], 1
jne 0x1401c55f9
mov dword [rsp + 0x38], 0
jmp 0x1401c5622
lea rdx, str.FILTER_may_not_be_used_with_non_aggregate__T__
mov rcx, r14
call fcn.1401d7cf0
inc dword [r15 + 0x24]
jmp 0x1401c5622
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.14020d750
cmp dword [rsp + 0x38], 0
je 0x1401c4ff7
test r13, r13
je 0x1401c5873
cmp byte [r14 + 0x134], 1
mov r12, qword [r15 + 0x30]
jbe 0x1401c569f
mov rdx, qword [r13 + 0x10]
mov rcx, qword [rsp + 0x1d0]
call fcn.14020d750
mov rdx, qword [r13 + 0x18]
mov rcx, qword [rsp + 0x1d0]
call fcn.14020d750
mov rdx, qword [r13 + 0x48]
mov rcx, qword [rsp + 0x1d0]
call fcn.14020d740
mov rdx, r13
mov rcx, r12
call fcn.140212140
or dword [r15 + 0x28], 0x8000
jmp 0x1401c59a8
xor edx, edx
test r12, r12
je 0x1401c56ab
mov rdx, qword [r12 + 0x78]
mov r8, qword [r13]
test r8, r8
je 0x1401c573d
cmp byte [r13 + 0x20], 0
jne 0x1401c573d
mov rcx, r14
call fcn.14022d700
mov rsi, rax
test rax, rax
je 0x1401c5861
mov rdx, qword [rax + 0x10]
mov rcx, qword [r14]
xor r8d, r8d
call fcn.1401db7e0
mov rdx, qword [rsi + 0x18]
mov rcx, qword [r14]
xor r8d, r8d
mov qword [r13 + 0x10], rax
call fcn.1401db7e0
mov rdx, qword [rsi + 0x28]
mov rcx, qword [r14]
xor r8d, r8d
mov qword [r13 + 0x18], rax
call fcn.1401daad0
mov rdx, qword [rsi + 0x30]
mov rcx, qword [r14]
xor r8d, r8d
mov qword [r13 + 0x28], rax
call fcn.1401daad0
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 0x1401c574b
mov r8, rdx
mov rcx, r14
mov rdx, r13
call fcn.140211db0
cmp byte [r13 + 0x20], 0x59
jne 0x1401c5777
cmp qword [r13 + 0x28], 0
jne 0x1401c5760
cmp qword [r13 + 0x30], 0
je 0x1401c5777
mov rax, qword [r13 + 0x18]
test rax, rax
je 0x1401c576e
cmp dword [rax], 1
je 0x1401c5777
lea rdx, str.RANGE_with_offset_PRECEDING_FOLLOWING_requires_one_ORDER_BY_expression
jmp 0x1401c578f
test byte [rbx + 6], 1
je 0x1401c585d
cmp qword [r13 + 0x48], 0
je 0x1401c579c
lea rdx, str.FILTER_clause_may_only_be_used_with_aggregate_window_functions
mov rcx, r14
call fcn.1401d7cf0
jmp 0x1401c585d
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 0x1401c584e
mov rdx, qword [r13 + 0x28]
mov rcx, r9
movsxd rsi, esi
mov qword [rsp + 0x40], r9
imul rsi, rsi, 0x18
call fcn.1401daa20
mov r9, qword [rsp + 0x40]
mov rdx, qword [r13 + 0x30]
mov rcx, r9
call fcn.1401daa20
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 0x1401c585d
lea r8, [0x1402ce580]
mov edx, 0x9b
mov rcx, r9
call fcn.1401d7e70
mov qword [r13 + 0x28], rax
jmp 0x1401c585d
inc esi
add rax, 0x18
cmp esi, 8
jne 0x1401c57c3
mov qword [r13 + 0x50], rbx
mov rax, qword [r14]
cmp byte [rax + 0x67], 0
je 0x1401c5654
jmp case.0x1401c44d1.1
mov byte [r12], 0xa8
mov byte [r12 + 2], 0
test byte [r12 + 7], 1
je 0x1401c589c
mov rax, qword [r12 + 0x40]
mov rcx, qword [rsp + 0x1d0]
mov rdx, qword [rax + 0x48]
call fcn.14020d740
mov rsi, r15
lea r13, [0x14018e9d0]
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, [0x1401cc7f0]
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, [0x1401cc870]
mov qword [rsp + 0xc8], r13
mov qword [rsp + 0xd8], rdi
mov qword [rsp + 0xa0], rax
call fcn.14020d750
test byte [r12 + 7], 1
mov r9, qword [rsp + 0x40]
je 0x1401c594f
mov rax, qword [r12 + 0x40]
mov rcx, r9
mov rdx, qword [rax + 0x48]
call fcn.14020d740
mov rdx, qword [rsp + 0xb8]
test rdx, rdx
je 0x1401c5964
mov rcx, qword [r14]
call fcn.1401d5760
mov eax, dword [rsp + 0xe4]
test al, 1
jne 0x1401c5988
test ax, ax
je 0x1401c5988
inc byte [r12 + 2]
mov rsi, qword [rsi + 0x18]
test rsi, rsi
jne 0x1401c58a6
jmp 0x1401c59a8
test rsi, rsi
je 0x1401c59a8
test rbx, rbx
je 0x1401c59a8
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 0x1401c5afc
test byte [r12 + 5], 0x10
je case.0x1401c44d1.1
mov edx, dword [r15 + 0x28]
mov ebx, dword [r15 + 0x20]
test dl, 0x2e
je 0x1401c59e9
mov qword [rsp + 0x20], r12
mov r9, r12
lea r8, str.subqueries
mov rcx, r14
call fcn.1401bad60
jmp 0x1401c59fb
mov rdx, qword [r12 + 0x20]
mov rcx, qword [rsp + 0x1d0]
call fcn.14020d7a0
cmp dword [r15 + 0x20], ebx
je 0x1401c5a07
or dword [r12 + 4], 0x40
or dword [r15 + 0x28], 0x40
jmp case.0x1401c44d1.1
mov edx, dword [r15 + 0x28]
test dl, 0x2e
je case.0x1401c44d1.1
mov qword [rsp + 0x20], r12
mov r9, r12
lea r8, str.parameters
mov rcx, r14
call fcn.1401bad60
jmp case.0x1401c44d1.1
mov rcx, qword [r12 + 0x18]
call fcn.1401dbc60
mov rbx, rax
test rax, rax
je case.0x1401c44d1.3
mov al, byte [rax]
cmp al, 0x3b
je 0x1401c5a56
cmp al, 0xaa
jne case.0x1401c44d1.3
mov rcx, qword [rsp + 0x1d0]
mov rdx, rbx
call fcn.1401c4480
cmp eax, 2
je 0x1401c5af4
cmp byte [rbx], 0xaa
jne case.0x1401c44d1.3
mov al, byte [r12]
mov dword [rsp + 0x38], 0
mov byte [r12], 0xaf
mov byte [r12 + 2], al
jmp 0x1401c5afc
mov rax, qword [r14]
cmp byte [rax + 0x67], 0
jne case.0x1401c44d1.1
mov rcx, qword [r12 + 0x10]
call fcn.1401dbcf0
cmp byte [r12], 0x30
mov edx, eax
jne 0x1401c5ac0
mov r9, qword [r12 + 0x20]
mov rcx, qword [r9 + 8]
call fcn.1401dbcf0
cmp edx, eax
jne 0x1401c5ace
mov rcx, qword [r9 + 0x28]
jmp 0x1401c5ac5
mov rcx, qword [r12 + 0x18]
call fcn.1401dbcf0
cmp eax, edx
je case.0x1401c44d1.1
lea rdx, str.row_value_misused
mov rcx, r14
call fcn.1401d7cf0
mov rcx, qword [r14]
mov rdx, r12
call fcn.1401f7cd0
mov eax, dword [r14 + 0x30]
mov dword [rsp + 0x38], eax
test eax, eax
je 0x1401c5afc
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