Function at 0x18009b720
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 rbp, qword [rsp + 0x100]
xor edi, edi
mov r15, qword [r9 + 8]
mov rax, rdx
mov r13, qword [rsp + 0x108]
mov r14, rcx
mov rcx, qword [rcx]
mov ebx, edi
mov dword [rsp + 0x30], ebx
mov r10, r8
mov dword [rsp + 0x40], edi
mov esi, edi
mov dword [r13 + 0x2c], 0xffffffff
mov r11d, edi
mov dword [rsp + 0x70], edi
mov r12d, edi
mov qword [rsp + 0x58], rcx
lea rdx, [0x180141dc0]
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x88], rbp
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x78], r15
test rax, rax
je 0x18009b8e5
test byte [rbp + 0x28], 6
je 0x18009b7d2
mov edx, edi
mov qword [rsp + 0xe8], rdx
jmp 0x18009b8ed
movsxd rsi, dword [rcx + 0x28]
test esi, esi
jle 0x18009b87d
mov rbp, qword [rcx + 0x20]
mov r10, rbp
nop word [rax + rax]
mov r8, qword [r10]
mov r9, rax
sub r9, r8
nop dword [rax]
movzx ecx, byte [r8]
movzx eax, byte [r9 + r8]
cmp ecx, eax
jne 0x18009b82c
test ecx, ecx
jne 0x18009b849
movsxd rax, ebx
shl rax, 5
mov r11, qword [rax + rbp + 0x18]
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x60], r11
jmp 0x18009b870
movzx edx, byte [rax + rdx]
mov rax, rcx
lea rcx, [0x180141dc0]
movzx ecx, byte [rax + rcx]
cmp ecx, edx
jne 0x18009b84e
lea rdx, [0x180141dc0]
inc r8
jmp 0x18009b800
mov rax, qword [rsp + 0xe8]
inc ebx
inc r11
add r10, 0x20
cmp r11, rsi
jge 0x18009b86d
lea rdx, [0x180141dc0]
jmp 0x18009b7f0
mov r11, rdi
mov rbp, qword [rsp + 0x38]
mov r10, qword [rsp + 0xf0]
cmp ebx, esi
jne 0x18009b8df
lea rdx, str.main
mov r9, rax
sub r9, rdx
nop
movzx eax, byte [rdx]
movzx r8d, byte [rdx + r9]
cmp eax, r8d
jne 0x18009b8c6
test eax, eax
jne 0x18009b8da
mov rax, qword [rsp + 0x58]
mov ebx, r12d
mov rsi, rdi
mov rax, qword [rax + 0x20]
mov r11, qword [rax + 0x18]
mov rdx, qword [rax]
mov qword [rsp + 0x60], r11
mov qword [rsp + 0xe8], rdx
jmp 0x18009b8ed
lea rbx, [0x180141dc0]
movzx ecx, byte [rax + rbx]
movzx eax, byte [r8 + rbx]
cmp ecx, eax
jne 0x18009b8df
inc rdx
jmp 0x18009b890
mov rsi, rdi
mov ebx, r12d
mov rdx, qword [rsp + 0xe8]
mov rcx, qword [rbp + 8]
lea r8, [0x18014876c]
mov qword [rsp + 0x68], rcx
test rcx, rcx
je 0x18009bf31
cmp dword [rcx], 0
lea r13, [rcx + 8]
mov eax, edi
mov dword [rsp + 0x100], eax
jle 0x18009bef6
nop dword [rax]
test dword [r13 + 0x40], 0x2000
mov r14, qword [r13 + 0x20]
mov qword [rsp + 0x80], r14
je 0x18009bb3a
mov rax, qword [r13 + 0x28]
mov r15d, edi
mov ebp, edi
mov r12, qword [rax + 0x20]
cmp dword [r12], 0
jle 0x18009bb1d
nop dword [rax]
nop word [rax + rax]
lea rax, [rsp + 0x44]
movsxd r14, ebp
mov r9, rdx
shl r14, 5
mov rdx, qword [rsp + 0x78]
add r14, r12
mov r8, r10
mov dword [rsp + 0x44], edi
mov qword [rsp + 0x20], rax
lea rcx, [r14 + 8]
call fcn.18009b250
test eax, eax
je 0x18009bad3
cmp dword [rsp + 0x44], 0
jne 0x18009baa4
test ebx, ebx
jle 0x18009ba60
test dword [r13 + 0x40], 0x400
je 0x18009ba44
mov rax, qword [r13 + 0x48]
xor ebx, ebx
movsxd rsi, dword [rax]
test rsi, rsi
jle 0x18009ba3e
lea r11, [rax + 8]
nop word [rax + rax]
mov r8, qword [r11]
mov r10, qword [rsp + 0x78]
sub r10, r8
nop dword [rax + rax]
movzx eax, byte [r8]
movzx r9d, byte [r10 + r8]
cmp eax, r9d
jne 0x18009ba0d
test eax, eax
jne 0x18009ba2b
test edi, edi
js 0x18009ba3e
movzx eax, byte [r13 + 0x3c]
test al, 0x10
je 0x18009bace
test al, 8
jne 0x18009ba6e
xor edi, edi
mov ebx, edi
jmp 0x18009ba44
mov rcx, rax
lea rax, [0x180141dc0]
movzx edx, byte [rcx + rax]
lea rcx, [0x180141dc0]
movzx eax, byte [r9 + rcx]
cmp edx, eax
jne 0x18009ba30
inc r8
jmp 0x18009b9e0
inc edi
inc rbx
add r11, 0x10
cmp rbx, rsi
jl 0x18009b9d0
mov ebx, dword [rsp + 0x30]
xor edi, edi
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x18009ba5b
mov rcx, qword [rsp + 0x58]
mov rdx, rax
call fcn.1800a1b90
mov qword [rsp + 0x48], rdi
inc ebx
mov r15d, 1
mov dword [rsp + 0x30], ebx
jmp 0x18009baa8
mov rax, qword [rsp + 0x108]
lea rdx, [rsp + 0x48]
mov r8, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xe0]
movzx r9d, word [rax + 0x30]
call fcn.18009b450
mov ebx, dword [rsp + 0x30]
mov r15d, 1
inc ebx
mov dword [rsp + 0x30], ebx
jmp 0x18009baa8
test ebx, ebx
jg 0x18009bad3
mov rax, qword [rsp + 0x108]
mov rsi, r13
inc dword [rsp + 0x40]
mov qword [rsp + 0x50], r13
mov word [rax + 0x30], bp
or dword [r14 + 0x1c], 0x40
test byte [r14 + 0x1c], 0x80
jne 0x18009baf8
jmp 0x18009bad3
mov rsi, qword [rsp + 0x50]
mov ebx, dword [rsp + 0x30]
inc ebp
mov edi, 0
mov r10, qword [rsp + 0xf0]
mov rdx, qword [rsp + 0xe8]
cmp ebp, dword [r12]
jl 0x18009b960
mov rcx, qword [rsp + 0x68]
test r15d, r15d
jne 0x18009be93
mov r14, qword [rsp + 0x80]
xor edi, edi
mov r10, qword [rsp + 0xf0]
mov r11, qword [rsp + 0x60]
mov eax, dword [rsp + 0x100]
mov rdx, qword [rsp + 0xe8]
test r10, r10
jne 0x18009bb45
mov ebx, dword [rsp + 0x30]
jmp 0x18009beb1
test r10, r10
je 0x18009bc53
jmp 0x18009bb4f
mov r12, qword [rsp + 0x48]
mov r15, qword [rsp + 0x78]
test rdx, rdx
je 0x18009bb6a
cmp qword [r14 + 0x60], r11
jne 0x18009bb31
test r11, r11
jne 0x18009bb6a
cmp byte [rdx], 0x2a
jne 0x18009bb31
cmp byte [rdx + 1], r11b
jne 0x18009bb31
mov rbx, qword [r13 + 0x18]
test rbx, rbx
je 0x18009bbb3
mov r9, rbx
mov rdx, r10
sub r9, r10
nop dword [rax]
movzx eax, byte [rdx]
movzx r8d, byte [rdx + r9]
cmp eax, r8d
jne 0x18009bb96
test eax, eax
je 0x18009bc0f
inc rdx
jmp 0x18009bb80
lea rbp, [0x180141dc0]
movzx ecx, byte [rax + rbp]
movzx eax, byte [r8 + rbp]
cmp ecx, eax
jne 0x18009be99
inc rdx
jmp 0x18009bb80
mov r9, qword [r14]
mov r8, r10
sub r9, r10
nop dword [rax]
movzx ecx, byte [r8]
movzx eax, byte [r8 + r9]
cmp ecx, eax
jne 0x18009bbd6
test ecx, ecx
je 0x18009bc0f
inc r8
jmp 0x18009bbc0
lea rbp, [0x180141dc0]
movzx edx, byte [rax + rbp]
movzx ecx, byte [rcx + rbp]
cmp ecx, edx
jne 0x18009bbee
inc r8
jmp 0x18009bbc0
cmp dword [r14 + 0x28], 1
jne 0x18009be99
mov r8, r11
mov rdx, r14
mov rcx, r10
call fcn.18009b550
test eax, eax
je 0x18009be99
mov rax, qword [rsp + 0xe0]
cmp byte [rax + 0x134], 2
jb 0x18009bc53
test rbx, rbx
je 0x18009bc53
mov rax, qword [rax + 0x1a0]
test rax, rax
je 0x18009bc53
mov rcx, qword [rsp + 0x108]
add rcx, 0x40
nop dword [rax]
cmp qword [rax], rcx
je 0x18009bc50
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x18009bc40
jmp 0x18009bc53
mov qword [rax], rdi
mov rcx, r15
call fcn.18005f210
mov rsi, qword [r14 + 8]
movzx r15d, al
movsx r14d, word [r14 + 0x36]
mov ebp, edi
test r14d, r14d
jle 0x18009bd2f
cmp byte [rsi + 0xe], r15b
jne 0x18009bd20
mov r8, qword [rsi]
mov r9, qword [rsp + 0x78]
sub r9, r8
nop dword [rax + rax]
movzx ecx, byte [r8]
movzx eax, byte [r9 + r8]
cmp ecx, eax
jne 0x18009bd7a
test ecx, ecx
jne 0x18009bd8f
cmp dword [rsp + 0x30], ecx
jle 0x18009bde8
test dword [r13 + 0x40], 0x400
je 0x18009bdd1
mov rax, qword [r13 + 0x48]
mov ebx, edi
mov r11, rdi
movsxd rdi, dword [rax]
test rdi, rdi
jle 0x18009bdcf
lea r10, [rax + 8]
nop word [rax + rax]
mov rdx, qword [r10]
mov r9, qword [rsp + 0x78]
sub r9, rdx
nop dword [rax + rax]
movzx eax, byte [rdx]
movzx r8d, byte [r9 + rdx]
cmp eax, r8d
jne 0x18009bd97
test eax, eax
jne 0x18009bdb5
test ebx, ebx
js 0x18009bdcf
movzx eax, byte [r13 + 0x3c]
test al, 0x10
jne 0x18009be49
xor edi, edi
inc ebp
add rsi, 0x18
cmp ebp, r14d
jl 0x18009bc73
mov rsi, qword [rsp + 0x50]
mov ebx, dword [rsp + 0x30]
mov rdx, qword [rsp + 0x80]
test ebx, ebx
jne 0x18009be9d
test dword [rdx + 0x30], 0x200
mov rdx, qword [rsp + 0xe8]
mov eax, dword [rsp + 0x100]
mov rcx, qword [rsp + 0x68]
jne 0x18009beb1
inc dword [rsp + 0x40]
mov rsi, r13
mov qword [rsp + 0x50], r13
jmp 0x18009beb1
lea r10, [0x180141dc0]
movzx edx, byte [rax + r10]
movzx ecx, byte [rcx + r10]
cmp ecx, edx
jne 0x18009bd20
inc r8
jmp 0x18009bc90
lea rcx, [0x180141dc0]
movzx ecx, byte [rax + rcx]
mov rax, r8
lea r8, [0x180141dc0]
movzx eax, byte [rax + r8]
cmp ecx, eax
jne 0x18009bdbd
inc rdx
jmp 0x18009bcf0
inc ebx
inc r11
add r10, 0x10
cmp r11, rdi
jl 0x18009bce0
xor edi, edi
test r12, r12
je 0x18009bde3
mov rcx, qword [rsp + 0x58]
mov rdx, r12
call fcn.1800a1b90
mov qword [rsp + 0x48], rdi
mov ebx, dword [rsp + 0x30]
mov rdx, qword [rsp + 0x80]
inc ebx
movzx eax, bp
mov dword [rsp + 0x30], ebx
mov rsi, r13
mov qword [rsp + 0x50], r13
movsx ecx, word [rdx + 0x34]
cmp ebp, ecx
mov rcx, 0xffffffffffffffff
cmove ax, cx
mov rcx, qword [rsp + 0x108]
mov word [rcx + 0x30], ax
test dword [r13 + 0x40], 0x2000
je 0x18009bd40
mov rax, qword [r13 + 0x28]
mov rcx, qword [rax + 0x20]
movsxd rax, ebp
shl rax, 5
or dword [rax + rcx + 0x1c], 0x40
jmp 0x18009bd40
test al, 8
jne 0x18009be6a
xor edi, edi
mov ebx, edi
test r12, r12
je 0x18009be63
mov rcx, qword [rsp + 0x58]
mov rdx, r12
call fcn.1800a1b90
mov qword [rsp + 0x48], rdi
jmp 0x18009bdec
mov rax, qword [rsp + 0x108]
lea rdx, [rsp + 0x48]
mov r8, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xe0]
movzx r9d, word [rax + 0x30]
call fcn.18009b450
jmp 0x18009bde8
mov ebx, dword [rsp + 0x30]
jmp 0x18009bea2
mov ebx, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
mov eax, dword [rsp + 0x100]
mov rdx, qword [rsp + 0xe8]
mov r12, qword [rsp + 0x48]
inc eax
mov r15, qword [rsp + 0x78]
add r13, 0x68
mov edi, 0
mov r10, qword [rsp + 0xf0]
mov r11, qword [rsp + 0x60]
mov dword [rsp + 0x100], eax
cmp eax, dword [rcx]
jl 0x18009b920
mov r14, qword [rsp + 0xe0]
lea r8, [0x18014876c]
mov rbp, qword [rsp + 0x38]
mov r13, qword [rsp + 0x108]
test rsi, rsi
je 0x18009bf29
mov eax, dword [rsi + 0x44]
mov dword [r13 + 0x2c], eax
mov rax, qword [rsi + 0x20]
mov qword [r13 + 0x40], rax
test byte [rsi + 0x3c], 0x48
je 0x18009bf20
or dword [r13 + 4], 0x200000
mov rcx, qword [rax + 0x60]
mov qword [rsp + 0x60], rcx
test ebx, ebx
jne 0x18009c559
test rdx, rdx
jne 0x18009c1ec
mov r10, qword [r14 + 0xb8]
mov rsi, rdi
test r10, r10
je 0x18009c0a8
movzx ebx, byte [r14 + 0xe2]
cmp byte [r14 + 0xe3], dl
je 0x18009bfee
test dword [rbp + 0x28], 0x400
mov rbp, qword [rsp + 0xf0]
je 0x18009c0b0
test rbp, rbp
je 0x18009bfd6
mov r9, qword [r10]
mov r8, rbp
sub r9, rbp
nop word [rax + rax]
movzx ecx, byte [r8]
movzx eax, byte [r9 + r8]
cmp ecx, eax
jne 0x18009bfa6
test ecx, ecx
je 0x18009bfd6
inc r8
jmp 0x18009bf90
lea r11, [0x180141dc0]
movzx edx, byte [rax + r11]
movzx ecx, byte [rcx + r11]
cmp ecx, edx
jne 0x18009bfc0
inc r8
jmp 0x18009bf90
xor r8d, r8d
mov rdx, r10
mov rcx, rbp
call fcn.18009b550
test eax, eax
je 0x18009c0b0
mov eax, edi
cmp bl, 0x80
setne al
mov dword [r13 + 0x2c], eax
mov rsi, qword [r14 + 0xb8]
jmp 0x18009c0b0
mov rbp, qword [rsp + 0xf0]
cmp bl, 0x80
je 0x18009c051
test rbp, rbp
je 0x18009c04c
mov r9, rbp
lea rax, [0x18014876c]
sub r9, rax
nop dword [rax]
movzx ecx, byte [r8]
movzx eax, byte [r9 + r8]
cmp ecx, eax
jne 0x18009c032
test ecx, ecx
jne 0x18009c047
mov dword [r13 + 0x2c], 1
mov rsi, qword [r14 + 0xb8]
jmp 0x18009c0b0
lea r10, [0x180141dc0]
movzx edx, byte [rax + r10]
movzx ecx, byte [rcx + r10]
cmp ecx, edx
jne 0x18009c04c
inc r8
jmp 0x18009c010
cmp bl, 0x7f
je 0x18009c0b0
test rbp, rbp
je 0x18009c0b0
lea rax, [0x180148770]
mov r9, rbp
mov r8, rax
sub r9, rax
nop word [rax + rax]
movzx ecx, byte [r8]
movzx eax, byte [r9 + r8]
cmp ecx, eax
jne 0x18009c08e
test ecx, ecx
jne 0x18009c0a3
mov dword [r13 + 0x2c], edi
mov rsi, qword [r14 + 0xb8]
jmp 0x18009c0b0
lea r11, [0x180141dc0]
movzx edx, byte [rax + r11]
movzx ecx, byte [rcx + r11]
cmp ecx, edx
jne 0x18009c0b7
inc r8
jmp 0x18009c070
mov rbp, qword [rsp + 0xf0]
lea r11, [0x180141dc0]
mov r14, qword [rsp + 0x38]
test dword [r14 + 0x28], 0x200
je 0x18009c10d
test rbp, rbp
je 0x18009c10d
mov r10, qword [r14 + 0x10]
test r10, r10
je 0x18009c10d
lea rax, str.excluded
mov r9, rbp
mov r8, rax
sub r9, rax
movzx ecx, byte [r8]
movzx eax, byte [r9 + r8]
cmp ecx, eax
jne 0x18009c19d
test ecx, ecx
jne 0x18009c1af
mov rax, qword [r10 + 0x40]
mov rsi, qword [rax + 0x28]
mov dword [r13 + 0x2c], 2
test rsi, rsi
je 0x18009c1f9
mov rcx, r15
call fcn.18005f210
inc dword [rsp + 0x40]
mov ebx, edi
movsx edi, word [rsi + 0x36]
movzx r11d, al
mov rcx, qword [rsi + 0x60]
mov r10, qword [rsi + 8]
mov qword [rsp + 0x60], rcx
test edi, edi
jle 0x18009c170
nop dword [rax]
cmp byte [r10 + 0xe], r11b
jne 0x18009c1dc
mov r8, qword [r10]
mov r9, r15
sub r9, r8
movzx ecx, byte [r8]
movzx eax, byte [r9 + r8]
cmp ecx, eax
jne 0x18009c1b7
test ecx, ecx
jne 0x18009c1d4
movsx eax, word [rsi + 0x34]
cmp ebx, eax
je 0x18009c32e
cmp ebx, edi
jl 0x18009c191
mov rcx, r15
call fcn.1800a24b0
test eax, eax
je 0x18009c191
test dword [rsi + 0x30], 0x200
mov rax, 0xffffffffffffffff
cmove ebx, eax
mov edx, ebx
cmp ebx, edi
jl 0x18009c339
jmp 0x18009c1f9
movzx edx, byte [rax + r11]
movzx ecx, byte [rcx + r11]
cmp ecx, edx
jne 0x18009c10d
inc r8
jmp 0x18009c0e4
lea rdx, [0x180141dc0]
movzx edx, byte [rax + rdx]
mov rax, rcx
lea rcx, [0x180141dc0]
movzx ecx, byte [rax + rcx]
cmp ecx, edx
jne 0x18009c1dc
inc r8
jmp 0x18009c153
inc ebx
add r10, 0x18
cmp ebx, edi
jl 0x18009c140
jmp 0x18009c174
mov rbp, qword [rsp + 0xf0]
mov r14, qword [rsp + 0x38]
mov ebx, dword [rsp + 0x40]
cmp ebx, 1
jl 0x18009c23d
mov rsi, qword [rsp + 0x50]
test rsi, rsi
je 0x18009c23d
test byte [r14 + 0x28], 0x28
jne 0x18009c23d
mov rcx, r15
call fcn.1800a24b0
test eax, eax
je 0x18009c23d
mov rax, qword [rsi + 0x20]
test dword [rax + 0x30], 0x200
je 0x18009c53d
test dword [rsi + 0x40], 0x2000
jne 0x18009c552
mov ebp, dword [r14 + 0x28]
mov r10, qword [rsp + 0xf0]
test bpl, bpl
jns 0x18009c2e3
test r10, r10
jne 0x18009c2e3
mov rsi, qword [r14 + 0x10]
xor r14d, r14d
mov r10d, r14d
mov edi, dword [rsi]
test edi, edi
jle 0x18009c2d6
nop dword [rax + rax]
movsxd rbx, r10d
mov rax, rbx
shl rax, 5
test byte [rax + rsi + 0x1c], 3
mov r11, qword [rax + rsi + 0x10]
jne 0x18009c2ce
test r11, r11
jne 0x18009c295
mov rax, r15
neg rax
sbb edx, edx
jmp 0x18009c2c6
test r15, r15
je 0x18009c2ce
mov r9, r15
lea r12, [0x180141dc0]
sub r9, r11
mov r8, r11
nop word [rax + rax]
movzx edx, byte [r8]
movzx eax, byte [r9 + r8]
cmp edx, eax
jne 0x18009c31b
test edx, edx
jne 0x18009c329
mov r12, qword [rsp + 0x48]
test edx, edx
je 0x18009c619
inc r10d
cmp r10d, edi
jl 0x18009c270
mov r14, qword [rsp + 0x38]
mov r10, qword [rsp + 0xf0]
mov r14, qword [r14 + 0x18]
inc dword [rsp + 0x70]
mov qword [rsp + 0x38], r14
test r14, r14
je 0x18009c722
mov ebx, dword [rsp + 0x30]
xor edi, edi
mov rsi, qword [rsp + 0x50]
mov r14, qword [rsp + 0xe0]
mov r11, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x38]
jmp 0x18009b8e5
movzx ecx, byte [rax + r12]
movzx edx, byte [rdx + r12]
sub edx, ecx
jne 0x18009c2c1
inc r8
jmp 0x18009c2b0
mov rax, 0xffffffffffffffff
mov ebx, eax
mov edx, eax
mov r11d, dword [r13 + 0x2c]
xor r14d, r14d
mov dword [rsp + 0x30], 1
mov edi, r14d
cmp r11d, 2
jne 0x18009c402
mov rax, qword [rsp + 0xe0]
cmp byte [rax + 0x134], r11b
jb 0x18009c378
mov ebx, dword [rsp + 0x30]
mov word [r13 + 0x30], dx
mov qword [r13 + 0x40], rsi
jmp 0x18009c572
test byte [rsi + 0x30], 0x20
je 0x18009c3e0
test dx, dx
js 0x18009c3e0
movsx eax, dx
mov r10d, r14d
movzx r8d, r14w
test eax, eax
jle 0x18009c3bc
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, 1
jne 0x18009c3a0
movsxd rax, r10d
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
test byte [rax + rcx*8 + 0x12], 0x20
je 0x18009c3dc
movzx edx, word [rsi + 0x38]
sub dx, r8w
add dx, r10w
jmp 0x18009c3e0
movzx edx, r8w
mov rbp, qword [rsp + 0x38]
mov r15d, 0xb0
mov ebx, dword [rsp + 0x30]
movsx ecx, dx
mov rax, qword [rbp + 0x10]
add ecx, dword [rax + 0x48]
mov dword [r13 + 0x2c], ecx
jmp 0x18009c57d
mov r8, qword [rsp + 0xe0]
mov qword [r13 + 0x40], rsi
movzx eax, byte [r8 + 0xe3]
mov word [r13 + 0x30], dx
test al, al
je 0x18009c4c6
mov byte [r13 + 2], 0xa7
mov r15d, 0xb0
test byte [rsi + 0x30], 0x20
je 0x18009c4a0
test dx, dx
js 0x18009c4a0
movsx eax, dx
mov r10d, r14d
movzx r8d, r14w
test eax, eax
jle 0x18009c47c
mov rdx, qword [rsi + 8]
mov r10d, eax
add rdx, 0x12
mov r9d, eax
nop word [rax + rax]
movzx eax, byte [rdx]
lea ecx, [r8 + 1]
and al, 0x20
lea rdx, [rdx + 0x18]
cmovne cx, r8w
movzx r8d, cx
sub r9, 1
jne 0x18009c460
movsxd rax, r10d
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
test byte [rax + rcx*8 + 0x12], 0x20
je 0x18009c49c
movzx edx, word [rsi + 0x38]
sub dx, r8w
add dx, r10w
jmp 0x18009c4a0
movzx edx, r8w
movsx ecx, word [rsi + 0x36]
mov rbp, qword [rsp + 0x38]
inc ecx
mov ebx, dword [rsp + 0x30]
imul ecx, r11d
movsx eax, dx
inc ecx
add ecx, dword [rbp + 0x10]
add ecx, eax
mov dword [r13 + 0x2c], ecx
jmp 0x18009c57d
mov r15d, 0x4d
test ebx, ebx
jns 0x18009c4de
mov ebx, dword [rsp + 0x30]
mov byte [r13 + 1], 0x44
jmp 0x18009c578
test r11d, r11d
jne 0x18009c510
cmp ebx, 0x20
jl 0x18009c4fa
mov ebx, dword [rsp + 0x30]
mov eax, 0xffffffff
or dword [r8 + 0xd8], eax
jmp 0x18009c578
mov ecx, ebx
mov eax, 1
mov ebx, dword [rsp + 0x30]
shl eax, cl
or dword [r8 + 0xd8], eax
jmp 0x18009c578
cmp ebx, 0x20
jl 0x18009c527
mov ebx, dword [rsp + 0x30]
mov eax, 0xffffffff
or dword [r8 + 0xdc], eax
jmp 0x18009c578
mov ecx, ebx
mov eax, 1
mov ebx, dword [rsp + 0x30]
shl eax, cl
or dword [r8 + 0xdc], eax
jmp 0x18009c578
test dword [rsi + 0x40], 0x2000
jne 0x18009c552
mov rax, 0xffffffffffffffff
mov word [r13 + 0x30], ax
mov byte [r13 + 1], 0x44
jmp 0x18009c561
mov rbp, qword [rsp + 0xf0]
cmp ebx, 1
jne 0x18009c7d7
mov rdi, qword [rsp + 0x50]
xor r14d, r14d
mov r15d, 0xa7
mov rbp, qword [rsp + 0x38]
test dword [r13 + 4], 0x810000
jne 0x18009c5be
mov rdx, qword [r13 + 0x10]
mov rsi, qword [rsp + 0x58]
test rdx, rdx
je 0x18009c59d
mov rcx, rsi
call fcn.1800a06d0
mov rdx, qword [r13 + 0x18]
mov qword [r13 + 0x10], r14
test rdx, rdx
je 0x18009c5b2
mov rcx, rsi
call fcn.1800a06d0
or dword [r13 + 4], 0x800000
mov qword [r13 + 0x18], r14
test rdi, rdi
je 0x18009c998
movsx rax, word [r13 + 0x30]
test ax, ax
js 0x18009c991
mov r8, qword [r13 + 0x40]
mov rdx, rax
test byte [r8 + 0x30], 0x60
je 0x18009c976
lea rcx, [rax + rax*2]
mov rax, qword [r8 + 8]
test byte [rax + rcx*8 + 0x12], 0x60
je 0x18009c976
movzx ecx, word [r8 + 0x36]
cmp cx, 0x40
jl 0x18009c965
mov rax, 0xffffffffffffffff
or qword [rdi + 0x50], rax
jmp 0x18009c998
shl rbx, 5
mov rax, qword [rbx + rsi + 8]
test bpl, 1
jne 0x18009c65e
test byte [rax + 4], 0x10
je 0x18009c65e
mov r8, r11
lea rdx, str.misuse_of_aliased_aggregate__s
mov rcx, qword [rsp + 0xe0]
call fcn.18005ee20
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 0x18009c688
bt ebp, 0xe
jae 0x18009c67c
mov rbp, qword [rsp + 0x38]
cmp rbp, qword [rsp + 0x88]
je 0x18009c68d
mov r8, r11
lea rdx, str.misuse_of_aliased_window_function__s
jmp 0x18009c638
mov rbp, qword [rsp + 0x38]
movzx ecx, byte [rax]
cmp cl, 0xb0
jne 0x18009c699
movzx ecx, byte [rax + 2]
cmp cl, 0xb1
je 0x18009c6a7
cmp cl, 0x8a
jne 0x18009c6c9
mov rax, qword [rax + 0x20]
mov rcx, qword [rax + 0x20]
cmp dword [rcx], 1
je 0x18009c6c9
mov rcx, qword [rsp + 0xe0]
lea rdx, str.row_value_misused
call fcn.18005ee20
jmp 0x18009c645
mov ecx, dword [rsp + 0x70]
mov r9, r13
mov rbx, qword [rsp + 0xe0]
mov r8d, r10d
mov dword [rsp + 0x20], ecx
mov rdx, rsi
mov rcx, rbx
call fcn.18009b080
cmp byte [rbx + 0x134], 2
jb 0x18009c9ad
mov rax, qword [rbx + 0x1a0]
test rax, rax
je 0x18009c9ad
cmp qword [rax], r13
je 0x18009c71a
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x18009c707
jmp 0x18009c9ad
mov qword [rax], r14
jmp 0x18009c9ad
test r10, r10
jne 0x18009c7cb
mov ebx, dword [r13 + 4]
test bl, bl
jns 0x18009c7a1
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0xc5], r10b
jne 0x18009c77a
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rax + 0x30]
test dword [rdx + 0x28], 0x10000
je 0x18009c771
mov rax, rcx
and eax, 0x10000001
cmp rax, 1
jne 0x18009c76b
bt rcx, 0x1e
jb 0x18009c77a
shr rcx, 0x1d
jmp 0x18009c775
shr rcx, 0x1e
test cl, 1
je 0x18009c7a1
mov r8, r15
lea rdx, str.double_quoted_string_literal:___w_
mov ecx, 0x1c
call fcn.18005de90
xor ecx, ecx
mov byte [r13], 0x75
mov qword [r13 + 0x40], rcx
lea eax, [rcx + 1]
jmp 0x18009c64a
test ebx, 0x4000800
jne 0x18009c7cb
mov rcx, qword [r13 + 8]
call fcn.1800a1cd0
test eax, eax
je 0x18009c7cb
or ebx, eax
mov byte [r13], 0xaa
mov dword [r13 + 4], ebx
mov eax, 1
jmp 0x18009c64a
mov ebx, dword [rsp + 0x30]
mov rbp, qword [rsp + 0xf0]
test r12, r12
je 0x18009c885
lea eax, [rbx - 1]
cmp dword [r12], eax
jne 0x18009c878
mov eax, dword [r13 + 4]
bt eax, 0x17
jae 0x18009c804
btr eax, 0x17
mov dword [r13 + 4], eax
xor r14d, r14d
jmp 0x18009c836
mov rdx, qword [r13 + 0x10]
mov rbx, qword [rsp + 0x58]
test rdx, rdx
je 0x18009c81a
mov rcx, rbx
call fcn.1800a06d0
mov rdx, qword [r13 + 0x18]
xor r14d, r14d
mov qword [r13 + 0x10], r14
test rdx, rdx
je 0x18009c832
mov rcx, rbx
call fcn.1800a06d0
mov qword [r13 + 0x18], r14
mov rbx, qword [rsp + 0xe0]
lea rdx, [rsp + 0x48]
movzx r9d, word [r13 + 0x30]
mov rcx, rbx
mov r8, qword [rsp + 0x50]
call fcn.18009b450
mov rbp, qword [rsp + 0x38]
lea rax, str.coalesce
mov qword [r13 + 8], rax
mov rax, qword [rsp + 0x48]
mov qword [r13 + 0x20], rax
mov byte [r13], 0xac
jmp 0x18009c9ad
mov rcx, qword [rsp + 0x58]
mov rdx, r12
call fcn.1800a1b90
mov r9, qword [rsp + 0xe8]
lea rax, str.no_such_column
test ebx, ebx
lea r8, str.ambiguous_column_name
cmove r8, rax
test r9, r9
je 0x18009c8c6
mov rcx, qword [rsp + 0xe0]
lea rdx, str._s:__s._s._s
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rbp
call fcn.18005ee20
jmp 0x18009c919
test rbp, rbp
je 0x18009c8e9
mov rcx, qword [rsp + 0xe0]
lea rdx, str._s:__s._s
mov r9, rbp
mov qword [rsp + 0x20], r15
call fcn.18005ee20
jmp 0x18009c919
test ebx, ebx
jne 0x18009c902
mov rax, qword [rsp + 0xf8]
lea rdx, str._s:___s____should_this_be_a_string_literal_in_single_quotes_
test byte [rax + 4], 0x80
jne 0x18009c909
lea rdx, str._s:__s
mov rcx, qword [rsp + 0xe0]
mov r9, r15
call fcn.18005ee20
mov r8, qword [rsp + 0xe0]
mov rax, r13
mov rdx, qword [r8]
test byte [rax + 4], 3
jne 0x18009c934
mov ecx, dword [rax + 0x34]
test ecx, ecx
jg 0x18009c93f
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x18009c927
jmp 0x18009c942
mov dword [rdx + 0x54], ecx
mov rax, qword [rsp + 0x88]
mov r15d, 0x79
mov rdi, qword [rsp + 0x50]
mov byte [r8 + 0x1d], 1
inc dword [rax + 0x24]
xor r14d, r14d
jmp 0x18009c578
mov eax, 1
shl rax, cl
dec rax
or qword [rdi + 0x50], rax
jmp 0x18009c998
cmp edx, 0x40
mov eax, 0x3f
cmovge edx, eax
mov eax, 1
mov ecx, edx
shl rax, cl
or qword [rdi + 0x50], rax
jmp 0x18009c998
or dword [rdi + 0x40], 0x4000
mov byte [r13], r15b
cmp ebx, 1
jne 0x18009c645
mov rbx, qword [rsp + 0xe0]
mov rax, qword [rbx]
cmp qword [rax + 0x200], 0
je 0x18009caa2
movzx ecx, byte [r13]
cmp cl, 0xa7
je 0x18009c9d1
cmp cl, 0x4d
jne 0x18009caa2
mov rdx, qword [rsp + 0x60]
mov r10, qword [rbp + 8]
test rdx, rdx
je 0x18009caa2
mov rax, qword [rax + 0x20]
mov r9d, r14d
add rax, 0x18
cmp qword [rax], rdx
je 0x18009ca08
inc r9d
lea rax, [rax + 0x20]
cmp qword [rax], rdx
jne 0x18009c9f3
test r9d, r9d
js 0x18009caa2
cmp cl, 0x4d
jne 0x18009ca16
mov r14, qword [rbx + 0xb8]
jmp 0x18009ca51
movsxd rax, dword [r10]
test eax, eax
jle 0x18009ca51
mov edx, dword [r13 + 0x2c]
mov r8, rax
lea rax, [r10 + 0x4c]
mov rcx, r14
nop dword [rax + rax]
cmp edx, dword [rax]
je 0x18009ca45
inc r14d
inc rcx
add rax, 0x68
cmp rcx, r8
jl 0x18009ca30
jmp 0x18009caa2
movsxd rax, r14d
imul rcx, rax, 0x68
mov r14, qword [rcx + r10 + 0x28]
movsx rax, word [r13 + 0x30]
test r14, r14
je 0x18009caa2
test ax, ax
js 0x18009ca6e
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 8]
mov r8, qword [rax + rcx*8]
jmp 0x18009ca8d
movsx rax, word [r14 + 0x34]
test ax, ax
js 0x18009ca86
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 8]
mov r8, qword [rax + rcx*8]
jmp 0x18009ca8d
lea r8, str.ROWID
mov rdx, qword [r14]
mov rcx, rbx
call fcn.1800b41c0
cmp eax, 2
jne 0x18009caa2
mov byte [r13], 0x79
mov rax, qword [rsp + 0x88]
inc dword [rax + 0x20]
cmp rax, rbp
je 0x18009cabe
mov rax, qword [rax + 0x18]
inc dword [rax + 0x20]
cmp rax, rbp
jne 0x18009cab2
mov eax, 1
jmp 0x18009c64a