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

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb0]
sub rsp, 0x1b0
mov rax, qword [0x140159040]
xor rax, rsp
mov qword [rbp + 0xa8], rax
mov rsi, qword [rcx + 0x10]
xor edi, edi
mov r14, qword [rcx]
mov r13, r8
mov qword [rbp - 0x48], r8
mov rbx, rdx
mov qword [rsp + 0x48], rdx
mov r12, rcx
mov qword [rbp - 0x80], rcx
mov r15d, 1
mov qword [rbp - 0x10], rdi
mov qword [rsp + 0x58], r14
mov qword [rbp - 0x28], rsi
test rsi, rsi
jne 0x140095687
cmp qword [rcx + 0xa0], rdi
jne 0x14009567b
test byte [r14 + 0x60], 8
jne 0x14009567b
mov byte [rcx + 0x23], r15b
call fcn.140031910
mov rsi, rax
mov qword [rbp - 0x28], rax
test rbx, rbx
je 0x140095be6
cmp dword [r12 + 0x30], edi
jne 0x140095be6
xor r9d, r9d
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov edx, 0x15
mov rcx, r12
call fcn.14005f5d0
test eax, eax
jne 0x140095be6
cmp byte [r13], 6
ja 0x14009574c
mov rbx, qword [rbx + 0x48]
test rbx, rbx
je 0x14009573a
mov rcx, qword [r12]
test rcx, rcx
je 0x1400956e4
mov edx, 0x18
call fcn.140007000
jmp 0x1400956ee
mov ecx, 0x18
call fcn.140006950
mov rcx, rax
test rax, rax
je 0x140095723
mov rax, qword [r12 + 0xb8]
mov qword [rcx], rax
lea rax, [fcn.14004d770]
mov qword [r12 + 0xb8], rcx
mov qword [rcx + 8], rbx
mov rbx, qword [rsp + 0x48]
mov qword [rcx + 0x10], rax
mov qword [rbx + 0x48], rdi
jmp 0x14009573f
mov rcx, qword [r12]
mov rdx, rbx
call fcn.14004d700
mov rbx, qword [rsp + 0x48]
mov qword [rbx + 0x48], rdi
jmp 0x14009573f
mov rbx, qword [rsp + 0x48]
mov eax, dword [rbx + 4]
and eax, 0xfffffffe
bts eax, 0x16
mov dword [rbx + 4], eax
mov rax, qword [r12]
cmp byte [rax + 0x67], dil
jne 0x14009578e
test byte [rbx + 4], 0x80
jne 0x14009578e
mov rdx, rbx
mov rcx, r12
call fcn.140094520
cmp dword [r12 + 0x30], edi
jne 0x14009578e
xor r8d, r8d
mov rdx, rbx
mov rcx, r12
call fcn.140049ea0
cmp dword [r12 + 0x30], edi
jne 0x14009578e
mov rdx, rbx
mov rcx, r12
call fcn.140094860
lea r13, [0x14015f5e0]
cmp dword [r12 + 0x30], edi
jne 0x140095b8f
mov r10d, dword [rbx + 4]
bt r10d, 0x17
jae 0x1400957ec
mov rdx, qword [rbx + 0x28]
lea r11, [rdx + 8]
mov rcx, r11
call fcn.140095520
test eax, eax
je 0x1400957e3
mov r8, qword [r11 + 0x18]
test r8, r8
jne 0x1400957cf
mov rax, qword [r11 + 0x20]
mov r8, qword [rax]
lea rdx, str.target_object_alias_may_not_appear_in_FROM_clause:__s
mov rcx, r12
call fcn.14000a730
jmp 0x140095b8f
btr r10d, 0x17
mov dword [rbx + 4], r10d
mov rax, qword [rbp - 0x48]
cmp byte [rax], 9
jne 0x140095800
mov rdx, rbx
mov rcx, r12
call fcn.14008c120
mov rdx, rbx
mov rcx, r12
call fcn.1400b9a20
test eax, eax
jne 0x140095b8f
mov eax, dword [rbx + 4]
xorps xmm0, xmm0
mov rdx, qword [rbx + 0x28]
xorps xmm1, xmm1
shr eax, 3
and eax, r15d
mov qword [rsp + 0x68], rdx
mov r15d, edi
mov dword [rsp + 0x78], eax
mov rax, qword [rbx + 0x48]
mov qword [rbp + 0x78], rax
movdqu xmmword [rbp + 0x80], xmm0
mov qword [rbp + 0xa0], rdi
movdqu xmmword [rbp + 0x90], xmm1
cmp qword [rbx + 0x50], rdi
jne 0x140098887
mov r13, rdi
cmp dword [rdx], edi
jle 0x140095a5a
nop word [rax + rax]
imul rbx, r13, 0x68
add rbx, rdx
movzx eax, byte [rbx + 0x44]
mov r14, qword [rbx + 0x30]
and al, 0x18
mov r12, qword [rbx + 0x28]
cmp al, 8
jne 0x1400958d7
mov rax, qword [rsp + 0x48]
mov edx, dword [rbx + 0x4c]
mov rcx, qword [rax + 0x30]
call fcn.1400557b0
mov r9, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x68]
test eax, eax
je 0x1400958dc
test dword [r9 + 0x60], 0x2000
jne 0x1400958dc
and byte [rbx + 0x44], 0xd7
movzx r8d, byte [rdx + 0x44]
mov edx, dword [rbx + 0x4c]
and r8d, 0x40
mov rbx, qword [rsp + 0x48]
mov rcx, qword [rbx + 0x30]
call fcn.1400885b0
mov rdx, qword [rsp + 0x68]
jmp 0x1400958e1
mov r9, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x48]
test r14, r14
je 0x140095a38
mov rax, qword [r14 + 0x20]
movsx r8d, word [r12 + 0x36]
mov ecx, dword [rax]
cmp r8d, ecx
jne 0x140095b62
mov eax, dword [r14 + 4]
test al, 8
jne 0x140095a38
mov rbx, qword [r14 + 0x48]
test rbx, rbx
je 0x1400959d5
mov rcx, qword [rsp + 0x48]
cmp qword [rcx + 0x48], rdi
jne 0x14009592c
cmp dword [rdx], 1
jle 0x1400959b0
cmp qword [r14 + 0x60], rdi
jne 0x1400959b0
bt eax, 0x1b
jb 0x1400959b0
test dword [rcx + 4], 0x8000000
jne 0x1400959b0
test dword [r9 + 0x60], 0x40000
jne 0x1400959b0
mov r12, qword [rbp - 0x80]
mov rcx, qword [r12]
test rcx, rcx
je 0x140095964
mov edx, 0x18
call fcn.140007000
jmp 0x14009596e
mov ecx, 0x18
call fcn.140006950
mov rcx, rax
test rax, rax
je 0x14009599e
mov rax, qword [r12 + 0xb8]
mov qword [rcx], rax
lea rax, [fcn.14004d770]
mov qword [r12 + 0xb8], rcx
mov qword [rcx + 0x10], rax
mov qword [rcx + 8], rbx
mov qword [r14 + 0x48], rdi
jmp 0x1400959d9
mov rcx, qword [r12]
mov rdx, rbx
call fcn.14004d700
mov qword [r14 + 0x48], rdi
jmp 0x1400959d9
mov r12, qword [rbp - 0x80]
mov rbx, rcx
test r15d, r15d
jne 0x1400959de
test dword [rcx + 4], 0x40000
je 0x1400959de
cmp dword [rdx], 1
je 0x140095a3c
test byte [rdx + 0xac], 0x22
jne 0x140095a3c
jmp 0x1400959de
mov r12, qword [rbp - 0x80]
mov rbx, qword [rsp + 0x48]
mov r9d, dword [rsp + 0x78]
mov r8d, r15d
mov rdx, rbx
mov rcx, r12
call fcn.140091430
test eax, eax
je 0x140095a0d
cmp dword [r12 + 0x30], edi
jne 0x140095b7d
mov r15d, 0xffffffff
mov r13, 0xffffffffffffffff
mov r14, qword [rsp + 0x58]
mov rdx, qword [rbx + 0x28]
mov qword [rsp + 0x68], rdx
cmp byte [r14 + 0x67], dil
jne 0x140095b82
mov rax, qword [rbp - 0x48]
cmp byte [rax], 8
jbe 0x140095a41
mov rax, qword [rbx + 0x48]
mov qword [rbp + 0x78], rax
jmp 0x140095a41
mov r12, qword [rbp - 0x80]
mov r14, qword [rsp + 0x58]
inc r15d
inc r13
cmp qword [rbx + 0x50], rdi
jne 0x140098880
cmp r15d, dword [rdx]
jl 0x140095870
mov rax, qword [rbx + 0x30]
test rax, rax
je 0x140095b3c
cmp byte [rax], 0x2c
jne 0x140095b3c
test dword [r14 + 0x60], 0x8000
jne 0x140095b3c
mov rax, qword [r12]
lea r15, [0x140092360]
add rax, 0x67
mov qword [rbp + 0x40], r12
mov qword [rbp + 0x48], rax
lea r13, [fcn.140006310]
mov r14d, 1
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbx + 0x28]
mov qword [rbp + 0x50], rdi
mov qword [rbp + 0x60], rdi
mov dword [rbp + 0x58], edi
test rax, rax
je 0x140095ad5
cmp dword [rax], edi
jle 0x140095ad5
test byte [rax + 0x44], 0x40
mov dword [rbp + 0x5c], 3
jne 0x140095ad9
mov dword [rbp + 0x5c], r14d
mov rdx, qword [rbx + 0x30]
lea rcx, [rbp + 0x40]
call fcn.140092110
cmp dword [rbp + 0x50], edi
je 0x140095b2e
mov rdx, qword [rbx + 0x30]
lea rax, [rbp + 0x40]
mov qword [rbp + 0x30], rdi
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x18], r15
mov qword [rbp + 0x20], r13
mov qword [rbp + 0x28], rdi
mov qword [rbp + 0x38], rax
test rdx, rdx
je 0x140095b19
lea rcx, [rbp + 0x10]
call fcn.140046370
mov rdx, qword [rbp + 0x60]
test rdx, rdx
je 0x140095b2e
mov rcx, qword [rbp + 0x40]
mov rcx, qword [rcx]
call fcn.140006c10
cmp dword [rbp + 0x54], edi
jne 0x140095ab0
mov r14, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x68]
lea r9, [0x140133e28]
mov ecx, edi
mov dword [rsp + 0x40], ecx
cmp dword [rdx], edi
jle 0x14009642d
mov rax, rdi
mov qword [rbp - 0x60], rax
jmp 0x140095c25
mov r9, qword [r12]
lea rdx, str.expected__d_columns_for__s_but_got__d
mov r12, qword [rbp - 0x80]
mov dword [rsp + 0x20], ecx
mov rcx, r12
call fcn.14000a730
mov r14, qword [rsp + 0x58]
mov r15d, 1
lea r13, [0x14015f5e0]
mov rax, qword [rbp - 0x10]
test rax, rax
je 0x140095ba3
mov rdx, rax
mov rcx, r14
call fcn.14004d700
mov ecx, dword [r12 + 0x130]
test ecx, ecx
je 0x140095bde
mov r8, qword [r12 + 0x10]
jns 0x140095bbf
mov ecx, dword [r8 + 0x90]
dec ecx
mov rax, qword [r8]
cmp byte [rax + 0x67], 0
jne 0x140095bda
movsxd rcx, ecx
lea rdx, [rcx + rcx*2]
mov rcx, qword [r8 + 0x88]
lea r13, [rcx + rdx*8]
mov edi, dword [r13 + 8]
mov dword [r12 + 0x130], edi
mov eax, r15d
mov rcx, qword [rbp + 0xa8]
xor rcx, rsp
call fcn.1400fc020
mov rbx, qword [rsp + 0x208]
add rsp, 0x1b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r14, qword [rsp + 0x58]
imul rax, rax, 0x68
lea r15, [rdx + 8]
add r15, rax
cmp qword [r15 + 0x50], rdi
jne 0x140095cd6
mov r8, qword [r15 + 0x10]
test r8, r8
je 0x140095cd6
mov rcx, qword [r12]
mov rdx, qword [r15 + 8]
mov r10, qword [rcx + 0x1f8]
test r10, r10
je 0x140095ccd
cmp byte [rcx + 0xc5], dil
jne 0x140095ccd
cmp byte [r12 + 0x124], dil
jne 0x140095ccd
mov rax, qword [r12 + 0x168]
mov rcx, qword [rcx + 0x200]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
mov edx, 0x14
call r10
cmp eax, 1
jne 0x140095cae
lea rdx, str.not_authorized
mov rcx, r12
call fcn.14000a730
mov dword [r12 + 0x18], 0x17
jmp 0x140095ccd
test eax, 0xfffffffd
je 0x140095ccd
lea rdx, str.authorizer_malfunction
mov rcx, r12
call fcn.14000a730
mov dword [r12 + 0x18], 1
mov rdx, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x40]
mov r13, qword [r15 + 0x28]
test r13, r13
je 0x14009640d
lea rdx, [rsp + 0x60]
mov dword [rsp + 0x60], edi
mov rcx, rbx
call fcn.14004aed0
mov eax, dword [rsp + 0x60]
add dword [r12 + 0x12c], eax
test dword [r14 + 0x60], 0x1000
jne 0x140095d35
test dword [r15 + 0x40], 0x100
je 0x140095d23
mov rax, qword [r15 + 0x60]
cmp byte [rax + 0x12], dil
je 0x140095d35
cmp dword [rax], 2
jge 0x140095d35
mov r8, qword [rbx + 0x30]
mov r9, r15
mov rdx, r13
mov rcx, r12
call fcn.1400923f0
mov r14, qword [r12 + 0x168]
mov rax, qword [r15 + 0x10]
mov rcx, qword [rsp + 0x68]
mov qword [rbp - 0x38], r14
mov qword [r12 + 0x168], rax
cmp qword [rbp - 0x60], rdi
jne 0x140095f0f
cmp dword [rcx], 1
je 0x140095d6e
test byte [rcx + 0xac], 0x22
je 0x140095f0f
test dword [r15 + 0x40], 0x100
je 0x140095d86
mov rax, qword [r15 + 0x60]
cmp byte [rax + 0x12], dil
je 0x140095f0f
test byte [rcx + 0x44], 0x40
jne 0x140095f0f
mov ebx, dword [rsi + 0x90]
inc dword [r12 + 0x38]
mov edx, dword [r12 + 0x38]
mov dword [r15 + 0x34], edx
movsxd rcx, dword [rsi + 0x90]
lea r14d, [rbx + 1]
cmp dword [rsi + 0x94], ecx
jg 0x140095dd1
mov r8d, edx
mov dword [rsp + 0x20], r14d
mov edx, 0xa
xor r9d, r9d
mov rcx, rsi
call fcn.140031c00
jmp 0x140095dfe
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0xa
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], rdi
mov eax, dword [r15 + 0x34]
lea r8, str.CO_ROUTINE___S
mov r9, r15
mov dword [rbp + 0x44], eax
mov edx, 1
mov dword [r15 + 0x30], r14d
mov rcx, r12
mov byte [rbp + 0x40], 0xd
mov qword [rbp + 0x48], rdi
mov qword [rbp + 0x58], rdi
mov dword [rbp + 0x50], edi
call fcn.140032200
lea r8, [rbp + 0x40]
mov rdx, r13
mov rcx, r12
call fcn.140095600
movzx eax, word [r13 + 2]
mov rcx, qword [r15 + 0x20]
mov word [rcx + 0x3a], ax
or dword [r15 + 0x40], 0x20
mov eax, dword [rbp + 0x4c]
mov edx, dword [r15 + 0x34]
mov dword [r15 + 0x38], eax
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x140095e83
mov r8d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x44
xor r9d, r9d
mov rcx, rsi
call fcn.140031c00
jmp 0x140095eac
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x44
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], rdi
mov qword [rax + rcx*8 + 0x10], rdi
mov rax, qword [rsi + 0x18]
mov byte [rax + 0x1f], dil
mov rax, qword [rsi + 0x18]
mov dword [rax + 0x28], edi
mov edx, dword [rsi + 0x90]
test ebx, ebx
jns 0x140095ec8
lea ebx, [rdx - 1]
mov rax, qword [rsi]
cmp byte [rax + 0x67], dil
je 0x140095eea
lea rax, [0x14015f5e0]
mov dword [rax + 8], edx
mov byte [r12 + 0x1f], dil
mov dword [r12 + 0x28], edi
jmp 0x1400963bf
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8 + 8], edx
mov byte [r12 + 0x1f], dil
mov dword [r12 + 0x28], edi
lea rax, [rax + rcx*8]
jmp 0x1400963bf
test dword [r15 + 0x40], 0x100
je 0x140095ffa
mov rbx, qword [r15 + 0x60]
mov edx, dword [rbx + 4]
test edx, edx
jle 0x140095ffa
movsxd rcx, dword [rsi + 0x90]
mov r8d, dword [rbx + 8]
cmp dword [rsi + 0x94], ecx
jg 0x140095f55
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 9
mov rcx, rsi
call fcn.140031c00
jmp 0x140095f82
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov edx, dword [rbx + 0xc]
mov r8d, dword [r15 + 0x44]
cmp r8d, edx
je 0x140095fec
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x140095fbf
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x73
mov rcx, rsi
call fcn.140031c00
movzx eax, word [rbx + 0x10]
mov word [r13 + 2], ax
jmp 0x1400963c3
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x73
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movzx eax, word [rbx + 0x10]
mov word [r13 + 2], ax
jmp 0x1400963c3
mov r10, qword [r15 + 0x28]
test dword [r10 + 4], 0x1000000
jne 0x1400960c4
lea rbx, [rcx + 8]
cmp rbx, r15
jae 0x1400960c4
nop dword [rax]
cmp qword [rbx + 0x28], rdi
je 0x1400960b7
test byte [rbx + 0x40], 0x20
jne 0x1400960b7
mov r8, qword [rbx + 0x10]
test r8, r8
je 0x1400960b7
mov rax, qword [r15 + 0x20]
mov rdx, qword [rbx + 0x20]
mov rcx, qword [rax + 0x60]
cmp qword [rdx + 0x60], rcx
jne 0x1400960b7
mov r9, qword [r15 + 0x10]
test r9, r9
je 0x1400960b7
sub r9, r8
lea r12, [0x14013d3e0]
movzx ecx, byte [r8]
movzx edx, byte [r8 + r9]
cmp ecx, edx
jne 0x140096078
test ecx, ecx
je 0x14009608d
inc r8
jmp 0x140096062
movzx ecx, byte [rcx + r12]
movzx eax, byte [rdx + r12]
sub ecx, eax
jne 0x14009608b
inc r8
jmp 0x140096062
test ecx, ecx
mov r12, qword [rbp - 0x80]
jne 0x1400960b7
mov rax, qword [rbx + 0x20]
cmp qword [rax + 0x60], rdi
jne 0x1400960aa
mov rax, qword [rbx + 0x28]
mov ecx, dword [rax + 0x10]
cmp dword [r10 + 0x10], ecx
jne 0x1400960b7
mov rax, qword [rbx + 0x28]
test dword [rax + 4], 0x1000000
je 0x140096107
add rbx, 0x68
cmp rbx, r15
jb 0x140096020
inc dword [r12 + 0x38]
mov ebx, edi
mov eax, dword [r12 + 0x38]
mov dword [r15 + 0x34], eax
movsxd r14, dword [rsi + 0x90]
cmp dword [rsi + 0x94], r14d
jg 0x1400961e4
xor r9d, r9d
mov dword [rsp + 0x20], edi
xor r8d, r8d
mov edx, 8
mov rcx, rsi
call fcn.140031c00
mov r14d, eax
jmp 0x14009620b
test rbx, rbx
je 0x1400960c4
mov edx, dword [rbx + 0x30]
test edx, edx
je 0x140096169
movsxd rcx, dword [rsi + 0x90]
mov r8d, dword [rbx + 0x34]
cmp dword [rsi + 0x94], ecx
jg 0x14009613c
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 9
mov rcx, rsi
call fcn.140031c00
jmp 0x140096169
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi + 0x90]
mov edx, dword [rbx + 0x44]
mov r8d, dword [r15 + 0x44]
cmp dword [rsi + 0x94], ecx
jg 0x1400961a5
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x73
mov rcx, rsi
call fcn.140031c00
mov rax, qword [rbx + 0x28]
movzx ecx, word [rax + 2]
mov word [r13 + 2], cx
jmp 0x1400963c3
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x73
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov rax, qword [rbx + 0x28]
movzx ecx, word [rax + 2]
mov word [r13 + 2], cx
jmp 0x1400963c3
lea rcx, [r14 + r14*2]
lea eax, [r14 + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8], 8
mov qword [rax + rcx*8 + 8], rdi
mov qword [rax + rcx*8 + 0x10], rdi
lea eax, [r14 + 1]
mov dword [r15 + 0x30], eax
mov eax, dword [r15 + 0x40]
or eax, 0x10
mov dword [r15 + 0x40], eax
test al, 8
jne 0x140096272
movsxd rbx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ebx
jg 0x14009624c
xor r9d, r9d
mov dword [rsp + 0x20], edi
xor r8d, r8d
mov edx, 0xe
mov rcx, rsi
call fcn.140031c00
mov ebx, eax
jmp 0x140096272
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8], 0xe
mov qword [rax + rcx*8 + 8], rdi
mov qword [rax + rcx*8 + 0x10], rdi
mov eax, dword [r15 + 0x44]
lea r8, str.MATERIALIZE___S
mov r9, r15
mov dword [rbp + 0x44], eax
mov edx, 1
mov byte [rbp + 0x40], 0xc
mov rcx, r12
mov qword [rbp + 0x48], rdi
mov qword [rbp + 0x58], rdi
mov dword [rbp + 0x50], edi
call fcn.140032200
lea r8, [rbp + 0x40]
mov rdx, r13
mov rcx, r12
call fcn.140095600
mov rcx, qword [r15 + 0x20]
movzx eax, word [r13 + 2]
mov word [rcx + 0x3a], ax
test ebx, ebx
je 0x1400962f3
mov rax, qword [rsi]
mov edx, dword [rsi + 0x90]
cmp byte [rax + 0x67], dil
je 0x1400962d7
lea rax, [0x14015f5e0]
jmp 0x1400962f0
lea eax, [rdx - 1]
test ebx, ebx
cmovns eax, ebx
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
movsxd rcx, dword [rsi + 0x90]
lea edx, [r14 + 1]
mov r8d, dword [r15 + 0x34]
cmp dword [rsi + 0x94], ecx
jg 0x140096320
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x43
mov rcx, rsi
call fcn.140031c00
jmp 0x14009634d
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov edx, dword [rsi + 0x90]
test r14d, r14d
jns 0x14009635c
lea r14d, [rdx - 1]
mov rax, qword [rsi]
cmp byte [rax + 0x67], dil
je 0x14009636e
lea rax, [0x14015f5e0]
jmp 0x140096380
movsxd rax, r14d
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov byte [r12 + 0x1f], dil
mov dword [r12 + 0x28], edi
mov eax, dword [r15 + 0x40]
and eax, 0x108
cmp eax, 0x100
jne 0x1400963bf
mov eax, dword [r15 + 0x30]
mov rcx, qword [r15 + 0x60]
mov dword [rcx + 4], eax
mov eax, dword [r15 + 0x34]
mov dword [rcx + 8], eax
mov eax, dword [r15 + 0x44]
mov dword [rcx + 0xc], eax
movzx eax, word [r13 + 2]
mov word [rcx + 0x10], ax
mov r14, qword [rbp - 0x38]
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x67], dil
jne 0x1400988e9
mov rbx, qword [rsp + 0x48]
lea rdx, [rsp + 0x60]
mov rcx, rbx
mov dword [rsp + 0x60], edi
call fcn.14004aed0
mov edx, dword [r12 + 0x12c]
sub edx, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x40]
mov dword [r12 + 0x12c], edx
mov rdx, qword [rsp + 0x68]
mov qword [r12 + 0x168], r14
mov rax, qword [rbp - 0x60]
lea r9, [0x140133e28]
inc rax
inc ecx
mov dword [rsp + 0x40], ecx
mov qword [rbp - 0x60], rax
cmp ecx, dword [rdx]
jl 0x140095c20
mov rax, qword [rbx + 0x30]
mov ecx, dword [rbx + 4]
mov r9, qword [rbx + 0x20]
mov r13, qword [rbx + 0x38]
mov qword [rbp - 0x40], rax
mov rax, qword [rbx + 0x40]
mov qword [rbp - 0x38], rax
movzx eax, byte [rbx + 4]
and al, 1
mov qword [rbp - 0x20], r9
mov byte [rbp], al
mov eax, ecx
and al, 9
mov qword [rbp - 0x78], r13
cmp al, 1
jne 0x140096477
mov r13, qword [rbp + 0x78]
test r13, r13
jne 0x1400964e6
test r9, r9
je 0x140096556
mov r13, qword [rbp - 0x78]
mov rdx, qword [rbp + 0x78]
mov r15, qword [rbp - 0x20]
test rdx, rdx
je 0x1400965d7
mov r9d, dword [r15]
xor r8d, r8d
mov rcx, r12
call fcn.14008b160
mov r8d, dword [r12 + 0x34]
mov r14, rax
mov dword [rbp + 0x84], r8d
lea ecx, [r8 + 1]
mov dword [r12 + 0x34], ecx
mov rcx, qword [rbp + 0x78]
mov r9d, dword [r15]
movsxd rbx, dword [rsi + 0x90]
inc r9d
add r9d, dword [rcx]
cmp dword [rsi + 0x94], ebx
jg 0x14009658e
mov edx, 0x76
mov dword [rsp + 0x20], edi
mov rcx, rsi
call fcn.140031c00
mov ebx, eax
jmp 0x1400965bc
test r9, r9
je 0x140096473
mov rax, qword [rbp + 0x78]
mov edx, dword [rax]
cmp edx, dword [r9]
jne 0x140096473
mov r15d, edi
test edx, edx
jle 0x140096556
lea rbx, [r13 + 8]
lea r14, [r9 + 8]
nop dword [rax]
movzx eax, byte [r14 + 0x10]
cmp byte [rbx + 0x10], al
jne 0x140096473
mov r8, qword [r14]
mov r9d, 0xffffffff
mov rdx, qword [rbx]
xor ecx, ecx
call fcn.140054fb0
test eax, eax
jne 0x140096473
inc r15d
add r14, 0x20
add rbx, 0x20
cmp r15d, dword [r13]
jl 0x140096510
mov rbx, qword [rsp + 0x48]
mov r9, qword [rbp - 0x20]
mov ecx, dword [rbx + 4]
cmp qword [rbx + 0x70], rdi
jne 0x140096473
and ecx, 0xfffffffe
xor r8d, r8d
mov dword [rbx + 4], ecx
mov rdx, r9
mov rcx, qword [rsp + 0x58]
call fcn.14004c5d0
or dword [rbx + 4], 8
mov r13, rax
mov qword [rbp - 0x78], rax
mov qword [rbx + 0x38], rax
mov byte [rbp], 2
jmp 0x140096477
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x76
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov r9d, 0xfffffff8
mov r8, r14
mov edx, ebx
mov rcx, rsi
call fcn.140032930
mov dword [rbp + 0x90], ebx
jmp 0x1400965e1
mov dword [rbp + 0x90], 0xffffffff
mov rax, qword [rbp - 0x48]
cmp byte [rax], 0xc
jne 0x1400966d8
movsxd rcx, dword [rsi + 0x90]
mov edx, dword [r15]
mov r8d, dword [rax + 4]
cmp dword [rsi + 0x94], ecx
jg 0x14009661a
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x76
mov rcx, rsi
call fcn.140031c00
jmp 0x140096647
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x76
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov r14, qword [rsp + 0x48]
test dword [r14 + 4], 0x800
je 0x1400966dd
mov ecx, dword [r15]
lea eax, [rcx - 1]
movsxd r14, eax
test eax, eax
jle 0x1400966b7
mov r13, qword [rsp + 0x58]
mov rbx, r14
shl rbx, 5
test byte [rbx + r15 + 0x1c], 0x40
jne 0x1400966b3
mov rdx, qword [rbx + r15 + 8]
test rdx, rdx
je 0x14009668d
mov rcx, r13
call fcn.14004bde0
mov rdx, qword [rbx + r15 + 0x10]
test rdx, rdx
je 0x14009669f
mov rcx, r13
call fcn.140006c10
mov ecx, dword [r15]
dec r14
dec ecx
sub rbx, 0x20
mov dword [r15], ecx
test r14, r14
jg 0x140096673
mov r13, qword [rbp - 0x78]
mov edx, edi
test ecx, ecx
jle 0x1400966d8
lea rcx, [r15 + 8]
test byte [rcx + 0x14], 0x40
jne 0x1400966cd
mov rax, qword [rcx]
mov byte [rax], 0x79
inc edx
add rcx, 0x20
cmp edx, dword [r15]
jl 0x1400966c1
mov r14, qword [rsp + 0x48]
dec dword [r12 + 0x44]
mov r15d, 0x4000
mov r8d, dword [r12 + 0x44]
mov dword [rbp - 0x18], r8d
test dword [r14 + 4], r15d
jne 0x1400966fe
mov word [r14 + 2], 0x140
mov rdx, r14
mov rcx, r12
call fcn.14008d1d0
cmp dword [r14 + 8], edi
jne 0x140096745
movsxd rcx, dword [rbp + 0x90]
test ecx, ecx
js 0x140096745
mov rax, qword [rsi]
cmp byte [rax + 0x67], dil
je 0x14009672c
lea rax, [0x14015f5e0]
jmp 0x14009673b
mov rax, qword [rsi + 0x88]
lea rcx, [rcx + rcx*2]
lea rax, [rax + rcx*8]
mov byte [rax], 0x77
or byte [rbp + 0x9c], 1
test byte [r14 + 4], 1
je 0x140096808
mov eax, dword [r12 + 0x34]
xor r9d, r9d
mov dword [rbp + 4], eax
xor r8d, r8d
inc eax
mov rcx, r12
mov dword [r12 + 0x34], eax
mov rdx, qword [r14 + 0x20]
call fcn.14008b160
movsxd rbx, dword [rsi + 0x90]
mov r14, rax
mov edx, dword [rbp + 4]
cmp dword [rsi + 0x94], ebx
jg 0x1400967a1
mov r8d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x76
xor r9d, r9d
mov rcx, rsi
call fcn.140031c00
mov ebx, eax
jmp 0x1400967ca
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x76
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], rdi
mov qword [rax + rcx*8 + 0x10], rdi
mov r9d, 0xfffffff8
mov r8, r14
mov edx, ebx
mov rcx, rsi
call fcn.140032930
mov dword [rbp + 8], ebx
movsxd rax, dword [rsi + 0x90]
test eax, eax
jle 0x1400967fd
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
mov word [rax + rcx*8 - 0x16], 8
mov r14, qword [rsp + 0x48]
mov byte [rbp + 1], 3
jmp 0x14009680c
mov byte [rbp + 1], dil
cmp dword [rsp + 0x78], edi
jne 0x140096b38
test r13, r13
jne 0x140096b38
movzx ebx, word [r14 + 4]
movzx eax, byte [rbp]
and bx, r15w
mov r15, qword [r14 + 0x70]
neg al
sbb cx, cx
and cx, 0x100
or bx, cx
test r15, r15
je 0x14009684d
mov rdx, r14
mov rcx, r12
call fcn.1400bae00
movsx eax, word [r14 + 2]
mov rcx, r12
mov r9, qword [rbp + 0x78]
mov r8, qword [rbp - 0x40]
mov rdx, qword [rsp + 0x68]
mov dword [rsp + 0x38], eax
mov rax, qword [r14 + 0x20]
mov word [rsp + 0x30], bx
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rax
call fcn.1400b65c0
mov r14, rax
test rax, rax
je 0x140095b7d
mov r10, qword [rsp + 0x48]
movzx eax, word [rax + 0x50]
cmp ax, word [r10 + 2]
jge 0x14009689f
mov word [r10 + 2], ax
cmp byte [rbp], dil
je 0x1400968b6
movzx ecx, byte [r14 + 0x4b]
movzx eax, byte [rbp + 1]
test cl, cl
cmovne eax, ecx
mov byte [rbp + 1], al
mov rdx, qword [rbp + 0x78]
test rdx, rdx
je 0x14009690a
movsx r8d, byte [r14 + 0x49]
mov dword [rbp + 0x80], r8d
test byte [r14 + 0x4c], 4
jne 0x1400968d8
mov eax, dword [r14 + 0x38]
jmp 0x1400968f9
movzx eax, byte [r14 + 0x48]
imul rcx, rax, 0x70
cmp qword [rcx + r14 + 0x338], rdi
je 0x1400968f1
mov eax, dword [r14 + 0x38]
jmp 0x1400968f9
mov eax, dword [rcx + r14 + 0x310]
mov dword [rbp + 0x98], eax
cmp r8d, dword [rdx]
cmove rdx, rdi
mov qword [rbp + 0x78], rdx
movsxd rax, dword [rbp + 0x90]
test eax, eax
js 0x14009694f
test rdx, rdx
jne 0x14009694f
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], dil
jne 0x14009694f
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
mov r8, qword [rax + rdx*8 + 0x10]
lea rbx, [rax + rdx*8]
movsx edx, byte [rax + rdx*8 + 1]
call fcn.140032720
mov r10, qword [rsp + 0x48]
mov word [rbx], 0xb8
mov qword [rbx + 0x10], rdi
mov rdx, r10
test r15, r15
je 0x140096af2
mov r15d, dword [r12 + 0x44]
mov r8, r14
mov rcx, qword [rbp - 0x80]
lea r12d, [r15 - 1]
sub r15d, 2
inc dword [rcx + 0x38]
mov r13d, dword [rcx + 0x38]
mov r9d, r13d
mov dword [rsp + 0x20], r12d
lea ebx, [r15 - 1]
mov dword [rcx + 0x44], ebx
call fcn.1400beef0
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x1400969b2
mov r9d, ebx
mov dword [rsp + 0x20], edi
xor r8d, r8d
mov edx, 8
mov rcx, rsi
call fcn.140031c00
jmp 0x1400969db
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8], 8
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov rcx, qword [rsi + 0x18]
not r12d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1400969f7
mov r8d, r12d
mov rdx, rsi
call fcn.1400324a0
jmp 0x140096a07
mov rcx, qword [rcx + 0x50]
mov eax, dword [rsi + 0x90]
movsxd rdx, r12d
mov dword [rcx + rdx*4], eax
mov rax, qword [rbp - 0x48]
lea r9, [rbp + 0x78]
mov r14, qword [rsp + 0x48]
mov r8d, 0xffffffff
mov r12, qword [rbp - 0x80]
mov rdx, r14
mov dword [rsp + 0x38], ebx
mov rcx, r12
mov dword [rsp + 0x30], r15d
mov qword [rsp + 0x28], rax
lea rax, [rbp]
mov qword [rsp + 0x20], rax
mov dword [rbp + 0x98], edi
call fcn.140089e50
mov rcx, qword [rsi + 0x18]
not r15d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x140096a62
mov r8d, r15d
mov rdx, rsi
call fcn.1400324a0
jmp 0x140096a72
mov rcx, qword [rcx + 0x50]
mov eax, dword [rsi + 0x90]
movsxd rdx, r15d
mov dword [rcx + rdx*4], eax
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x140096a9a
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov r8d, r13d
mov edx, 0x43
mov rcx, rsi
call fcn.140031c00
jmp 0x140096ac4
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], r13d
mov qword [rax + rcx*8 + 8], rdi
mov qword [rax + rcx*8 + 0x10], rdi
mov rcx, qword [rsi + 0x18]
not ebx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x140096ae6
mov r8d, ebx
mov rdx, rsi
call fcn.1400324a0
mov rbx, qword [rbp - 0x48]
jmp 0x1400987d1
movsxd rdx, ebx
mov rbx, qword [rbp - 0x48]
jmp 0x1400987c4
mov eax, dword [r14 + 0x3c]
lea r9, [rbp + 0x78]
mov rbx, qword [rbp - 0x48]
mov r8d, 0xffffffff
mov dword [rsp + 0x38], eax
mov rcx, r12
mov eax, dword [r14 + 0x38]
mov dword [rsp + 0x30], eax
lea rax, [rbp]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rax
call fcn.140089e50
mov rcx, r14
call fcn.1400b76c0
mov r14, qword [rsp + 0x48]
jmp 0x1400987d1
mov dword [rbp - 0x70], edi
mov dword [rbp - 0x68], edi
mov dword [rsp + 0x78], edi
test r13, r13
je 0x140096c68
mov rcx, qword [r14 + 0x20]
mov eax, dword [rcx]
test eax, eax
jle 0x140096b6d
add rcx, 0x22
nop dword [rax]
dec eax
mov word [rcx], di
lea rcx, [rcx + 0x20]
test eax, eax
jg 0x140096b60
mov eax, dword [r13]
test eax, eax
jle 0x140096b8d
lea rcx, [r13 + 0x22]
nop dword [rax]
dec eax
mov word [rcx], di
lea rcx, [rcx + 0x20]
test eax, eax
jg 0x140096b80
cmp word [r14 + 2], 0x42
jle 0x140096b9c
mov word [r14 + 2], 0x42
mov r14, qword [rbp + 0x78]
test r14, r14
je 0x140096c3a
mov eax, dword [r13]
cmp eax, dword [r14]
jne 0x140096c3a
mov edx, edi
test eax, eax
jle 0x140096bdf
mov rcx, rdi
nop
movzx eax, byte [rcx + r14 + 0x18]
lea rcx, [rcx + 0x20]
and al, 1
inc edx
mov byte [rcx + r13 - 8], al
mov eax, dword [r13]
mov r14, qword [rbp + 0x78]
cmp edx, eax
jl 0x140096bc0
test r14, r14
je 0x140096c3a
cmp eax, dword [r14]
jne 0x140096c3a
mov r15d, edi
test eax, eax
jle 0x140096c32
lea rbx, [r13 + 8]
add r14, 8
nop dword [rax + rax]
movzx eax, byte [r14 + 0x10]
cmp byte [rbx + 0x10], al
jne 0x140096c3a
mov r8, qword [r14]
mov r9d, 0xffffffff
mov rdx, qword [rbx]
xor ecx, ecx
call fcn.140054fb0
test eax, eax
jne 0x140096c3a
inc r15d
add r14, 0x20
add rbx, 0x20
cmp r15d, dword [r13]
jl 0x140096c00
mov dword [rsp + 0x78], 1
mov r14, qword [rsp + 0x48]
mov eax, dword [r12 + 0x44]
mov r15, qword [rsp + 0x58]
dec eax
mov dword [rsp + 0x70], eax
mov dword [r12 + 0x44], eax
test r15, r15
je 0x140096c6f
mov edx, 0x40
mov rcx, r15
call fcn.140007000
jmp 0x140096c79
mov word [r14 + 2], di
jmp 0x140096c3f
mov ecx, 0x40
call fcn.140006950
mov qword [rbp - 0x50], rax
mov r13, rax
test rax, rax
je 0x140096d2d
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
mov rcx, qword [r12]
test rcx, rcx
je 0x140096cb0
mov edx, 0x18
call fcn.140007000
jmp 0x140096cba
mov ecx, 0x18
call fcn.140006950
mov rcx, rax
test rax, rax
je 0x140096cf0
mov rax, qword [r12 + 0xb8]
mov qword [rcx], rax
lea rax, [0x1400954d0]
mov qword [r12 + 0xb8], rcx
mov qword [rcx + 0x10], rax
mov qword [rcx + 8], r13
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x68], rcx
jmp 0x140096d32
mov rdx, qword [r13 + 0x20]
mov rbx, qword [r12]
test rdx, rdx
je 0x140096d05
mov rcx, rbx
call fcn.140006c10
mov rdx, qword [r13 + 0x30]
test rdx, rdx
je 0x140096d16
mov rcx, rbx
call fcn.140006c10
mov rdx, r13
mov rcx, rbx
call fcn.140006c10
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x68], rcx
jmp 0x140096d32
mov rcx, qword [rsp + 0x68]
cmp byte [r15 + 0x67], dil
jne 0x1400988f1
mov eax, dword [r14 + 0x10]
xorps xmm0, xmm0
mov dword [r13 + 0x3c], eax
xorps xmm1, xmm1
mov eax, dword [r12 + 0x38]
mov qword [rbp + 0x48], rcx
inc eax
mov rcx, qword [rbp - 0x78]
mov qword [rbp + 0x40], r12
mov qword [rbp + 0x50], r13
movdqu xmmword [rbp + 0x58], xmm0
movdqu xmmword [rbp + 0x68], xmm1
mov dword [r13 + 0x10], eax
test rcx, rcx
je 0x140096d78
mov eax, dword [rcx]
jmp 0x140096d7a
mov eax, edi
mov r15, qword [rbp - 0x20]
mov dword [r13 + 0xc], eax
mov qword [r13 + 0x18], rcx
test r15, r15
je 0x140096df4
lea rbx, [r15 + 8]
mov r14d, edi
cmp dword [r15], edi
jle 0x140096df4
lea r13, [0x140055be0]
lea rsi, [0x140046780]
lea r12, [0x140046790]
nop dword [rax]
mov rdx, qword [rbx]
lea rax, [rbp + 0x40]
mov qword [rbp + 0x18], r13
mov qword [rbp + 0x20], rsi
mov qword [rbp + 0x28], r12
mov dword [rbp + 0x30], edi
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x10], rdi
test rdx, rdx
je 0x140096ddc
lea rcx, [rbp + 0x10]
call fcn.140046370
inc r14d
add rbx, 0x20
cmp r14d, dword [r15]
jl 0x140096db0
mov rsi, qword [rbp - 0x28]
mov r12, qword [rbp - 0x80]
mov r13, qword [rbp - 0x50]
mov r15, qword [rbp + 0x78]
test r15, r15
je 0x140096e64
lea rbx, [r15 + 8]
mov r14d, edi
cmp dword [r15], edi
jle 0x140096e64
lea r12, [0x140055be0]
lea rsi, [0x140046780]
lea r13, [0x140046790]
nop
mov rdx, qword [rbx]
lea rax, [rbp + 0x40]
mov qword [rbp + 0x18], r12
mov qword [rbp + 0x20], rsi
mov qword [rbp + 0x28], r13
mov dword [rbp + 0x30], edi
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x10], rdi
test rdx, rdx
je 0x140096e4c
lea rcx, [rbp + 0x10]
call fcn.140046370
inc r14d
add rbx, 0x20
cmp r14d, dword [r15]
jl 0x140096e20
mov rsi, qword [rbp - 0x28]
mov r12, qword [rbp - 0x80]
mov r13, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x140096ef5
cmp qword [rbp - 0x78], rdi
je 0x140096eb9
mov rbx, qword [rsp + 0x48]
lea rax, [0x1400952d0]
xorps xmm0, xmm0
mov qword [rbp + 0x30], rdi
movdqu xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x10], r12
mov rdx, qword [rbx + 0x40]
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x38], rbx
test rdx, rdx
je 0x140096eb1
lea rcx, [rbp + 0x10]
call fcn.140046370
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbx + 0x30]
mov qword [rbp - 0x40], rax
lea rax, [0x140055be0]
mov dword [rbp + 0x30], edi
mov qword [rbp + 0x18], rax
mov rdx, rcx
lea rax, [0x140046780]
mov qword [rbp + 0x10], rdi
mov qword [rbp + 0x20], rax
lea rcx, [rbp + 0x10]
lea rax, [0x140046790]
mov qword [rbp + 0x28], rax
lea rax, [rbp + 0x40]
mov qword [rbp + 0x38], rax
call fcn.140046370
mov rbx, qword [rsp + 0x48]
mov eax, dword [r13 + 0x28]
mov dword [r13 + 0x2c], eax
cmp qword [rbx + 0x38], rdi
jne 0x140096f30
cmp qword [rbx + 0x40], rdi
jne 0x140096f30
cmp dword [r13 + 0x38], 1
jne 0x140096f30
mov rdx, qword [r13 + 0x30]
lea r8, [rbp - 0x10]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rdx]
call fcn.140092690
mov byte [rsp + 0x50], al
jmp 0x140096f35
mov byte [rsp + 0x50], dil
mov edx, dword [r13 + 0x38]
mov r14d, edi
mov dword [rsp + 0x74], edi
test edx, edx
jle 0x140097068
mov r12, qword [rbp - 0x50]
lea rsi, [0x140055be0]
mov rbx, rdi
mov qword [rbp - 0x60], rbx
nop word [rax + rax]
mov rax, qword [r12 + 0x30]
mov r13, qword [rbx + rax]
or dword [rbp + 0x68], 0x20000
mov qword [rbp - 0x30], r13
mov r15, qword [r13 + 0x20]
test r15, r15
je 0x140096fe9
lea rbx, [r15 + 8]
mov r14d, edi
cmp dword [r15], edi
jle 0x140096fe0
lea r12, [0x140046780]
lea r13, [0x140046790]
nop word [rax + rax]
mov rdx, qword [rbx]
lea rax, [rbp + 0x40]
mov qword [rbp + 0x18], rsi
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x28], r13
mov dword [rbp + 0x30], edi
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x10], rdi
test rdx, rdx
je 0x140096fcc
lea rcx, [rbp + 0x10]
call fcn.140046370
inc r14d
add rbx, 0x20
cmp r14d, dword [r15]
jl 0x140096fa0
mov r13, qword [rbp - 0x30]
mov r12, qword [rbp - 0x50]
mov r14d, dword [rsp + 0x74]
mov rbx, qword [rbp - 0x60]
test dword [r13 + 4], 0x1000000
je 0x140097032
mov rax, qword [r13 + 0x40]
mov qword [rbp + 0x18], rsi
mov dword [rbp + 0x30], edi
mov qword [rbp + 0x10], rdi
mov rdx, qword [rax + 0x48]
lea rax, [0x140046780]
mov qword [rbp + 0x20], rax
lea rax, [0x140046790]
mov qword [rbp + 0x28], rax
lea rax, [rbp + 0x40]
mov qword [rbp + 0x38], rax
test rdx, rdx
je 0x140097032
lea rcx, [rbp + 0x10]
call fcn.140046370
and dword [rbp + 0x68], 0xfffdffff
inc r14d
mov edx, dword [r12 + 0x38]
add rbx, 0x20
mov dword [rsp + 0x74], r14d
mov qword [rbp - 0x60], rbx
cmp r14d, edx
jl 0x140096f60
mov rsi, qword [rbp - 0x28]
mov r12, qword [rbp - 0x80]
mov r13, qword [rbp - 0x50]
mov rbx, qword [rsp + 0x48]
mov r14, qword [rsp + 0x58]
mov eax, dword [r12 + 0x38]
mov dword [r13 + 0x14], eax
cmp byte [r14 + 0x67], dil
jne 0x140095b82
mov r15, qword [rbp - 0x78]
test r15, r15
je 0x140098102
mov qword [rbp - 0x60], rdi
mov r14, rdi
mov word [rsp + 0x50], di
cmp edx, 1
jne 0x14009718b
mov rax, qword [r13 + 0x30]
cmp dword [rax + 0x14], edi
jl 0x14009718b
mov rax, qword [rax]
test rax, rax
je 0x14009718b
test dword [rax + 4], 0x1000
jne 0x14009718b
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x14009718b
mov rdx, qword [rcx + 8]
test rdx, rdx
je 0x1400970f3
mov rcx, qword [rsp + 0x58]
xor r9d, r9d
xor r8d, r8d
call fcn.14004c0d0
mov rbx, rax
jmp 0x1400970f6
mov rbx, rdi
mov rcx, qword [rsp + 0x58]
xor r8d, r8d
mov rdx, r15
call fcn.14004c5d0
mov qword [rbp - 0x60], rax
mov r14, rax
test rax, rax
jne 0x140097127
mov rcx, qword [r12]
mov rdx, rbx
call fcn.14004d120
mov r14, rax
mov qword [rbp - 0x60], rax
jmp 0x140097171
movsxd rax, dword [rax]
lea ecx, [rax + 1]
cmp dword [r14 + 4], ecx
jge 0x14009714b
mov rcx, qword [r12]
mov r8, rbx
mov rdx, r14
call fcn.14004d200
mov r14, rax
mov qword [rbp - 0x60], rax
jmp 0x140097171
movups xmm0, xmmword [0x14013bb50]
shl rax, 5
movups xmm1, xmmword [0x14013bb60]
mov dword [r14], ecx
movups xmmword [rax + r14 + 8], xmm0
movups xmmword [rax + r14 + 0x18], xmm1
mov qword [rax + r14 + 8], rbx
mov rax, r14
neg rax
sbb r15w, r15w
and r15w, 0x500
mov word [rsp + 0x50], r15w
mov r15, qword [rbp - 0x78]
mov eax, dword [r12 + 0x34]
xor r8d, r8d
mov dword [r13 + 4], eax
mov rdx, r15
inc dword [r12 + 0x34]
mov rcx, r12
mov r9d, dword [r13 + 0x28]
call fcn.14008b160
movsxd r10, dword [rsi + 0x90]
mov rbx, rax
mov edx, dword [r13 + 0xc]
mov r8d, dword [r13 + 4]
mov qword [rbp - 8], rax
mov dword [rbp - 0x28], r10d
cmp dword [rsi + 0x94], r10d
jg 0x1400971ea
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x77
mov rcx, rsi
call fcn.140031c00
mov r10d, eax
mov dword [rbp - 0x28], eax
jmp 0x140097218
lea rcx, [r10 + r10*2]
lea eax, [r10 + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x77
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov r9d, 0xfffffff8
mov r8, rbx
mov edx, r10d
mov rcx, rsi
call fcn.140032930
mov eax, dword [r12 + 0x38]
mov r8, qword [rbp - 0x78]
inc eax
mov dword [rbp - 0x54], eax
lea edx, [rax + 1]
mov eax, dword [r12 + 0x44]
lea ecx, [rdx + 2]
mov dword [rbp - 0x6c], edx
mov dword [r12 + 0x38], ecx
lea ebx, [rcx + 1]
dec eax
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x74], eax
lea r15d, [rax - 1]
mov dword [r12 + 0x44], r15d
add ecx, dword [r8]
mov dword [r12 + 0x38], ecx
mov dword [rsp + 0x60], r15d
lea eax, [rcx + 1]
add ecx, dword [r8]
mov dword [r12 + 0x38], ecx
movsxd rcx, dword [rsi + 0x90]
mov dword [rbp - 0x58], eax
cmp dword [rsi + 0x94], ecx
jg 0x1400972aa
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x47
xor r8d, r8d
mov rcx, rsi
call fcn.140031c00
mov r8, qword [rbp - 0x78]
jmp 0x1400972d3
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov edx, dword [r8]
movsxd rcx, dword [rsi + 0x90]
dec edx
add edx, ebx
cmp dword [rsi + 0x94], ecx
jg 0x140097302
mov dword [rsp + 0x20], edx
mov r9d, ebx
mov edx, 0x4b
xor r8d, r8d
mov rcx, rsi
call fcn.140031c00
jmp 0x14009732b
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8], 0x4b
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x140097355
mov r8d, dword [rsp + 0x40]
mov r9d, r15d
mov edx, 9
mov dword [rsp + 0x20], edi
mov rcx, rsi
call fcn.140031c00
jmp 0x140097386
mov edx, dword [rsp + 0x40]
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov eax, dword [rsp + 0x78]
mov edx, 0x80
mov rbx, qword [rbp - 0x78]
neg eax
mov r8, qword [rbp - 0x40]
mov eax, 0x40
sbb cx, cx
mov dword [rsp + 0x38], edi
and cx, 0x200
mov r9, rbx
cmp byte [rbp], 2
cmove ax, dx
mov rdx, qword [rsp + 0x68]
or cx, ax
or cx, word [rsp + 0x50]
mov word [rsp + 0x30], cx
mov rcx, r12
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], r14
call fcn.1400b65c0
mov qword [rbp - 0x30], rax
mov rcx, rax
test rax, rax
jne 0x140097403
test r14, r14
je 0x140095b7d
mov rdx, r14
mov r14, qword [rsp + 0x58]
mov rcx, r14
call fcn.14004d700
jmp 0x140095b82
movzx eax, byte [rax + 0x4b]
mov dword [rsp + 0x68], eax
movsx eax, byte [rcx + 0x49]
cmp eax, dword [rbx]
jne 0x14009741e
mov r14d, edi
mov dword [rbp - 0x40], edi
jmp 0x1400977a8
cmp byte [rbp], dil
je 0x140097436
mov rax, qword [rsp + 0x48]
lea r9, str.DISTINCT
test byte [rax + 4], 1
je 0x14009743d
lea r9, str.GROUP_BY
lea r8, str.USE_TEMP_B_TREE_FOR__s
xor edx, edx
mov rcx, r12
call fcn.140032200
mov edx, dword [rbx]
mov r14d, edx
mov eax, dword [r13 + 0x28]
mov dword [rbp - 0x40], 1
mov dword [rbp - 0x68], edx
test eax, eax
jle 0x140097493
mov r8, qword [r13 + 0x20]
mov r9d, eax
add r8, 0x1a
movsx ecx, word [r8]
lea eax, [r14 + 1]
cmp ecx, edx
lea r8, [r8 + 0x20]
cmovl eax, r14d
mov r14d, eax
lea eax, [rdx + 1]
cmovl eax, edx
mov edx, eax
sub r9, 1
jne 0x140097470
cmp r14d, 1
jne 0x1400974c6
movzx eax, byte [r12 + 0x1f]
test al, al
jne 0x1400974b2
mov r13d, dword [r12 + 0x38]
inc r13d
mov dword [r12 + 0x38], r13d
jmp 0x1400974f9
dec al
movzx eax, al
mov byte [r12 + 0x1f], al
mov r13d, dword [r12 + rax*4 + 0xd8]
jmp 0x1400974f9
mov ecx, dword [r12 + 0x28]
mov r13d, dword [r12 + 0x2c]
cmp r14d, ecx
jg 0x1400974e8
lea eax, [r14 + r13]
sub ecx, r14d
mov dword [r12 + 0x2c], eax
mov dword [r12 + 0x28], ecx
jmp 0x1400974f9
mov eax, dword [r12 + 0x38]
lea r13d, [rax + 1]
add eax, r14d
mov dword [r12 + 0x38], eax
xor r9d, r9d
mov byte [rsp + 0x20], dil
mov r8d, r13d
mov rdx, rbx
mov rcx, r12
call fcn.140053f60
mov rax, qword [rbp - 0x50]
mov r15d, edi
cmp dword [rax + 0x28], edi
jle 0x140097572
mov r12d, dword [rbp - 0x68]
mov rbx, rdi
mov rdi, rax
nop word [rax + rax]
mov rdx, qword [rdi + 0x20]
add rdx, rbx
movsx eax, word [rdx + 0x1a]
cmp eax, r12d
jl 0x14009755f
movsx r9d, word [rdx + 0x18]
lea eax, [r12 + r13]
mov r8d, dword [rdx + 0x10]
mov rcx, rsi
mov rdx, qword [rdx]
mov dword [rsp + 0x20], eax
call fcn.140051340
inc r12d
inc r15d
add rbx, 0x20
cmp r15d, dword [rdi + 0x28]
jl 0x140097530
mov r12, qword [rbp - 0x80]
xor edi, edi
movzx eax, byte [r12 + 0x1f]
test al, al
jne 0x14009758a
mov ebx, dword [r12 + 0x38]
inc ebx
mov dword [r12 + 0x38], ebx
jmp 0x14009759c
dec al
movzx eax, al
mov byte [r12 + 0x1f], al
mov ebx, dword [r12 + rax*4 + 0xd8]
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x1400975c4
mov r9d, r14d
mov dword [rsp + 0x20], ebx
mov r8d, r13d
mov edx, 0x61
mov rcx, rsi
call fcn.140031c00
jmp 0x1400975f2
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x61
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rdi
mov rax, qword [rbp - 0x50]
movsxd rcx, dword [rsi + 0x90]
mov edx, dword [rax + 4]
cmp dword [rsi + 0x94], ecx
jg 0x140097621
mov r8d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x8b
mov r9d, ebx
mov rcx, rsi
call fcn.140031c00
jmp 0x14009764d
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x8b
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
test ebx, ebx
je 0x140097668
movzx eax, byte [r12 + 0x1f]
cmp al, 8
jae 0x140097668
mov dword [r12 + rax*4 + 0xd8], ebx
inc byte [r12 + 0x1f]
cmp r14d, 1
jne 0x14009768c
test r13d, r13d
je 0x14009769d
movzx eax, byte [r12 + 0x1f]
cmp al, 8
jae 0x14009769d
mov dword [r12 + rax*4 + 0xd8], r13d
inc byte [r12 + 0x1f]
jmp 0x14009769d
cmp r14d, dword [r12 + 0x28]
jle 0x14009769d
mov dword [r12 + 0x28], r14d
mov dword [r12 + 0x2c], r13d
mov rcx, qword [rbp - 0x30]
call fcn.1400b76c0
mov r8d, dword [r12 + 0x34]
mov r13, qword [rbp - 0x50]
mov dword [rbp - 0x70], r8d
mov dword [r13 + 8], r8d
inc dword [r12 + 0x34]
movzx eax, byte [r12 + 0x1f]
test al, al
jne 0x1400976d4
mov edx, dword [r12 + 0x38]
inc edx
mov dword [r12 + 0x38], edx
jmp 0x1400976e6
dec al
movzx eax, al
mov byte [r12 + 0x1f], al
mov edx, dword [r12 + rax*4 + 0xd8]
movsxd rcx, dword [rsi + 0x90]
mov dword [rbp - 0x68], edx
cmp dword [rsi + 0x94], ecx
jg 0x14009770f
mov r9d, edx
mov dword [rsp + 0x20], r14d
mov edx, 0x79
mov rcx, rsi
call fcn.140031c00
jmp 0x14009773d
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x79
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi + 0x90]
mov edx, dword [r13 + 4]
cmp dword [rsi + 0x94], ecx
jg 0x14009776b
mov r9d, dword [rsp + 0x70]
mov r8d, edx
mov edx, 0x21
mov dword [rsp + 0x20], edi
mov rcx, rsi
call fcn.140031c00
jmp 0x14009779b
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x70]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0x21
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov r14d, dword [rbp - 0x40]
mov rcx, qword [rbp - 0x30]
mov byte [r13 + 1], 1
cmp dword [rsp + 0x78], 0
je 0x140097800
mov rax, qword [rsp + 0x58]
test byte [rax + 0x60], 4
jne 0x140097800
test r14d, r14d
jne 0x1400977c5
test byte [rcx + 0x4c], 8
je 0x140097800
mov qword [rbp + 0x78], rdi
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], 0
jne 0x140097800
movsxd rax, dword [rbp + 0x90]
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
mov r8, qword [rax + rdx*8 + 0x10]
lea rbx, [rax + rdx*8]
movsx edx, byte [rax + rdx*8 + 1]
call fcn.140032720
mov word [rbx], 0xb8
mov qword [rbx + 0x10], rdi
movsxd r15, dword [rsi + 0x90]
mov dword [rsp + 0x78], r15d
test r14d, r14d
je 0x140097839
mov edx, dword [r13 + 4]
cmp dword [rsi + 0x94], r15d
jg 0x140097899
mov eax, dword [rbp - 0x70]
mov r8d, edx
mov r9d, dword [rbp - 0x68]
mov edx, 0x85
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.140031c00
mov edx, dword [rbp - 0x70]
mov rax, qword [rbp - 0x78]
mov ebx, edi
cmp dword [rax], 0
jle 0x140097930
mov r15d, dword [rbp - 0x40]
lea r14, [rax + 8]
nop dword [rax]
nop word [rax + rax]
mov r8d, dword [rbp - 0x58]
add r8d, ebx
test r15d, r15d
je 0x140097902
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x1400978d3
mov dword [rsp + 0x20], r8d
mov r9d, ebx
mov r8d, edx
mov rcx, rsi
mov edx, 0x5e
call fcn.140031c00
jmp 0x140097912
mov r8d, dword [rbp - 0x68]
lea rcx, [r15 + r15*2]
lea eax, [r15 + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rbp - 0x70]
mov dword [rax + rcx*8 + 0xc], edx
mov dword [rax + rcx*8], 0x85
mov dword [rax + rcx*8 + 8], r8d
mov qword [rax + rcx*8 + 0x10], rdi
jmp 0x14009783c
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x5e
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], rdi
jmp 0x140097915
mov byte [r13], 1
mov rcx, r12
mov rdx, qword [r14]
call fcn.140053db0
mov edx, dword [rbp - 0x70]
mov rax, qword [rbp - 0x78]
inc ebx
add r14, 0x20
cmp ebx, dword [rax]
jl 0x140097860
mov r15d, dword [rsp + 0x78]
mov r14d, dword [rbp - 0x40]
mov rbx, qword [rbp - 8]
test rbx, rbx
je 0x14009793b
inc dword [rbx]
movsxd rdx, dword [rsi + 0x90]
mov r8d, dword [rax]
cmp dword [rsi + 0x94], edx
jg 0x14009796f
mov r9d, dword [rbp - 0x58]
mov edx, 0x5a
mov dword [rsp + 0x20], r8d
mov rcx, rsi
mov r8d, dword [rsp + 0x40]
inc r8d
call fcn.140031c00
mov edx, eax
jmp 0x1400979aa
mov r9d, dword [rsp + 0x40]
lea rcx, [rdx + rdx*2]
mov r10d, dword [rbp - 0x58]
lea eax, [rdx + 1]
mov dword [rsi + 0x90], eax
inc r9d
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x5a
mov dword [rax + rcx*8 + 4], r9d
mov dword [rax + rcx*8 + 8], r10d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], rdi
mov r9d, 0xfffffff8
mov r8, rbx
mov rcx, rsi
call fcn.140032930
movsxd rbx, dword [rsi + 0x90]
lea edx, [rbx + 1]
cmp dword [rsi + 0x94], ebx
jg 0x1400979e6
mov dword [rsp + 0x20], edx
mov r8d, edx
mov edx, 0xd
xor r9d, r9d
mov rcx, rsi
call fcn.140031c00
jmp 0x140097a0f
mov rax, qword [rsi + 0x88]
lea rcx, [rbx + rbx*2]
mov dword [rsi + 0x90], edx
mov dword [rax + rcx*8], 0xd
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdi
mov r10, qword [r12 + 0x10]
mov rdx, qword [rbp - 0x78]
mov r8d, dword [rbp - 0x58]
movsxd rcx, dword [r10 + 0x90]
mov edx, dword [rdx]
cmp dword [r10 + 0x94], ecx
jg 0x140097a49
mov r9d, dword [rsp + 0x40]
mov rcx, r10
mov dword [rsp + 0x20], edx
inc r9d
mov edx, 0x4f
call fcn.140031c00
jmp 0x140097a80
lea eax, [rcx + 1]
mov dword [r10 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 0x88]
mov dword [rax + rcx*8 + 4], r8d
mov r8d, dword [rsp + 0x40]
inc r8d
mov dword [rax + rcx*8], 0x4f
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi + 0x90]
mov r8d, dword [rbp - 0x6c]
cmp dword [rsi + 0x94], ecx
jg 0x140097ab2
mov r9d, dword [rsp + 0x74]
inc r8d
mov edx, 9
mov dword [rsp + 0x20], edi
mov rcx, rsi
call fcn.140031c00
mov r8d, dword [rbp - 0x6c]
jmp 0x140097ae6
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
lea edx, [r8 + 1]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x74]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x140097b0d
mov r9d, dword [rsp + 0x70]
mov edx, 0x31
mov rcx, rsi
mov dword [rsp + 0x20], edi
call fcn.140031c00
jmp 0x140097b3e
mov edx, dword [rsp + 0x70]
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x31
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x140097b6a
mov r9d, dword [rsp + 0x60]
mov edx, 9
mov r8d, dword [rsp + 0x40]
mov rcx, rsi
mov dword [rsp + 0x20], edi
call fcn.140031c00
jmp 0x140097b9e
mov edx, dword [rsp + 0x40]
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x60]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov edx, dword [rsi + 0x90]
test ebx, ebx
jns 0x140097bab
lea ebx, [rdx - 1]
mov rax, qword [rsi]
cmp byte [rax + 0x67], 0
je 0x140097bbd
lea rax, [0x14015f5e0]
jmp 0x140097bcf
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rcx*8]
mov ebx, dword [rbp - 0x54]
mov r8, r13
mov r9d, dword [rsp + 0x68]
mov rcx, r12
mov dword [rax + 8], edx
mov edx, ebx
call fcn.140094d70
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x140097c12
mov r9d, ebx
mov dword [rsp + 0x20], edi
mov edx, 0x47
mov r8d, 1
mov rcx, rsi
call fcn.140031c00
jmp 0x140097c42
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
test r14d, r14d
je 0x140097ca2
movsxd rcx, dword [rsi + 0x90]
mov edx, dword [r13 + 4]
cmp dword [rsi + 0x94], ecx
jg 0x140097c73
mov r8d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x24
mov r9d, r15d
mov rcx, rsi
call fcn.140031c00
jmp 0x140097cdf
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x24
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
jmp 0x140097cdf
mov rcx, qword [rbp - 0x30]
call fcn.1400b76c0
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], 0
jne 0x140097cdf
movsxd rax, dword [rbp - 0x28]
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
mov r8, qword [rax + rdx*8 + 0x10]
lea rbx, [rax + rdx*8]
movsx edx, byte [rax + rdx*8 + 1]
call fcn.140032720
mov word [rbx], 0xb8
mov qword [rbx + 0x10], rdi
mov rdx, qword [rbp - 0x60]
test rdx, rdx
je 0x140097cf2
mov rcx, qword [rsp + 0x58]
call fcn.14004d700
mov r15d, dword [rbp - 0x6c]
movsxd rcx, dword [rsi + 0x90]
inc r15d
mov ebx, dword [rsp + 0x74]
cmp dword [rsi + 0x94], ecx
jg 0x140097d25
mov r9d, ebx
mov dword [rsp + 0x20], edi
mov r8d, r15d
mov edx, 9
mov rcx, rsi
call fcn.140031c00
jmp 0x140097d52
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x140097d7c
mov r9d, dword [rsp + 0x70]
xor r8d, r8d
mov edx, 8
mov dword [rsp + 0x20], edi
mov rcx, rsi
call fcn.140031c00
jmp 0x140097da9
mov edx, dword [rsp + 0x70]
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8], 8
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd r14, dword [rsi + 0x90]
cmp dword [rsi + 0x94], r14d
jg 0x140097dd6
mov r9d, dword [rbp - 0x6c]
mov edx, 0x47
mov r8d, 1
mov dword [rsp + 0x20], edi
mov rcx, rsi
call fcn.140031c00
jmp 0x140097e0a
mov edx, dword [rbp - 0x6c]
lea rcx, [r14 + r14*2]
lea eax, [r14 + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x140097e32
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov r8d, r15d
mov edx, 0x43
mov rcx, rsi
call fcn.140031c00
jmp 0x140097e60
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], r15d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdi
mov rcx, qword [rsi + 0x18]
not ebx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x140097e7b
mov r8d, ebx
mov rdx, rsi
call fcn.1400324a0
jmp 0x140097e8b
mov rcx, qword [rcx + 0x50]
mov eax, dword [rsi + 0x90]
movsxd rdx, ebx
mov dword [rcx + rdx*4], eax
movsxd rax, dword [rsi + 0x90]
mov r8d, dword [rbp - 0x54]
lea edx, [rax + 2]
lea ebx, [rax + 1]
cmp dword [rsi + 0x94], eax
jg 0x140097eba
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x31
mov rcx, rsi
call fcn.140031c00
jmp 0x140097ee4
lea rcx, [rax + rax*2]
mov dword [rsi + 0x90], ebx
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x31
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x140097f0c
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov r8d, r15d
mov edx, 0x43
mov rcx, rsi
call fcn.140031c00
jmp 0x140097f3a
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], r15d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdi
mov rdx, r13
mov rcx, r12
call fcn.140094c60
mov rdx, qword [rbp - 0x38]
mov r9d, 0x10
mov r8d, ebx
mov rcx, r12
call fcn.140054910
mov dword [rsp + 0x38], r14d
lea rax, [rbp]
mov r14, qword [rsp + 0x48]
lea r9, [rbp + 0x78]
mov dword [rsp + 0x30], ebx
mov r8d, 0xffffffff
mov rbx, qword [rbp - 0x48]
mov rdx, r14
mov qword [rsp + 0x28], rbx
mov rcx, r12
mov qword [rsp + 0x20], rax
call fcn.140089e50
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x140097fb7
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov r8d, r15d
mov edx, 0x43
mov rcx, rsi
call fcn.140031c00
jmp 0x140097fe5
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], r15d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdi
mov rcx, qword [rsi + 0x18]
mov edx, dword [rsp + 0x60]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x140098004
mov r8d, edx
mov rdx, rsi
call fcn.1400324a0
jmp 0x140098014
mov rcx, qword [rcx + 0x50]
mov eax, dword [rsi + 0x90]
movsxd rdx, edx
mov dword [rcx + rdx*4], eax
mov rdx, r13
mov rcx, r12
call fcn.140094aa0
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x140098048
mov r9d, dword [rbp - 0x54]
xor r8d, r8d
mov edx, 0x47
mov dword [rsp + 0x20], edi
mov rcx, rsi
call fcn.140031c00
jmp 0x140098074
mov edx, dword [rbp - 0x54]
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x14009809e
mov r8d, dword [rsp + 0x40]
xor r9d, r9d
mov edx, 0x43
mov dword [rsp + 0x20], edi
mov rcx, rsi
call fcn.140031c00
jmp 0x1400980cf
mov edx, dword [rsp + 0x40]
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdi
cmp word [rsp + 0x50], 0
je 0x1400987a2
mov eax, dword [rsp + 0x68]
test eax, eax
je 0x1400987a2
mov r8, qword [r13 + 0x30]
mov edx, eax
mov rcx, r12
mov r9d, dword [r8 + 0x18]
mov r8d, dword [r8 + 0x14]
call fcn.140089d00
jmp 0x1400987a2
cmp qword [rbx + 0x30], rdi
jne 0x1400984d7
mov r9, qword [rbx + 0x20]
cmp dword [r9], 1
jne 0x1400984d7
mov r8, qword [rbx + 0x28]
cmp dword [r8], 1
jne 0x1400984d7
cmp qword [r8 + 0x30], rdi
jne 0x1400984d7
cmp edx, 1
jne 0x1400984d7
cmp qword [rbx + 0x40], rdi
jne 0x1400984d7
mov r8, qword [r8 + 0x28]
cmp byte [r8 + 0x3f], dil
jne 0x1400984d7
mov r9, qword [r9 + 8]
cmp byte [r9], 0xa8
jne 0x1400984d7
cmp qword [r9 + 0x38], r13
jne 0x1400984d7
mov rax, qword [r13 + 0x30]
mov rcx, qword [rax + 8]
test dword [rcx + 4], 0x100
je 0x1400984d7
test dword [r9 + 4], 0x1000004
jne 0x1400984d7
test r8, r8
je 0x1400984d7
mov rdx, qword [r8 + 0x60]
mov r14d, 0xffff8000
mov r15, r8
test rdx, rdx
je 0x1400981cc
mov rax, qword [r12]
mov r14d, edi
mov rcx, qword [rax + 0x20]
add rcx, 0x18
cmp qword [rcx], rdx
je 0x1400981cc
nop dword [rax]
inc r14d
lea rcx, [rcx + 0x20]
cmp qword [rcx], rdx
jne 0x1400981c0
mov r13d, dword [r12 + 0x34]
mov rcx, r12
mov r8, rdi
mov qword [rbp - 0x30], rdi
mov rbx, rdi
lea eax, [r13 + 1]
mov dword [r12 + 0x34], eax
mov eax, dword [r15 + 0x28]
mov dword [rsp + 0x60], eax
mov rax, qword [r12 + 0xa0]
test rax, rax
cmovne rcx, rax
mov eax, dword [rcx + 0x74]
bt eax, r14d
jb 0x14009821b
bts eax, r14d
mov dword [rcx + 0x74], eax
cmp r14d, 1
jne 0x140098221
call fcn.140069e00
jmp 0x140098254
cmp r14d, 1
je 0x140098257
mov rax, qword [r12]
movsxd rdx, r14d
shl rdx, 5
mov rcx, qword [rax + 0x20]
mov rax, qword [rdx + rcx + 8]
cmp byte [rax + 0x11], bl
je 0x140098257
mov rax, qword [r15]
xor r9d, r9d
mov r8d, dword [r15 + 0x28]
mov edx, r14d
mov rcx, r12
mov qword [rsp + 0x20], rax
call fcn.14005f690
mov r8, rdi
test byte [r15 + 0x30], 0x80
je 0x140098279
mov rbx, qword [r15 + 0x10]
test rbx, rbx
je 0x140098279
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x140098279
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x140098267
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x28]
test byte [rax + 0x48], 1
jne 0x1400982bf
mov rax, qword [r15 + 0x10]
test rax, rax
je 0x1400982bf
test byte [rax + 0x64], 4
jne 0x1400982b6
movzx ecx, word [rax + 0x5c]
cmp cx, word [r15 + 0x3c]
jge 0x1400982b6
cmp qword [rax + 0x48], rdi
jne 0x1400982b6
test rbx, rbx
je 0x1400982b3
cmp cx, word [rbx + 0x5c]
jge 0x1400982b6
mov rbx, rax
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x140098291
test rbx, rbx
je 0x1400982dd
mov eax, dword [rbx + 0x58]
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x60], eax
call fcn.14006a740
mov r8, rax
mov qword [rbp - 0x30], rax
movsxd rdx, dword [rsi + 0x90]
mov r9d, dword [rsp + 0x60]
cmp dword [rsi + 0x94], edx
jg 0x14009830e
mov r8d, r13d
mov dword [rsp + 0x20], r14d
mov edx, 0x70
mov rcx, rsi
call fcn.140031c00
mov r8, qword [rbp - 0x30]
mov edx, eax
jmp 0x14009833d
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x70
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], rdi
mov rax, qword [rsi]
mov r14d, 1
cmp byte [rax + 0x67], dil
jne 0x140098364
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], r14d
test r8, r8
je 0x1400983b7
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], dil
je 0x14009837e
mov edx, 0xfffffff8
call fcn.140032720
jmp 0x1400983b7
movsxd rax, dword [rsi + 0x90]
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rdx, [rdx - 3]
cmp byte [rax + rdx*8 + 1], dil
lea rdx, [rax + rdx*8]
je 0x1400983af
mov r9d, 0xfffffff8
mov rcx, rsi
call fcn.140032840
jmp 0x1400983b7
mov qword [rdx + 0x10], r8
mov byte [rdx + 1], pe_nt_image_headers64
mov rax, qword [rbp - 0x50]
movsxd rcx, dword [rsi + 0x90]
mov rax, qword [rax + 0x30]
mov edx, dword [rax + 0x10]
cmp dword [rsi + 0x94], ecx
jg 0x1400983ea
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x62
mov r8d, r13d
mov rcx, rsi
call fcn.140031c00
jmp 0x140098417
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x62
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x14009843f
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov r8d, r13d
mov edx, 0x7a
mov rcx, rsi
call fcn.140031c00
jmp 0x140098469
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x7a
mov dword [rax + rcx*8 + 4], r13d
mov qword [rax + rcx*8 + 8], rdi
mov qword [rax + rcx*8 + 0x10], rdi
cmp byte [r12 + 0x123], 2
jne 0x140098756
test rbx, rbx
je 0x140098499
test byte [r15 + 0x30], 0x80
je 0x14009848d
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x140098499
mov rax, qword [rbx]
lea rcx, [0x140133e28]
jmp 0x1400984a6
lea rcx, [0x140133e28]
mov r14d, edi
mov rax, rcx
mov r9, qword [r15]
lea rdx, str._USING_COVERING_INDEX
test r14d, r14d
mov qword [rsp + 0x28], rax
lea r8, str.SCAN__s_s_s
cmovne rcx, rdx
xor edx, edx
mov qword [rsp + 0x20], rcx
mov rcx, r12
call fcn.140032200
jmp 0x140098756
mov r14d, edi
mov r15, rdi
movzx ebx, di
cmp dword [r13 + 0x2c], edi
je 0x140098592
mov r8d, edi
test edx, edx
jle 0x140098528
mov rcx, qword [r13 + 0x30]
mov r9d, edx
nop dword [rax + rax]
mov rax, qword [rcx]
test dword [rax + 4], 0x1000000
jne 0x140098519
mov rax, qword [rcx + 8]
mov edx, r9d
test byte [rax + 4], 0x20
jne 0x140098528
inc r8d
add rcx, 0x20
mov edx, r9d
cmp r8d, r9d
jl 0x140098500
cmp r8d, edx
jne 0x1400985b5
mov r14d, dword [r12 + 0x38]
inc r14d
mov dword [r12 + 0x38], r14d
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x140098566
mov r9d, r14d
mov dword [rsp + 0x20], edi
xor r8d, r8d
mov edx, 0x47
mov rcx, rsi
call fcn.140031c00
jmp 0x1400985b5
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
jmp 0x1400985b5
cmp edx, 1
jne 0x1400985b5
mov rax, qword [r13 + 0x30]
cmp dword [rax + 0x14], edi
jl 0x1400985b5
mov rax, qword [rax]
mov r15, qword [rax + 0x20]
mov rax, r15
neg rax
sbb bx, bx
and bx, 0x500
mov rdx, r13
mov rcx, r12
call fcn.140094aa0
movzx eax, byte [rsp + 0x50]
mov rcx, r12
mov r9, qword [rbp - 0x10]
or ax, bx
mov r8, qword [rbp - 0x40]
mov rdx, qword [rsp + 0x68]
mov dword [rsp + 0x38], edi
mov word [rsp + 0x30], ax
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], r15
call fcn.1400b65c0
mov rbx, rax
test rax, rax
je 0x140095b7d
movzx r15d, byte [rax + 0x4b]
mov r8, r13
mov r9d, r15d
mov edx, r14d
mov rcx, r12
call fcn.140094d70
test r15d, r15d
je 0x140098633
mov r8, qword [r13 + 0x30]
test r8, r8
je 0x140098633
mov r9d, dword [r8 + 0x18]
mov edx, r15d
mov r8d, dword [r8 + 0x14]
mov rcx, r12
call fcn.140089d00
test r14d, r14d
je 0x140098694
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x140098663
mov r9d, r14d
mov dword [rsp + 0x20], edi
mov edx, 0x47
mov r8d, 1
mov rcx, rsi
call fcn.140031c00
jmp 0x140098694
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
cmp byte [rsp + 0x50], dil
je 0x140098743
test byte [rbx + 0x4c], 4
je 0x140098743
cmp byte [rbx + 0x49], dil
je 0x140098743
movzx edx, byte [rbx + 0x48]
sub rdx, 1
js 0x1400986e7
imul rcx, rdx, 0x70
add rcx, rbx
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rcx + 0x3d0]
test byte [rax + 0x38], 4
jne 0x140098712
sub rcx, 0x70
sub rdx, 1
jns 0x1400986d0
mov edx, dword [rbx + 0x3c]
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x14009871a
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 8
xor r8d, r8d
mov rcx, rsi
call fcn.140031c00
jmp 0x140098743
mov edx, dword [rcx + 0x380]
jmp 0x1400986ea
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8 + 0x10], rdi
mov dword [rax + rcx*8 + 0xc], edi
mov dword [rax + rcx*8 + 8], edx
mov qword [rax + rcx*8], 8
mov rcx, rbx
call fcn.1400b76c0
mov rdx, r13
mov rcx, r12
call fcn.140094c60
mov ebx, dword [rsp + 0x70]
mov r9d, 0x10
mov rdx, qword [rbp - 0x38]
mov r8d, ebx
mov rcx, r12
mov qword [rbp + 0x78], rdi
call fcn.140054910
mov r14, qword [rsp + 0x48]
xor r9d, r9d
mov dword [rsp + 0x38], ebx
mov r8d, 0xffffffff
mov dword [rsp + 0x30], ebx
mov rdx, r14
mov rbx, qword [rbp - 0x48]
mov rcx, r12
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rdi
call fcn.140089e50
mov rcx, qword [rsi + 0x18]
mov edx, dword [rsp + 0x70]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1400987c1
mov r8d, edx
mov rdx, rsi
call fcn.1400324a0
jmp 0x1400987d1
movsxd rdx, edx
mov rcx, qword [rcx + 0x50]
mov eax, dword [rsi + 0x90]
mov dword [rcx + rdx*4], eax
cmp byte [rbp + 1], 3
jne 0x1400987ef
lea r9, str.DISTINCT
xor edx, edx
lea r8, str.USE_TEMP_B_TREE_FOR__s
mov rcx, r12
call fcn.140032200
cmp qword [rbp + 0x78], 0
je 0x14009883b
cmp dword [rbp + 0x80], 0
lea rax, str.RIGHT_PART_OF_ORDER_BY
lea r9, str.ORDER_BY
mov rcx, r12
cmovg r9, rax
lea r8, str.USE_TEMP_B_TREE_FOR__s
xor edx, edx
call fcn.140032200
mov r9, qword [rbp - 0x20]
lea r8, [rbp + 0x78]
mov rdx, r14
mov qword [rsp + 0x20], rbx
mov rcx, r12
mov r9d, dword [r9]
call fcn.14008b220
mov rcx, qword [rsi + 0x18]
mov edx, dword [rbp - 0x18]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x140098859
mov r8d, edx
mov rdx, rsi
call fcn.1400324a0
jmp 0x140098869
mov rcx, qword [rcx + 0x50]
mov eax, dword [rsi + 0x90]
movsxd rdx, edx
mov dword [rcx + rdx*4], eax
cmp dword [r12 + 0x30], 0
mov r15d, edi
mov r14, qword [rsp + 0x58]
setg r15b
jmp 0x140095b88
lea r13, [0x14015f5e0]
mov r8, qword [rbp - 0x48]
mov rdx, rbx
mov rcx, r12
call fcn.14008df70
mov r8d, eax
cmp qword [rbx + 0x58], rdi
jne 0x1400988e1
mov ecx, dword [r12 + 0x130]
test ecx, ecx
je 0x1400988d9
mov rdx, qword [r12 + 0x10]
jns 0x1400988ba
mov ecx, dword [rdx + 0x90]
dec ecx
mov rax, qword [rdx]
cmp byte [rax + 0x67], dil
jne 0x1400988d5
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x88]
lea r13, [rax + rcx*8]
mov edi, dword [r13 + 8]
mov dword [r12 + 0x130], edi
mov eax, r8d
jmp 0x140095be9
mov r14, rax
jmp 0x140095b82
mov r14, r15
jmp 0x140095b82