Function at 0x1401d5f30
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 0x1401d60db
test byte [rdi + 0x28], 6
je 0x1401d5fdb
mov edx, ebx
mov qword [rsp + 0xe8], rbx
jmp 0x1401d60e3
movsxd rsi, dword [rcx + 0x28]
test esi, esi
jle 0x1401d6076
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 0x1401d603f
test ecx, ecx
jne 0x1401d604d
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 0x1401d606e
movzx edx, byte [rax + r12]
movzx ecx, byte [rcx + r12]
cmp ecx, edx
jne 0x1401d6052
inc r8
jmp 0x1401d6010
mov r9, qword [rsp + 0xe8]
inc ebx
inc r10
add r11, 0x20
cmp r10, rsi
jl 0x1401d6000
mov ebp, r13d
mov r11d, ebp
mov r10, qword [rsp + 0xf0]
cmp ebx, esi
jne 0x1401d60d7
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 0x1401d60c4
test eax, eax
jne 0x1401d60d2
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 0x1401d60e3
movzx ecx, byte [rax + r12]
movzx eax, byte [r8 + r12]
cmp ecx, eax
jne 0x1401d60d7
inc rdx
jmp 0x1401d6090
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 0x1401d6315
cmp dword [rcx], 0
lea rdi, [rcx + 8]
mov qword [rsp + 0x60], rdi
mov eax, ebx
mov dword [rsp + 0x100], ebx
jle 0x1401d62d7
nop word [rax + rax]
test dword [rdi + 0x40], 0x2000
mov r12, qword [rdi + 0x20]
mov qword [rsp + 0x88], r12
je 0x1401d655a
mov rax, qword [rdi + 0x28]
mov r14d, ebx
mov ebp, ebx
mov r12, qword [rax + 0x20]
cmp dword [r12], 0
jle 0x1401d64d2
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.140210040
test eax, eax
je 0x1401d6499
cmp dword [rsp + 0x30], 0
jle 0x1401d6249
test dword [rdi + 0x40], 0x400
je 0x1401d622f
mov rax, qword [rdi + 0x48]
mov edi, ebx
movsxd rsi, dword [rax]
test rsi, rsi
jle 0x1401d6228
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 0x1401d61f7
test eax, eax
jne 0x1401d6215
test edi, edi
mov rdi, qword [rsp + 0x60]
js 0x1401d622d
movzx eax, byte [rdi + 0x3c]
test al, 0x10
je 0x1401d6494
test al, 8
jne 0x1401d63a6
xor ebx, ebx
mov dword [rsp + 0x30], ebx
jmp 0x1401d622f
mov rcx, rax
lea rax, [0x14028d7e0]
movzx edx, byte [rcx + rax]
lea rcx, [0x14028d7e0]
movzx eax, byte [r9 + rcx]
cmp edx, eax
jne 0x1401d621a
inc r8
jmp 0x1401d61c0
inc edi
inc rbx
add r11, 0x10
cmp rbx, rsi
jl 0x1401d61b0
mov rdi, qword [rsp + 0x60]
xor ebx, ebx
test r13, r13
je 0x1401d6241
mov rcx, qword [rsp + 0x48]
mov rdx, r13
call fcn.1401c64b0
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 0x1401d6499
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 0x1401d6120
lea r8, [0x14029531c]
test rsi, rsi
je 0x1401d6308
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 0x1401d62ff
or dword [rcx + 4], 0x200000
mov rcx, qword [rax + 0x60]
mov qword [rsp + 0x70], rcx
test ebp, ebp
jne 0x1401d6bb8
mov rdi, qword [rsp + 0x38]
mov r12, qword [rsp + 0xe0]
test rdx, rdx
jne 0x1401d6a25
mov r9, qword [r12 + 0xb0]
mov rsi, rbx
mov r11, qword [rsp + 0xf0]
test r9, r9
je 0x1401d692c
movzx r10d, byte [r12 + 0xe0]
cmp byte [r12 + 0xe1], dl
je 0x1401d6885
test dword [rdi + 0x28], 0x400
je 0x1401d692c
test r11, r11
je 0x1401d638d
mov r9, qword [r9]
mov r8, r11
sub r9, r11
movzx ecx, byte [r8]
movzx eax, byte [r9 + r8]
cmp ecx, eax
jne 0x1401d6866
test ecx, ecx
jne 0x1401d687d
mov rdx, qword [rsp + 0x108]
mov eax, ebx
cmp r10b, 0x80
setne al
mov dword [rdx + 0x2c], eax
jmp 0x1401d6924
mov rax, qword [rsp + 0x108]
mov edx, 0x48
mov rsi, qword [rsp + 0xe0]
movzx ebx, word [rax + 0x30]
mov rcx, qword [rsi]
call fcn.1401f9700
mov rcx, rax
test rax, rax
je 0x1401d6249
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 0x1401d643b
mov rdx, rcx
mov rcx, qword [rsi]
call fcn.140202140
mov r13, rax
mov qword [rsp + 0x68], rax
jmp 0x1401d6249
movsxd rax, dword [r13]
lea edx, [rax + 1]
cmp dword [r13 + 4], edx
jge 0x1401d6463
mov r8, rcx
mov rdx, r13
mov rcx, qword [rsi]
call fcn.140202050
mov r13, rax
mov qword [rsp + 0x68], rax
jmp 0x1401d6249
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 0x1401d6249
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 0x1401d6151
mov rcx, qword [rsp + 0x58]
mov r15d, dword [rsp + 0x34]
test r14d, r14d
jne 0x1401d6289
mov r11, qword [rsp + 0x70]
mov eax, dword [rsp + 0x100]
mov rdx, qword [rsp + 0xe8]
test r10, r10
je 0x1401d6298
mov r14, qword [rsp + 0xf8]
mov r12, qword [rsp + 0x88]
test rdx, rdx
je 0x1401d6522
cmp qword [r12 + 0x60], r11
jne 0x1401d6298
test r11, r11
jne 0x1401d6522
cmp byte [rdx], 0x2a
jne 0x1401d6298
cmp byte [rdx + 1], r11b
jne 0x1401d6298
mov rbx, qword [rdi + 0x18]
mov rdx, r10
test rbx, rbx
je 0x1401d6583
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 0x1401d6565
test eax, eax
je 0x1401d65e1
inc rdx
jmp 0x1401d6540
test r10, r10
je 0x1401d6624
jmp 0x1401d64fa
lea r10, [0x14028d7e0]
movzx ecx, byte [rax + r10]
movzx eax, byte [r8 + r10]
cmp ecx, eax
jne 0x1401d6284
inc rdx
jmp 0x1401d6540
mov r9, qword [r12]
sub r9, r10
nop word [rax + rax]
movzx eax, byte [rdx]
movzx r8d, byte [rdx + r9]
cmp eax, r8d
jne 0x1401d65a6
test eax, eax
je 0x1401d65e1
inc rdx
jmp 0x1401d6590
lea rbp, [0x14028d7e0]
movzx ecx, byte [rax + rbp]
movzx eax, byte [r8 + rbp]
cmp ecx, eax
jne 0x1401d65bf
inc rdx
jmp 0x1401d6590
cmp dword [r12 + 0x28], 1
jne 0x1401d6284
mov r8, r11
mov rdx, r12
mov rcx, r10
call fcn.1401d1180
test eax, eax
je 0x1401d6284
mov r10, qword [rsp + 0xe0]
cmp byte [r10 + 0x134], 2
jb 0x1401d6622
test rbx, rbx
je 0x1401d6622
mov rax, qword [r10 + 0x1a0]
test rax, rax
je 0x1401d6622
mov rcx, qword [rsp + 0x108]
add rcx, 0x40
cmp qword [rax], rcx
je 0x1401d6759
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x1401d6610
xor ebx, ebx
mov rcx, r14
call fcn.1402243e0
movsx r14d, word [r12 + 0x36]
movzx r15d, al
mov rsi, qword [r12 + 8]
mov ebp, ebx
test r14d, r14d
jle 0x1401d670b
cmp byte [rsi + 0xe], r15b
jne 0x1401d66f4
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 0x1401d6763
test ecx, ecx
jne 0x1401d677c
cmp dword [rsp + 0x30], ecx
jle 0x1401d67cd
test dword [rdi + 0x40], 0x400
je 0x1401d67b3
mov rax, qword [rdi + 0x48]
xor r12d, r12d
mov r11d, r12d
movsxd rdi, dword [rax]
test rdi, rdi
jle 0x1401d67ac
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 0x1401d6784
test ecx, ecx
jne 0x1401d6792
mov rdi, qword [rsp + 0x60]
test ebx, ebx
js 0x1401d67b1
movzx eax, byte [rdi + 0x3c]
test al, 0x10
jne 0x1401d6829
xor ebx, ebx
inc ebp
add rsi, 0x18
cmp ebp, r14d
jl 0x1401d6646
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 0x1401d629c
test dword [r12 + 0x30], 0x200
jne 0x1401d629c
inc r15d
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x34], r15d
mov rsi, rdi
jmp 0x1401d629c
xor ebx, ebx
mov qword [rax], rbx
jmp 0x1401d6624
lea r10, [0x14028d7e0]
movzx edx, byte [rax + r10]
movzx ecx, byte [rcx + r10]
cmp ecx, edx
jne 0x1401d66f4
inc r8
jmp 0x1401d6660
movzx edx, byte [rax + r12]
movzx ecx, byte [rcx + r12]
cmp ecx, edx
jne 0x1401d679a
inc r8
jmp 0x1401d66c0
inc ebx
inc r11
add r10, 0x10
cmp r11, rdi
jl 0x1401d66b1
mov rdi, qword [rsp + 0x60]
xor ebx, ebx
test r13, r13
je 0x1401d67c5
mov rcx, qword [rsp + 0x48]
mov rdx, r13
call fcn.1401c64b0
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 0x1401d6710
mov rax, qword [rdi + 0x28]
mov rcx, qword [rax + 0x20]
movsxd rax, ebp
shl rax, 5
or dword [rax + rcx + 0x1c], 0x40
jmp 0x1401d6710
test al, 8
jne 0x1401d6838
xor ebx, ebx
mov dword [rsp + 0x30], ebx
jmp 0x1401d67b3
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.1401c6ec0
mov r13, qword [rsp + 0x68]
jmp 0x1401d67cd
lea rbp, [0x14028d7e0]
movzx edx, byte [rax + rbp]
movzx ecx, byte [rcx + rbp]
cmp ecx, edx
jne 0x1401d6933
inc r8
jmp 0x1401d6374
cmp r10b, 0x80
je 0x1401d68e7
test r11, r11
je 0x1401d68da
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 0x1401d68c2
test ecx, ecx
jne 0x1401d68d5
mov rdx, qword [rsp + 0x108]
mov dword [rdx + 0x2c], 1
jmp 0x1401d6924
lea rbp, [0x14028d7e0]
movzx edx, byte [rax + rbp]
movzx ecx, byte [rcx + rbp]
cmp ecx, edx
jne 0x1401d68e1
inc r8
jmp 0x1401d68a0
lea rbp, [0x14028d7e0]
cmp r10b, 0x7f
je 0x1401d6933
test r11, r11
je 0x1401d692c
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 0x1401d6acc
test ecx, ecx
jne 0x1401d6ae3
mov rdx, qword [rsp + 0x108]
mov dword [rdx + 0x2c], ebx
mov rsi, qword [r12 + 0xb0]
lea rbp, [0x14028d7e0]
test dword [rdi + 0x28], 0x200
je 0x1401d6990
test r11, r11
je 0x1401d6990
mov r10, qword [rdi + 0x10]
test r10, r10
je 0x1401d6990
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 0x1401d6aeb
test ecx, ecx
jne 0x1401d6afb
mov rax, qword [r10 + 0x40]
mov rsi, qword [rax + 0x28]
mov rax, qword [rsp + 0x108]
mov dword [rax + 0x2c], 2
test rsi, rsi
je 0x1401d6a25
mov rcx, r14
call fcn.1402243e0
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 0x1401d69fa
cmp byte [r10 + 0xe], r11b
jne 0x1401d6b17
mov r8, qword [r10]
mov r9, r14
sub r9, r8
movzx ecx, byte [r8]
movzx eax, byte [r9 + r8]
cmp ecx, eax
jne 0x1401d6b03
test ecx, ecx
jne 0x1401d6b0f
movsx eax, word [rsi + 0x34]
cmp ebx, eax
je 0x1401d6bce
cmp ebx, edi
jl 0x1401d6a1b
mov rcx, r14
call fcn.14020e040
test eax, eax
je 0x1401d6a1b
test dword [rsi + 0x30], 0x200
mov rax, 0xffffffffffffffff
cmove ebx, eax
mov edx, ebx
cmp ebx, edi
jl 0x1401d6bd9
mov rdi, qword [rsp + 0x38]
cmp r15d, 1
jne 0x1401d6a62
mov r15, qword [rsp + 0x40]
test r15, r15
je 0x1401d6a5d
test byte [rdi + 0x28], 0x28
jne 0x1401d6a5d
mov rcx, r14
call fcn.14020e040
test eax, eax
je 0x1401d6a5d
mov rax, qword [r15 + 0x20]
test dword [rax + 0x30], 0x200
je 0x1401d6db9
mov r15d, dword [rsp + 0x34]
mov ebp, dword [rdi + 0x28]
xor ebx, ebx
mov r10, qword [rsp + 0xf0]
test bpl, bpl
jns 0x1401d6b7c
test r10, r10
jne 0x1401d6b7c
mov rsi, qword [rdi + 0x10]
mov r10d, ebx
mov edi, dword [rsi]
test edi, edi
jle 0x1401d6b6f
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 0x1401d6b61
test r11, r11
jne 0x1401d6b2a
mov rax, r14
neg rax
sbb edx, edx
jmp 0x1401d6b59
lea rbp, [0x14028d7e0]
movzx edx, byte [rax + rbp]
movzx ecx, byte [rcx + rbp]
cmp ecx, edx
jne 0x1401d6933
inc r8
jmp 0x1401d6900
movzx edx, byte [rax + rbp]
movzx ecx, byte [rcx + rbp]
cmp ecx, edx
jne 0x1401d6990
inc r8
jmp 0x1401d6960
movzx edx, byte [rax + rbp]
movzx ecx, byte [rcx + rbp]
cmp ecx, edx
jne 0x1401d6b17
inc r8
jmp 0x1401d69d5
inc ebx
add r10, 0x18
cmp ebx, edi
jl 0x1401d69c2
jmp 0x1401d69fe
test r14, r14
je 0x1401d6b61
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 0x1401d6ba5
test edx, edx
jne 0x1401d6bb3
mov r12, qword [rsp + 0xe0]
test edx, edx
je 0x1401d6dda
inc r10d
cmp r10d, edi
jl 0x1401d6aa0
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 0x1401d6f55
mov rsi, qword [rsp + 0x40]
mov ebp, dword [rsp + 0x30]
mov r11, qword [rsp + 0x70]
jmp 0x1401d60db
movzx ecx, byte [rax + r12]
movzx edx, byte [rdx + r12]
sub edx, ecx
jne 0x1401d6b51
inc r8
jmp 0x1401d6b40
mov rdi, qword [rsp + 0x108]
cmp ebp, 1
je 0x1401d715b
jmp 0x1401d7009
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 0x1401d6c9c
mov rax, qword [rsp + 0xe0]
cmp byte [rax + 0x134], r11b
jb 0x1401d6c18
mov word [rdi + 0x30], dx
mov qword [rdi + 0x40], rsi
jmp 0x1401d7163
test byte [rsi + 0x30], 0x20
je 0x1401d6c7f
test dx, dx
js 0x1401d6c7f
movsx eax, dx
mov r10d, r12d
movzx r8d, r12w
test eax, eax
jle 0x1401d6c5b
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 0x1401d6c40
movsxd rax, r10d
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
test byte [rax + rcx*8 + 0x12], 0x20
je 0x1401d6c7b
movzx edx, word [rsi + 0x38]
sub dx, r8w
add dx, r10w
jmp 0x1401d6c7f
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 0x1401d716e
mov r8, qword [rsp + 0xe0]
mov qword [rdi + 0x40], rsi
movzx eax, byte [r8 + 0xe1]
mov word [rdi + 0x30], dx
test al, al
je 0x1401d6d51
mov byte [rdi + 2], 0xa7
mov r13d, 0xb0
test byte [rsi + 0x30], 0x20
je 0x1401d6d2f
test dx, dx
js 0x1401d6d2f
movsx eax, dx
mov r10d, r12d
movzx r8d, r12w
test eax, eax
jle 0x1401d6d0b
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 0x1401d6cf0
movsxd rax, r10d
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
test byte [rax + rcx*8 + 0x12], 0x20
je 0x1401d6d2b
movzx edx, word [rsi + 0x38]
sub dx, r8w
add dx, r10w
jmp 0x1401d6d2f
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 0x1401d716e
mov r13d, 0x4d
test ebx, ebx
jns 0x1401d6d64
mov byte [rdi + 1], 0x44
jmp 0x1401d7169
test r11d, r11d
jne 0x1401d6d91
cmp ebx, 0x20
jl 0x1401d6d7f
mov eax, 0xffffffff
or dword [r8 + 0xd4], eax
jmp 0x1401d7169
mov ecx, ebx
mov eax, ebp
shl eax, cl
or dword [r8 + 0xd4], eax
jmp 0x1401d7169
cmp ebx, 0x20
jl 0x1401d6da7
mov eax, 0xffffffff
or dword [r8 + 0xd8], eax
jmp 0x1401d7169
mov ecx, ebx
mov eax, ebp
shl eax, cl
or dword [r8 + 0xd8], eax
jmp 0x1401d7169
mov rdi, qword [rsp + 0x108]
mov rax, 0xffffffffffffffff
mov ebp, 1
mov word [rdi + 0x30], ax
mov byte [rdi + 1], 0x44
jmp 0x1401d7160
shl rbx, 5
mov rax, qword [rbx + rsi + 8]
test bpl, 1
jne 0x1401d6e1a
test byte [rax + 4], 0x10
je 0x1401d6e1a
mov r8, r11
lea rdx, str.misuse_of_aliased_aggregate__s
mov rcx, r12
call fcn.1401fc3e0
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 0x1401d6e44
bt ebp, 0xe
jae 0x1401d6e38
mov r14, qword [rsp + 0x38]
cmp r14, qword [rsp + 0x80]
je 0x1401d6e49
mov r8, r11
lea rdx, str.misuse_of_aliased_window_function__s
jmp 0x1401d6df9
mov r14, qword [rsp + 0x38]
movzx ecx, byte [rax]
cmp cl, 0xb0
jne 0x1401d6e55
movzx ecx, byte [rax + 2]
cmp cl, 0xb1
je 0x1401d6e63
cmp cl, 0x8a
jne 0x1401d6e7d
mov rax, qword [rax + 0x20]
mov rcx, qword [rax + 0x20]
cmp dword [rcx], 1
je 0x1401d6e7d
lea rdx, str.row_value_misused
mov rcx, r12
call fcn.1401fc3e0
jmp 0x1401d6e01
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.1401e4910
cmp byte [r12 + 0x134], 2
jb 0x1401d6ec8
mov rax, qword [r12 + 0x1a0]
test rax, rax
je 0x1401d6ec8
cmp qword [rax], rdi
je 0x1401d6f4a
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x1401d6eb6
xor r12d, r12d
mov r11, qword [rsp + 0xe0]
mov rax, qword [r11]
cmp qword [rax + 0x200], 0
je 0x1401d72ac
movzx ecx, byte [rdi]
cmp cl, 0xa7
je 0x1401d6ef5
cmp cl, 0x4d
jne 0x1401d72ac
mov rdx, qword [rsp + 0x70]
mov r10, qword [r14 + 8]
test rdx, rdx
je 0x1401d72ac
mov rax, qword [rax + 0x20]
mov r9d, r12d
add rax, 0x18
cmp qword [rax], rdx
je 0x1401d6f35
nop word [rax + rax]
inc r9d
lea rax, [rax + 0x20]
cmp qword [rax], rdx
jne 0x1401d6f20
test r9d, r9d
js 0x1401d72ac
cmp cl, 0x4d
jne 0x1401d7224
mov r12, qword [r11 + 0xb0]
jmp 0x1401d7259
xor r12d, r12d
mov qword [rax], r12
jmp 0x1401d6ecb
mov rdi, qword [rsp + 0x108]
test r10, r10
jne 0x1401d7000
mov ebx, dword [rdi + 4]
test bl, bl
jns 0x1401d6fd9
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0xc5], r10b
jne 0x1401d6fb4
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rax + 0x30]
test dword [rdx + 0x28], 0x10000
je 0x1401d6fab
mov rax, rcx
and eax, 0x10000001
cmp rax, 1
jne 0x1401d6fa5
bt rcx, 0x1e
jb 0x1401d6fb4
shr rcx, 0x1d
jmp 0x1401d6faf
shr rcx, 0x1e
test cl, 1
je 0x1401d6fd9
mov r8, r14
lea rdx, str.double_quoted_string_literal:___w_
mov ecx, 0x1c
call fcn.1401af710
xor ecx, ecx
mov byte [rdi], 0x75
mov qword [rdi + 0x40], rcx
lea eax, [rcx + 1]
jmp 0x1401d6e06
test ebx, 0x4000800
jne 0x1401d7000
mov rcx, qword [rdi + 8]
call fcn.14020e220
test eax, eax
je 0x1401d7000
or ebx, eax
mov byte [rdi], 0xaa
mov dword [rdi + 4], ebx
mov eax, 1
jmp 0x1401d6e06
mov rsi, qword [rsp + 0x40]
mov ebp, dword [rsp + 0x30]
test r13, r13
je 0x1401d70ae
lea eax, [rbp - 1]
cmp dword [r13], eax
jne 0x1401d70a1
mov eax, dword [rdi + 4]
bt eax, 0x17
jae 0x1401d7034
btr eax, 0x17
mov dword [rdi + 4], eax
xor r12d, r12d
jmp 0x1401d7066
mov rdx, qword [rdi + 0x10]
mov rbx, qword [rsp + 0x48]
test rdx, rdx
je 0x1401d704a
mov rcx, rbx
call fcn.140201170
mov rdx, qword [rdi + 0x18]
xor r12d, r12d
mov qword [rdi + 0x10], r12
test rdx, rdx
je 0x1401d7062
mov rcx, rbx
call fcn.140201170
mov qword [rdi + 0x18], r12
movzx r9d, word [rdi + 0x30]
lea rdx, [rsp + 0x68]
mov rcx, qword [rsp + 0xe0]
mov r8, rsi
call fcn.1401c6ec0
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 0x1401d6ecb
mov rcx, qword [rsp + 0x48]
mov rdx, r13
call fcn.1401c64b0
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 0x1401d70f7
mov qword [rsp + 0x28], r14
lea rdx, str._s:__s._s._s
mov qword [rsp + 0x20], r11
call fcn.1401fc3e0
jmp 0x1401d7121
test r11, r11
je 0x1401d7112
mov r9, r11
mov qword [rsp + 0x20], r14
lea rdx, str._s:__s._s
call fcn.1401fc3e0
jmp 0x1401d7121
mov r9, r14
lea rdx, str._s:__s
call fcn.1401fc3e0
mov r8, qword [rsp + 0xe0]
mov rax, rdi
mov rdx, qword [r8]
nop
test byte [rax + 4], 3
jne 0x1401d713d
mov ecx, dword [rax + 0x34]
test ecx, ecx
jg 0x1401d7148
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1401d7130
jmp 0x1401d714b
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 0x1401d71ad
mov rdx, qword [rdi + 0x10]
mov rbx, qword [rsp + 0x48]
test rdx, rdx
je 0x1401d718d
mov rcx, rbx
call fcn.140201170
mov rdx, qword [rdi + 0x18]
mov qword [rdi + 0x10], r12
test rdx, rdx
je 0x1401d71a2
mov rcx, rbx
call fcn.140201170
or dword [rdi + 4], 0x800000
mov qword [rdi + 0x18], r12
movsx rax, word [rdi + 0x30]
test ax, ax
js 0x1401d7213
test r15, r15
je 0x1401d7213
mov r8, qword [rdi + 0x40]
mov rdx, rax
test byte [r8 + 0x30], 0x60
je 0x1401d71fa
lea rcx, [rax + rax*2]
mov rax, qword [r8 + 8]
test byte [rax + rcx*8 + 0x12], 0x60
je 0x1401d71fa
movzx ecx, word [r8 + 0x36]
cmp cx, 0x40
jl 0x1401d71ed
mov rax, 0xffffffffffffffff
jmp 0x1401d720f
mov eax, 1
shl rax, cl
dec rax
jmp 0x1401d720f
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 0x1401d6e01
jmp 0x1401d6ecb
movsxd rax, dword [r10]
test eax, eax
jle 0x1401d7259
mov edx, dword [rdi + 0x2c]
mov r8, rax
lea rax, [r10 + 0x4c]
mov rcx, r12
cmp edx, dword [rax]
je 0x1401d724d
inc r12d
inc rcx
add rax, 0x68
cmp rcx, r8
jl 0x1401d7238
jmp 0x1401d72ac
movsxd rax, r12d
imul rcx, rax, 0x68
mov r12, qword [rcx + r10 + 0x28]
movsx rax, word [rdi + 0x30]
test r12, r12
je 0x1401d72ac
test ax, ax
js 0x1401d7277
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 8]
mov r8, qword [rax + rcx*8]
jmp 0x1401d7298
movsx rax, word [r12 + 0x34]
test ax, ax
js 0x1401d7291
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 8]
mov r8, qword [rax + rcx*8]
jmp 0x1401d7298
lea r8, str.ROWID
mov rdx, qword [r12]
mov rcx, r11
call fcn.1401eddf0
cmp eax, 2
jne 0x1401d72ac
mov byte [rdi], 0x79
mov rax, qword [rsp + 0x80]
inc dword [rax + 0x20]
cmp rax, r14
je 0x1401d72cc
nop dword [rax]
mov rax, qword [rax + 0x18]
inc dword [rax + 0x20]
cmp rax, r14
jne 0x1401d72c0
mov eax, 1
jmp 0x1401d6e06