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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x98
mov rcx, qword [rcx]
lea r12, [0x14028d7e0]
mov rdi, qword [rsp + 0x100]
xor ebx, ebx
mov rax, qword [rsp + 0x108]
mov r14, r9
mov dword [rsp + 0x30], ebx
mov r10, r8
mov dword [rsp + 0x34], ebx
mov r9, rdx
mov dword [rsp + 0x78], ebx
mov ebp, ebx
mov dword [rax + 0x2c], 0xffffffff
mov r15d, ebx
mov qword [rsp + 0x48], rcx
mov esi, ebx
mov qword [rsp + 0x40], rbx
mov r11d, ebx
mov qword [rsp + 0x38], rdi
mov r13d, ebx
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x68], rbx
test rdx, rdx
je 0x1401d67eb
test byte [rdi + 0x28], 6
je 0x1401d66eb
mov edx, ebx
mov qword [rsp + 0xe8], rbx
jmp 0x1401d67f3
movsxd rsi, dword [rcx + 0x28]
test esi, esi
jle 0x1401d6786
mov rbp, qword [rcx + 0x20]
xor r12d, r12d
mov r10d, r12d
mov r11, rbp
lea r12, [0x14028d7e0]
nop dword [rax + rax]
mov r8, qword [r11]
sub r9, r8
nop word [rax + rax]
movzx ecx, byte [r8]
movzx eax, byte [r8 + r9]
cmp ecx, eax
jne 0x1401d674f
test ecx, ecx
jne 0x1401d675d
mov r9, qword [rsp + 0xe8]
movsxd rax, ebx
shl rax, 5
mov r11, qword [rax + rbp + 0x18]
mov ebp, r13d
mov qword [rsp + 0x70], r11
jmp 0x1401d677e
movzx edx, byte [rax + r12]
movzx ecx, byte [rcx + r12]
cmp ecx, edx
jne 0x1401d6762
inc r8
jmp 0x1401d6720
mov r9, qword [rsp + 0xe8]
inc ebx
inc r10
add r11, 0x20
cmp r10, rsi
jl 0x1401d6710
mov ebp, r13d
mov r11d, ebp
mov r10, qword [rsp + 0xf0]
cmp ebx, esi
jne 0x1401d67e7
lea rdx, [0x140295310]
sub r9, rdx
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rdx]
movzx r8d, byte [rdx + r9]
cmp eax, r8d
jne 0x1401d67d4
test eax, eax
jne 0x1401d67e2
mov rax, qword [rsp + 0x48]
xor ebx, ebx
mov esi, ebx
mov rax, qword [rax + 0x20]
mov r11, qword [rax + 0x18]
mov rdx, qword [rax]
mov qword [rsp + 0x70], r11
mov qword [rsp + 0xe8], rdx
jmp 0x1401d67f3
movzx ecx, byte [rax + r12]
movzx eax, byte [r8 + r12]
cmp ecx, eax
jne 0x1401d67e7
inc rdx
jmp 0x1401d67a0
xor ebx, ebx
mov esi, ebx
mov rdx, qword [rsp + 0xe8]
mov rcx, qword [rdi + 8]
lea r8, [0x14029531c]
mov qword [rsp + 0x58], rcx
test rcx, rcx
je 0x1401d6a25
cmp dword [rcx], 0
lea rdi, [rcx + 8]
mov qword [rsp + 0x60], rdi
mov eax, ebx
mov dword [rsp + 0x100], ebx
jle 0x1401d69e7
nop word [rax + rax]
test dword [rdi + 0x40], 0x2000
mov r12, qword [rdi + 0x20]
mov qword [rsp + 0x88], r12
je 0x1401d6c6a
mov rax, qword [rdi + 0x28]
mov r14d, ebx
mov ebp, ebx
mov r12, qword [rax + 0x20]
cmp dword [r12], 0
jle 0x1401d6be2
mov r9, rdx
movsxd r15, ebp
mov rdx, qword [rsp + 0xf8]
mov r8, r10
shl r15, 5
add r15, r12
lea rcx, [r15 + 8]
call fcn.140210750
test eax, eax
je 0x1401d6ba9
cmp dword [rsp + 0x30], 0
jle 0x1401d6959
test dword [rdi + 0x40], 0x400
je 0x1401d693f
mov rax, qword [rdi + 0x48]
mov edi, ebx
movsxd rsi, dword [rax]
test rsi, rsi
jle 0x1401d6938
lea r11, [rax + 8]
nop dword [rax + rax]
mov r8, qword [r11]
mov r10, qword [rsp + 0xf8]
sub r10, r8
nop
movzx eax, byte [r8]
movzx r9d, byte [r8 + r10]
cmp eax, r9d
jne 0x1401d6907
test eax, eax
jne 0x1401d6925
test edi, edi
mov rdi, qword [rsp + 0x60]
js 0x1401d693d
movzx eax, byte [rdi + 0x3c]
test al, 0x10
je 0x1401d6ba4
test al, 8
jne 0x1401d6ab6
xor ebx, ebx
mov dword [rsp + 0x30], ebx
jmp 0x1401d693f
mov rcx, rax
lea rax, [0x14028d7e0]
movzx edx, byte [rcx + rax]
lea rcx, [0x14028d7e0]
movzx eax, byte [r9 + rcx]
cmp edx, eax
jne 0x1401d692a
inc r8
jmp 0x1401d68d0
inc edi
inc rbx
add r11, 0x10
cmp rbx, rsi
jl 0x1401d68c0
mov rdi, qword [rsp + 0x60]
xor ebx, ebx
test r13, r13
je 0x1401d6951
mov rcx, qword [rsp + 0x48]
mov rdx, r13
call fcn.1401c6bc0
mov qword [rsp + 0x68], rbx
mov r13, rbx
mov rax, qword [rsp + 0x108]
mov rsi, rdi
inc dword [rsp + 0x30]
mov r14d, 1
mov dword [rsp + 0x34], 2
mov qword [rsp + 0x40], rdi
mov word [rax + 0x30], bp
or dword [r15 + 0x1c], 0x40
test byte [r15 + 0x1c], 0x80
je 0x1401d6ba9
mov r15d, dword [rsp + 0x34]
mov rcx, qword [rsp + 0x58]
mov eax, dword [rsp + 0x100]
mov rdx, qword [rsp + 0xe8]
mov ebp, dword [rsp + 0x30]
mov r14, qword [rsp + 0xf8]
inc eax
mov r10, qword [rsp + 0xf0]
add rdi, 0x68
mov ebx, 0
mov r11, qword [rsp + 0x70]
mov dword [rsp + 0x100], eax
mov qword [rsp + 0x60], rdi
cmp eax, dword [rcx]
jl 0x1401d6830
lea r8, [0x14029531c]
test rsi, rsi
je 0x1401d6a18
mov eax, dword [rsi + 0x44]
mov rcx, qword [rsp + 0x108]
mov dword [rcx + 0x2c], eax
mov rax, qword [rsi + 0x20]
mov qword [rcx + 0x40], rax
test byte [rsi + 0x3c], 0x48
je 0x1401d6a0f
or dword [rcx + 4], 0x200000
mov rcx, qword [rax + 0x60]
mov qword [rsp + 0x70], rcx
test ebp, ebp
jne 0x1401d72c8
mov rdi, qword [rsp + 0x38]
mov r12, qword [rsp + 0xe0]
test rdx, rdx
jne 0x1401d7135
mov r9, qword [r12 + 0xb0]
mov rsi, rbx
mov r11, qword [rsp + 0xf0]
test r9, r9
je 0x1401d703c
movzx r10d, byte [r12 + 0xe0]
cmp byte [r12 + 0xe1], dl
je 0x1401d6f95
test dword [rdi + 0x28], 0x400
je 0x1401d703c
test r11, r11
je 0x1401d6a9d
mov r9, qword [r9]
mov r8, r11
sub r9, r11
movzx ecx, byte [r8]
movzx eax, byte [r9 + r8]
cmp ecx, eax
jne 0x1401d6f76
test ecx, ecx
jne 0x1401d6f8d
mov rdx, qword [rsp + 0x108]
mov eax, ebx
cmp r10b, 0x80
setne al
mov dword [rdx + 0x2c], eax
jmp 0x1401d7034
mov rax, qword [rsp + 0x108]
mov edx, 0x48
mov rsi, qword [rsp + 0xe0]
movzx ebx, word [rax + 0x30]
mov rcx, qword [rsi]
call fcn.1401f9e10
mov rcx, rax
test rax, rax
je 0x1401d6959
mov rdx, qword [rsp + 0x40]
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm0
movups xmmword [rcx + 0x20], xmm0
movups xmmword [rcx + 0x30], xmm0
mov qword [rcx + 0x40], rax
mov rax, 0xffffffffffffffff
mov word [rcx + 0x32], ax
mov byte [rcx], 0xa7
mov dword [rcx + 0x28], 1
mov eax, dword [rdx + 0x44]
mov dword [rcx + 0x2c], eax
mov word [rcx + 0x30], bx
mov rax, qword [rdx + 0x20]
or dword [rcx + 4], 0x200000
mov qword [rcx + 0x40], rax
test r13, r13
jne 0x1401d6b4b
mov rdx, rcx
mov rcx, qword [rsi]
call fcn.140202850
mov r13, rax
mov qword [rsp + 0x68], rax
jmp 0x1401d6959
movsxd rax, dword [r13]
lea edx, [rax + 1]
cmp dword [r13 + 4], edx
jge 0x1401d6b73
mov r8, rcx
mov rdx, r13
mov rcx, qword [rsi]
call fcn.140202760
mov r13, rax
mov qword [rsp + 0x68], rax
jmp 0x1401d6959
movups xmm0, xmmword [0x140290968]
shl rax, 5
movups xmm1, xmmword [0x140290978]
mov dword [r13], edx
mov qword [rsp + 0x68], r13
movups xmmword [rax + r13 + 8], xmm0
movups xmmword [rax + r13 + 0x18], xmm1
mov qword [rax + r13 + 8], rcx
jmp 0x1401d6959
mov rsi, qword [rsp + 0x40]
mov r10, qword [rsp + 0xf0]
inc ebp
mov ebx, 0
mov rdx, qword [rsp + 0xe8]
cmp ebp, dword [r12]
jl 0x1401d6861
mov rcx, qword [rsp + 0x58]
mov r15d, dword [rsp + 0x34]
test r14d, r14d
jne 0x1401d6999
mov r11, qword [rsp + 0x70]
mov eax, dword [rsp + 0x100]
mov rdx, qword [rsp + 0xe8]
test r10, r10
je 0x1401d69a8
mov r14, qword [rsp + 0xf8]
mov r12, qword [rsp + 0x88]
test rdx, rdx
je 0x1401d6c32
cmp qword [r12 + 0x60], r11
jne 0x1401d69a8
test r11, r11
jne 0x1401d6c32
cmp byte [rdx], 0x2a
jne 0x1401d69a8
cmp byte [rdx + 1], r11b
jne 0x1401d69a8
mov rbx, qword [rdi + 0x18]
mov rdx, r10
test rbx, rbx
je 0x1401d6c93
mov r9, rbx
sub r9, r10
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rdx]
movzx r8d, byte [rdx + r9]
cmp eax, r8d
jne 0x1401d6c75
test eax, eax
je 0x1401d6cf1
inc rdx
jmp 0x1401d6c50
test r10, r10
je 0x1401d6d34
jmp 0x1401d6c0a
lea r10, [0x14028d7e0]
movzx ecx, byte [rax + r10]
movzx eax, byte [r8 + r10]
cmp ecx, eax
jne 0x1401d6994
inc rdx
jmp 0x1401d6c50
mov r9, qword [r12]
sub r9, r10
nop word [rax + rax]
movzx eax, byte [rdx]
movzx r8d, byte [rdx + r9]
cmp eax, r8d
jne 0x1401d6cb6
test eax, eax
je 0x1401d6cf1
inc rdx
jmp 0x1401d6ca0
lea rbp, [0x14028d7e0]
movzx ecx, byte [rax + rbp]
movzx eax, byte [r8 + rbp]
cmp ecx, eax
jne 0x1401d6ccf
inc rdx
jmp 0x1401d6ca0
cmp dword [r12 + 0x28], 1
jne 0x1401d6994
mov r8, r11
mov rdx, r12
mov rcx, r10
call fcn.1401d1890
test eax, eax
je 0x1401d6994
mov r10, qword [rsp + 0xe0]
cmp byte [r10 + 0x134], 2
jb 0x1401d6d32
test rbx, rbx
je 0x1401d6d32
mov rax, qword [r10 + 0x1a0]
test rax, rax
je 0x1401d6d32
mov rcx, qword [rsp + 0x108]
add rcx, 0x40
cmp qword [rax], rcx
je 0x1401d6e69
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x1401d6d20
xor ebx, ebx
mov rcx, r14
call fcn.140224af0
movsx r14d, word [r12 + 0x36]
movzx r15d, al
mov rsi, qword [r12 + 8]
mov ebp, ebx
test r14d, r14d
jle 0x1401d6e1b
cmp byte [rsi + 0xe], r15b
jne 0x1401d6e04
mov r8, qword [rsi]
mov r9, qword [rsp + 0xf8]
sub r9, r8
nop
movzx ecx, byte [r8]
movzx eax, byte [r9 + r8]
cmp ecx, eax
jne 0x1401d6e73
test ecx, ecx
jne 0x1401d6e8c
cmp dword [rsp + 0x30], ecx
jle 0x1401d6edd
test dword [rdi + 0x40], 0x400
je 0x1401d6ec3
mov rax, qword [rdi + 0x48]
xor r12d, r12d
mov r11d, r12d
movsxd rdi, dword [rax]
test rdi, rdi
jle 0x1401d6ebc
lea r10, [rax + 8]
lea r12, [0x14028d7e0]
mov r8, qword [r10]
mov r9, qword [rsp + 0xf8]
sub r9, r8
nop
movzx ecx, byte [r8]
movzx eax, byte [r9 + r8]
cmp ecx, eax
jne 0x1401d6e94
test ecx, ecx
jne 0x1401d6ea2
mov rdi, qword [rsp + 0x60]
test ebx, ebx
js 0x1401d6ec1
movzx eax, byte [rdi + 0x3c]
test al, 0x10
jne 0x1401d6f39
xor ebx, ebx
inc ebp
add rsi, 0x18
cmp ebp, r14d
jl 0x1401d6d56
mov r12, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x40]
mov ebp, dword [rsp + 0x30]
mov r15d, dword [rsp + 0x34]
mov eax, dword [rsp + 0x100]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0xe8]
test ebp, ebp
jne 0x1401d69ac
test dword [r12 + 0x30], 0x200
jne 0x1401d69ac
inc r15d
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x34], r15d
mov rsi, rdi
jmp 0x1401d69ac
xor ebx, ebx
mov qword [rax], rbx
jmp 0x1401d6d34
lea r10, [0x14028d7e0]
movzx edx, byte [rax + r10]
movzx ecx, byte [rcx + r10]
cmp ecx, edx
jne 0x1401d6e04
inc r8
jmp 0x1401d6d70
movzx edx, byte [rax + r12]
movzx ecx, byte [rcx + r12]
cmp ecx, edx
jne 0x1401d6eaa
inc r8
jmp 0x1401d6dd0
inc ebx
inc r11
add r10, 0x10
cmp r11, rdi
jl 0x1401d6dc1
mov rdi, qword [rsp + 0x60]
xor ebx, ebx
test r13, r13
je 0x1401d6ed5
mov rcx, qword [rsp + 0x48]
mov rdx, r13
call fcn.1401c6bc0
mov qword [rsp + 0x68], rbx
mov r13, rbx
inc dword [rsp + 0x30]
movzx eax, bp
mov r12, qword [rsp + 0x88]
mov rsi, rdi
mov qword [rsp + 0x40], rdi
movsx ecx, word [r12 + 0x34]
cmp ebp, ecx
mov rcx, 0xffffffffffffffff
cmove ax, cx
mov rcx, qword [rsp + 0x108]
mov word [rcx + 0x30], ax
test dword [rdi + 0x40], 0x2000
je 0x1401d6e20
mov rax, qword [rdi + 0x28]
mov rcx, qword [rax + 0x20]
movsxd rax, ebp
shl rax, 5
or dword [rax + rcx + 0x1c], 0x40
jmp 0x1401d6e20
test al, 8
jne 0x1401d6f48
xor ebx, ebx
mov dword [rsp + 0x30], ebx
jmp 0x1401d6ec3
mov rax, qword [rsp + 0x108]
lea rdx, [rsp + 0x68]
mov r8, qword [rsp + 0x40]
mov rcx, qword [rsp + 0xe0]
movzx r9d, word [rax + 0x30]
call fcn.1401c75d0
mov r13, qword [rsp + 0x68]
jmp 0x1401d6edd
lea rbp, [0x14028d7e0]
movzx edx, byte [rax + rbp]
movzx ecx, byte [rcx + rbp]
cmp ecx, edx
jne 0x1401d7043
inc r8
jmp 0x1401d6a84
cmp r10b, 0x80
je 0x1401d6ff7
test r11, r11
je 0x1401d6fea
mov r9, r11
lea rax, [0x14029531c]
sub r9, rax
nop dword [rax]
movzx ecx, byte [r8]
movzx eax, byte [r9 + r8]
cmp ecx, eax
jne 0x1401d6fd2
test ecx, ecx
jne 0x1401d6fe5
mov rdx, qword [rsp + 0x108]
mov dword [rdx + 0x2c], 1
jmp 0x1401d7034
lea rbp, [0x14028d7e0]
movzx edx, byte [rax + rbp]
movzx ecx, byte [rcx + rbp]
cmp ecx, edx
jne 0x1401d6ff1
inc r8
jmp 0x1401d6fb0
lea rbp, [0x14028d7e0]
cmp r10b, 0x7f
je 0x1401d7043
test r11, r11
je 0x1401d703c
lea rax, [0x140295320]
mov r9, r11
mov r8, rax
sub r9, rax
nop dword [rax]
movzx ecx, byte [r8]
movzx eax, byte [r9 + r8]
cmp ecx, eax
jne 0x1401d71dc
test ecx, ecx
jne 0x1401d71f3
mov rdx, qword [rsp + 0x108]
mov dword [rdx + 0x2c], ebx
mov rsi, qword [r12 + 0xb0]
lea rbp, [0x14028d7e0]
test dword [rdi + 0x28], 0x200
je 0x1401d70a0
test r11, r11
je 0x1401d70a0
mov r10, qword [rdi + 0x10]
test r10, r10
je 0x1401d70a0
lea rax, str.excluded
mov r9, r11
mov r8, rax
sub r9, rax
nop word [rax + rax]
movzx ecx, byte [r8]
movzx eax, byte [r9 + r8]
cmp ecx, eax
jne 0x1401d71fb
test ecx, ecx
jne 0x1401d720b
mov rax, qword [r10 + 0x40]
mov rsi, qword [rax + 0x28]
mov rax, qword [rsp + 0x108]
mov dword [rax + 0x2c], 2
test rsi, rsi
je 0x1401d7135
mov rcx, r14
call fcn.140224af0
movsx edi, word [rsi + 0x36]
inc r15d
mov rcx, qword [rsi + 0x60]
movzx r11d, al
mov r10, qword [rsi + 8]
mov qword [rsp + 0x70], rcx
mov dword [rsp + 0x34], r15d
test edi, edi
jle 0x1401d710a
cmp byte [r10 + 0xe], r11b
jne 0x1401d7227
mov r8, qword [r10]
mov r9, r14
sub r9, r8
movzx ecx, byte [r8]
movzx eax, byte [r9 + r8]
cmp ecx, eax
jne 0x1401d7213
test ecx, ecx
jne 0x1401d721f
movsx eax, word [rsi + 0x34]
cmp ebx, eax
je 0x1401d72de
cmp ebx, edi
jl 0x1401d712b
mov rcx, r14
call fcn.14020e750
test eax, eax
je 0x1401d712b
test dword [rsi + 0x30], 0x200
mov rax, 0xffffffffffffffff
cmove ebx, eax
mov edx, ebx
cmp ebx, edi
jl 0x1401d72e9
mov rdi, qword [rsp + 0x38]
cmp r15d, 1
jne 0x1401d7172
mov r15, qword [rsp + 0x40]
test r15, r15
je 0x1401d716d
test byte [rdi + 0x28], 0x28
jne 0x1401d716d
mov rcx, r14
call fcn.14020e750
test eax, eax
je 0x1401d716d
mov rax, qword [r15 + 0x20]
test dword [rax + 0x30], 0x200
je 0x1401d74c9
mov r15d, dword [rsp + 0x34]
mov ebp, dword [rdi + 0x28]
xor ebx, ebx
mov r10, qword [rsp + 0xf0]
test bpl, bpl
jns 0x1401d728c
test r10, r10
jne 0x1401d728c
mov rsi, qword [rdi + 0x10]
mov r10d, ebx
mov edi, dword [rsi]
test edi, edi
jle 0x1401d727f
nop dword [rax]
nop word [rax + rax]
movsxd rbx, r10d
mov rax, rbx
shl rax, 5
test byte [rax + rsi + 0x1c], 3
mov r11, qword [rax + rsi + 0x10]
jne 0x1401d7271
test r11, r11
jne 0x1401d723a
mov rax, r14
neg rax
sbb edx, edx
jmp 0x1401d7269
lea rbp, [0x14028d7e0]
movzx edx, byte [rax + rbp]
movzx ecx, byte [rcx + rbp]
cmp ecx, edx
jne 0x1401d7043
inc r8
jmp 0x1401d7010
movzx edx, byte [rax + rbp]
movzx ecx, byte [rcx + rbp]
cmp ecx, edx
jne 0x1401d70a0
inc r8
jmp 0x1401d7070
movzx edx, byte [rax + rbp]
movzx ecx, byte [rcx + rbp]
cmp ecx, edx
jne 0x1401d7227
inc r8
jmp 0x1401d70e5
inc ebx
add r10, 0x18
cmp ebx, edi
jl 0x1401d70d2
jmp 0x1401d710e
test r14, r14
je 0x1401d7271
mov r9, r14
lea r12, [0x14028d7e0]
sub r9, r11
mov r8, r11
nop
movzx edx, byte [r8]
movzx eax, byte [r8 + r9]
cmp edx, eax
jne 0x1401d72b5
test edx, edx
jne 0x1401d72c3
mov r12, qword [rsp + 0xe0]
test edx, edx
je 0x1401d74ea
inc r10d
cmp r10d, edi
jl 0x1401d71b0
xor ebx, ebx
mov rdi, qword [rsp + 0x38]
mov r10, qword [rsp + 0xf0]
mov rdi, qword [rdi + 0x18]
inc dword [rsp + 0x78]
mov qword [rsp + 0x38], rdi
test rdi, rdi
je 0x1401d7665
mov rsi, qword [rsp + 0x40]
mov ebp, dword [rsp + 0x30]
mov r11, qword [rsp + 0x70]
jmp 0x1401d67eb
movzx ecx, byte [rax + r12]
movzx edx, byte [rdx + r12]
sub edx, ecx
jne 0x1401d7261
inc r8
jmp 0x1401d7250
mov rdi, qword [rsp + 0x108]
cmp ebp, 1
je 0x1401d786b
jmp 0x1401d7719
mov rax, 0xffffffffffffffff
mov ebx, eax
mov edx, eax
mov rdi, qword [rsp + 0x108]
xor r12d, r12d
mov ebp, 1
mov r15d, r12d
mov r11d, dword [rdi + 0x2c]
cmp r11d, 2
jne 0x1401d73ac
mov rax, qword [rsp + 0xe0]
cmp byte [rax + 0x134], r11b
jb 0x1401d7328
mov word [rdi + 0x30], dx
mov qword [rdi + 0x40], rsi
jmp 0x1401d7873
test byte [rsi + 0x30], 0x20
je 0x1401d738f
test dx, dx
js 0x1401d738f
movsx eax, dx
mov r10d, r12d
movzx r8d, r12w
test eax, eax
jle 0x1401d736b
mov rdx, qword [rsi + 8]
mov r10d, eax
add rdx, 0x12
mov r9d, eax
nop
movzx eax, byte [rdx]
lea ecx, [r8 + 1]
and al, 0x20
lea rdx, [rdx + 0x18]
cmovne cx, r8w
movzx r8d, cx
sub r9, rbp
jne 0x1401d7350
movsxd rax, r10d
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
test byte [rax + rcx*8 + 0x12], 0x20
je 0x1401d738b
movzx edx, word [rsi + 0x38]
sub dx, r8w
add dx, r10w
jmp 0x1401d738f
movzx edx, r8w
mov r14, qword [rsp + 0x38]
mov r13d, 0xb0
movsx ecx, dx
mov rax, qword [r14 + 0x10]
add ecx, dword [rax + 0x48]
mov dword [rdi + 0x2c], ecx
jmp 0x1401d787e
mov r8, qword [rsp + 0xe0]
mov qword [rdi + 0x40], rsi
movzx eax, byte [r8 + 0xe1]
mov word [rdi + 0x30], dx
test al, al
je 0x1401d7461
mov byte [rdi + 2], 0xa7
mov r13d, 0xb0
test byte [rsi + 0x30], 0x20
je 0x1401d743f
test dx, dx
js 0x1401d743f
movsx eax, dx
mov r10d, r12d
movzx r8d, r12w
test eax, eax
jle 0x1401d741b
mov rdx, qword [rsi + 8]
mov r10d, eax
add rdx, 0x12
mov r9d, eax
nop dword [rax]
movzx eax, byte [rdx]
lea ecx, [r8 + 1]
and al, 0x20
lea rdx, [rdx + 0x18]
cmovne cx, r8w
movzx r8d, cx
sub r9, rbp
jne 0x1401d7400
movsxd rax, r10d
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
test byte [rax + rcx*8 + 0x12], 0x20
je 0x1401d743b
movzx edx, word [rsi + 0x38]
sub dx, r8w
add dx, r10w
jmp 0x1401d743f
movzx edx, r8w
movsx ecx, word [rsi + 0x36]
mov r14, qword [rsp + 0x38]
inc ecx
imul ecx, r11d
movsx eax, dx
inc ecx
add ecx, dword [r14 + 0x10]
add ecx, eax
mov dword [rdi + 0x2c], ecx
jmp 0x1401d787e
mov r13d, 0x4d
test ebx, ebx
jns 0x1401d7474
mov byte [rdi + 1], 0x44
jmp 0x1401d7879
test r11d, r11d
jne 0x1401d74a1
cmp ebx, 0x20
jl 0x1401d748f
mov eax, 0xffffffff
or dword [r8 + 0xd4], eax
jmp 0x1401d7879
mov ecx, ebx
mov eax, ebp
shl eax, cl
or dword [r8 + 0xd4], eax
jmp 0x1401d7879
cmp ebx, 0x20
jl 0x1401d74b7
mov eax, 0xffffffff
or dword [r8 + 0xd8], eax
jmp 0x1401d7879
mov ecx, ebx
mov eax, ebp
shl eax, cl
or dword [r8 + 0xd8], eax
jmp 0x1401d7879
mov rdi, qword [rsp + 0x108]
mov rax, 0xffffffffffffffff
mov ebp, 1
mov word [rdi + 0x30], ax
mov byte [rdi + 1], 0x44
jmp 0x1401d7870
shl rbx, 5
mov rax, qword [rbx + rsi + 8]
test bpl, 1
jne 0x1401d752a
test byte [rax + 4], 0x10
je 0x1401d752a
mov r8, r11
lea rdx, str.misuse_of_aliased_aggregate__s
mov rcx, r12
call fcn.1401fcaf0
mov eax, 2
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
test dword [rax + 4], 0x8000
je 0x1401d7554
bt ebp, 0xe
jae 0x1401d7548
mov r14, qword [rsp + 0x38]
cmp r14, qword [rsp + 0x80]
je 0x1401d7559
mov r8, r11
lea rdx, str.misuse_of_aliased_window_function__s
jmp 0x1401d7509
mov r14, qword [rsp + 0x38]
movzx ecx, byte [rax]
cmp cl, 0xb0
jne 0x1401d7565
movzx ecx, byte [rax + 2]
cmp cl, 0xb1
je 0x1401d7573
cmp cl, 0x8a
jne 0x1401d758d
mov rax, qword [rax + 0x20]
mov rcx, qword [rax + 0x20]
cmp dword [rcx], 1
je 0x1401d758d
lea rdx, str.row_value_misused
mov rcx, r12
call fcn.1401fcaf0
jmp 0x1401d7511
mov ecx, dword [rsp + 0x78]
mov r8d, r10d
mov rdi, qword [rsp + 0x108]
mov rdx, rsi
mov dword [rsp + 0x20], ecx
mov r9, rdi
mov rcx, r12
call fcn.1401e5020
cmp byte [r12 + 0x134], 2
jb 0x1401d75d8
mov rax, qword [r12 + 0x1a0]
test rax, rax
je 0x1401d75d8
cmp qword [rax], rdi
je 0x1401d765a
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x1401d75c6
xor r12d, r12d
mov r11, qword [rsp + 0xe0]
mov rax, qword [r11]
cmp qword [rax + 0x200], 0
je 0x1401d79bc
movzx ecx, byte [rdi]
cmp cl, 0xa7
je 0x1401d7605
cmp cl, 0x4d
jne 0x1401d79bc
mov rdx, qword [rsp + 0x70]
mov r10, qword [r14 + 8]
test rdx, rdx
je 0x1401d79bc
mov rax, qword [rax + 0x20]
mov r9d, r12d
add rax, 0x18
cmp qword [rax], rdx
je 0x1401d7645
nop word [rax + rax]
inc r9d
lea rax, [rax + 0x20]
cmp qword [rax], rdx
jne 0x1401d7630
test r9d, r9d
js 0x1401d79bc
cmp cl, 0x4d
jne 0x1401d7934
mov r12, qword [r11 + 0xb0]
jmp 0x1401d7969
xor r12d, r12d
mov qword [rax], r12
jmp 0x1401d75db
mov rdi, qword [rsp + 0x108]
test r10, r10
jne 0x1401d7710
mov ebx, dword [rdi + 4]
test bl, bl
jns 0x1401d76e9
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0xc5], r10b
jne 0x1401d76c4
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rax + 0x30]
test dword [rdx + 0x28], 0x10000
je 0x1401d76bb
mov rax, rcx
and eax, 0x10000001
cmp rax, 1
jne 0x1401d76b5
bt rcx, 0x1e
jb 0x1401d76c4
shr rcx, 0x1d
jmp 0x1401d76bf
shr rcx, 0x1e
test cl, 1
je 0x1401d76e9
mov r8, r14
lea rdx, str.double_quoted_string_literal:___w_
mov ecx, 0x1c
call fcn.1401afe20
xor ecx, ecx
mov byte [rdi], 0x75
mov qword [rdi + 0x40], rcx
lea eax, [rcx + 1]
jmp 0x1401d7516
test ebx, 0x4000800
jne 0x1401d7710
mov rcx, qword [rdi + 8]
call fcn.14020e930
test eax, eax
je 0x1401d7710
or ebx, eax
mov byte [rdi], 0xaa
mov dword [rdi + 4], ebx
mov eax, 1
jmp 0x1401d7516
mov rsi, qword [rsp + 0x40]
mov ebp, dword [rsp + 0x30]
test r13, r13
je 0x1401d77be
lea eax, [rbp - 1]
cmp dword [r13], eax
jne 0x1401d77b1
mov eax, dword [rdi + 4]
bt eax, 0x17
jae 0x1401d7744
btr eax, 0x17
mov dword [rdi + 4], eax
xor r12d, r12d
jmp 0x1401d7776
mov rdx, qword [rdi + 0x10]
mov rbx, qword [rsp + 0x48]
test rdx, rdx
je 0x1401d775a
mov rcx, rbx
call fcn.140201880
mov rdx, qword [rdi + 0x18]
xor r12d, r12d
mov qword [rdi + 0x10], r12
test rdx, rdx
je 0x1401d7772
mov rcx, rbx
call fcn.140201880
mov qword [rdi + 0x18], r12
movzx r9d, word [rdi + 0x30]
lea rdx, [rsp + 0x68]
mov rcx, qword [rsp + 0xe0]
mov r8, rsi
call fcn.1401c75d0
mov r14, qword [rsp + 0x38]
lea rax, str.coalesce
mov qword [rdi + 8], rax
mov rax, qword [rsp + 0x68]
mov qword [rdi + 0x20], rax
mov byte [rdi], 0xac
jmp 0x1401d75db
mov rcx, qword [rsp + 0x48]
mov rdx, r13
call fcn.1401c6bc0
mov r9, qword [rsp + 0xe8]
lea rax, str.no_such_column
mov r11, qword [rsp + 0xf0]
lea r8, str.ambiguous_column_name
mov rcx, qword [rsp + 0xe0]
test ebp, ebp
cmove r8, rax
test r9, r9
je 0x1401d7807
mov qword [rsp + 0x28], r14
lea rdx, str._s:__s._s._s
mov qword [rsp + 0x20], r11
call fcn.1401fcaf0
jmp 0x1401d7831
test r11, r11
je 0x1401d7822
mov r9, r11
mov qword [rsp + 0x20], r14
lea rdx, str._s:__s._s
call fcn.1401fcaf0
jmp 0x1401d7831
mov r9, r14
lea rdx, str._s:__s
call fcn.1401fcaf0
mov r8, qword [rsp + 0xe0]
mov rax, rdi
mov rdx, qword [r8]
nop
test byte [rax + 4], 3
jne 0x1401d784d
mov ecx, dword [rax + 0x34]
test ecx, ecx
jg 0x1401d7858
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1401d7840
jmp 0x1401d785b
mov dword [rdx + 0x54], ecx
mov rax, qword [rsp + 0x80]
mov byte [r8 + 0x1d], 1
inc dword [rax + 0x24]
mov r15, qword [rsp + 0x40]
xor r12d, r12d
mov r13d, 0xa7
mov r14, qword [rsp + 0x38]
test dword [rdi + 4], 0x810000
jne 0x1401d78bd
mov rdx, qword [rdi + 0x10]
mov rbx, qword [rsp + 0x48]
test rdx, rdx
je 0x1401d789d
mov rcx, rbx
call fcn.140201880
mov rdx, qword [rdi + 0x18]
mov qword [rdi + 0x10], r12
test rdx, rdx
je 0x1401d78b2
mov rcx, rbx
call fcn.140201880
or dword [rdi + 4], 0x800000
mov qword [rdi + 0x18], r12
movsx rax, word [rdi + 0x30]
test ax, ax
js 0x1401d7923
test r15, r15
je 0x1401d7923
mov r8, qword [rdi + 0x40]
mov rdx, rax
test byte [r8 + 0x30], 0x60
je 0x1401d790a
lea rcx, [rax + rax*2]
mov rax, qword [r8 + 8]
test byte [rax + rcx*8 + 0x12], 0x60
je 0x1401d790a
movzx ecx, word [r8 + 0x36]
cmp cx, 0x40
jl 0x1401d78fd
mov rax, 0xffffffffffffffff
jmp 0x1401d791f
mov eax, 1
shl rax, cl
dec rax
jmp 0x1401d791f
cmp edx, 0x40
mov eax, 0x3f
cmovge edx, eax
mov eax, 1
mov ecx, edx
shl rax, cl
or qword [r15 + 0x50], rax
mov byte [rdi], r13b
cmp ebp, 1
jne 0x1401d7511
jmp 0x1401d75db
movsxd rax, dword [r10]
test eax, eax
jle 0x1401d7969
mov edx, dword [rdi + 0x2c]
mov r8, rax
lea rax, [r10 + 0x4c]
mov rcx, r12
cmp edx, dword [rax]
je 0x1401d795d
inc r12d
inc rcx
add rax, 0x68
cmp rcx, r8
jl 0x1401d7948
jmp 0x1401d79bc
movsxd rax, r12d
imul rcx, rax, 0x68
mov r12, qword [rcx + r10 + 0x28]
movsx rax, word [rdi + 0x30]
test r12, r12
je 0x1401d79bc
test ax, ax
js 0x1401d7987
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 8]
mov r8, qword [rax + rcx*8]
jmp 0x1401d79a8
movsx rax, word [r12 + 0x34]
test ax, ax
js 0x1401d79a1
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 8]
mov r8, qword [rax + rcx*8]
jmp 0x1401d79a8
lea r8, str.ROWID
mov rdx, qword [r12]
mov rcx, r11
call fcn.1401ee500
cmp eax, 2
jne 0x1401d79bc
mov byte [rdi], 0x79
mov rax, qword [rsp + 0x80]
inc dword [rax + 0x20]
cmp rax, r14
je 0x1401d79dc
nop dword [rax]
mov rax, qword [rax + 0x18]
inc dword [rax + 0x20]
cmp rax, r14
jne 0x1401d79d0
mov eax, 1
jmp 0x1401d7516