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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r15
lea rbp, [rsp - 0xb0]
sub rsp, 0x1b0
mov rax, qword [0x140143020]
xor rax, rsp
mov qword [rbp + 0xa0], rax
mov rdi, qword [rcx + 0x10]
xor ebx, ebx
mov rax, qword [rcx]
mov r15d, 1
mov qword [rbp - 0x38], r8
mov r13, r8
mov qword [rbp - 0x30], rdx
mov r12, rdx
mov qword [rbp - 0x28], rcx
mov rsi, rcx
mov qword [rbp - 0x40], r15
mov qword [rbp - 0x18], rbx
mov qword [rsp + 0x50], rax
test rdi, rdi
jne 0x14009d1dc
cmp qword [rcx + 0xa8], rbx
jne 0x14009d1d4
test byte [rax + 0x60], 8
jne 0x14009d1d4
mov byte [rcx + 0x23], r15b
call fcn.1400357f0
mov rdi, rax
mov qword [rsp + 0x208], r14
test r12, r12
je 0x14009d73f
cmp dword [rsi + 0x30], ebx
jne 0x14009d73f
mov rcx, qword [rsi]
mov r10, qword [rcx + 0x200]
test r10, r10
je 0x14009d280
cmp byte [rcx + 0xc5], bl
jne 0x14009d280
cmp byte [rsi + 0x12c], bl
jne 0x14009d280
mov rax, qword [rsi + 0x170]
xor r9d, r9d
mov rcx, qword [rcx + 0x208]
xor r8d, r8d
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea edx, [r9 + 0x15]
call r10
mov r14d, eax
cmp eax, r15d
jne 0x14009d25a
lea rdx, str.not_authorized
mov rcx, rsi
call fcn.14000c020
mov dword [rsi + 0x18], 0x17
jmp 0x14009d277
test eax, 0xfffffffd
je 0x14009d277
lea rdx, str.authorizer_malfunction
mov rcx, rsi
mov r14d, r15d
call fcn.14000c020
mov dword [rsi + 0x18], r15d
test r14d, r14d
jne 0x14009d73f
cmp byte [r13], 6
ja 0x14009d2fa
mov r14, qword [r12 + 0x48]
test r14, r14
je 0x14009d2e9
mov rcx, qword [rsi]
test rcx, rcx
je 0x14009d2a5
mov edx, 0x18
call fcn.140008700
jmp 0x14009d2af
mov ecx, 0x18
call fcn.140007f30
mov rcx, rax
test rax, rax
je 0x14009d2d9
mov rax, qword [rsi + 0xc0]
mov qword [rcx], rax
lea rax, [fcn.140052320]
mov qword [rsi + 0xc0], rcx
mov qword [rcx + 0x10], rax
mov qword [rcx + 8], r14
jmp 0x14009d2e4
mov rcx, qword [rsi]
mov rdx, r14
call fcn.1400522b0
mov qword [r12 + 0x48], rbx
mov eax, dword [r12 + 4]
and eax, 0xfffffffe
bts eax, 0x16
mov dword [r12 + 4], eax
mov rax, qword [rsi]
cmp byte [rax + 0x67], bl
jne 0x14009d338
test byte [r12 + 4], 0x80
jne 0x14009d338
mov rdx, r12
mov rcx, rsi
call fcn.14009b920
cmp dword [rsi + 0x30], ebx
jne 0x14009d338
xor r8d, r8d
mov rdx, r12
mov rcx, rsi
call fcn.14004e650
cmp dword [rsi + 0x30], ebx
jne 0x14009d338
mov rdx, r12
mov rcx, rsi
call fcn.14009bca0
lea r14, [0x14014ae80]
cmp dword [rsi + 0x30], ebx
jne 0x14009d384
mov r10d, dword [r12 + 4]
bt r10d, 0x17
jae 0x14009d398
mov rdx, qword [r12 + 0x28]
lea r11, [rdx + 8]
mov rcx, r11
call fcn.14009d080
test eax, eax
je 0x14009d38e
mov r8, qword [r11 + 0x18]
test r8, r8
jne 0x14009d375
mov rax, qword [r11 + 0x20]
mov r8, qword [rax]
lea rdx, str.target_object_alias_may_not_appear_in_FROM_clause:__s
mov rcx, rsi
call fcn.14000c020
mov r11, qword [rsp + 0x50]
jmp 0x14009d6fa
btr r10d, 0x17
mov dword [r12 + 4], r10d
cmp byte [r13], 9
jne 0x14009d3aa
mov rdx, r12
mov rcx, rsi
call fcn.1400935e0
mov rdx, r12
mov rcx, rsi
call fcn.1400c23e0
test eax, eax
jne 0x14009d384
mov eax, dword [r12 + 4]
mov edx, ebx
mov r14, qword [r12 + 0x28]
xorps xmm0, xmm0
shr eax, 3
xorps xmm1, xmm1
and eax, r15d
mov qword [rbp + 0x60], rbx
mov dword [rsp + 0x58], eax
mov rax, qword [r12 + 0x48]
mov qword [rbp + 0x38], rax
movdqu xmmword [rbp + 0x40], xmm0
mov dword [rsp + 0x40], ebx
movdqu xmmword [rbp + 0x50], xmm1
cmp qword [r12 + 0x50], rdx
jne 0x14009d681
mov r11, qword [rsp + 0x50]
mov r13, rbx
cmp edx, dword [r14]
jge 0x14009d76b
imul r15, r13, 0x68
add r15, r14
movzx eax, byte [r15 + 0x44]
mov rcx, qword [r15 + 0x30]
mov r10, qword [r15 + 0x28]
mov qword [rbp - 0x48], rcx
mov qword [rbp - 0x68], r10
test al, 0x48
je 0x14009d507
mov edx, dword [r15 + 0x4c]
mov r8d, eax
mov rcx, qword [r12 + 0x30]
and r8d, 0x40
call fcn.14005ab20
mov r11, qword [rsp + 0x50]
test eax, eax
je 0x14009d4fb
test dword [r11 + 0x60], 0x2000
jne 0x14009d4fb
movzx eax, byte [r15 + 0x44]
test al, 8
je 0x14009d477
test al, 0x10
je 0x14009d471
and al, 0xf7
jmp 0x14009d473
and al, 0xd7
mov byte [r15 + 0x44], al
test al, 0x40
je 0x14009d4e4
mov edx, dword [rsp + 0x40]
lea rcx, [r13 + 1]
mov eax, dword [r14]
inc edx
cmp edx, eax
jge 0x14009d4b7
imul rcx, rcx, 0x68
add rcx, 0x44
add rcx, r14
movzx eax, byte [rcx]
test al, 0x10
je 0x14009d4aa
test al, 8
je 0x14009d4a6
and al, 0xef
jmp 0x14009d4a8
and al, 0xcf
mov byte [rcx], al
mov eax, dword [r14]
inc edx
add rcx, 0x68
cmp edx, eax
jl 0x14009d497
dec eax
movsxd rdx, eax
cmp rdx, r13
jl 0x14009d4e4
imul rcx, rdx, 0x68
add rcx, 0x44
add rcx, r14
nop dword [rax]
and byte [rcx], 0xbf
test byte [rcx], 0x10
jne 0x14009d4e4
dec rdx
sub rcx, 0x68
cmp rdx, r13
jge 0x14009d4d0
movzx r8d, byte [r14 + 0x44]
mov edx, dword [r15 + 0x4c]
and r8d, 0x40
mov rcx, qword [r12 + 0x30]
call fcn.14008f8a0
mov rcx, qword [rbp - 0x48]
mov edx, dword [rsp + 0x40]
mov r10, qword [rbp - 0x68]
test rcx, rcx
je 0x14009d669
mov rax, qword [rcx + 0x20]
movsx r8d, word [r10 + 0x36]
mov r9d, dword [rax]
cmp r8d, r9d
jne 0x14009d6d1
test dword [r15 + 0x48], 0x100
je 0x14009d53c
mov rax, qword [r15 + 0x68]
cmp byte [rax + 0x12], bl
je 0x14009d669
mov eax, dword [rcx + 4]
test al, 8
jne 0x14009d669
mov r15, qword [rcx + 0x48]
test r15, r15
je 0x14009d60e
cmp qword [r12 + 0x48], rbx
jne 0x14009d565
cmp dword [r14], 1
jle 0x14009d5ef
cmp qword [rcx + 0x60], rbx
jne 0x14009d5ef
bt eax, 0x1b
jb 0x14009d5ef
test dword [r12 + 4], 0x8000000
jne 0x14009d5ef
test dword [r11 + 0x60], 0x40000
jne 0x14009d5ef
mov rcx, qword [rsi]
test rcx, rcx
je 0x14009d59e
mov edx, 0x18
call fcn.140008700
jmp 0x14009d5a8
mov ecx, 0x18
call fcn.140007f30
mov rcx, rax
test rax, rax
je 0x14009d5da
mov rax, qword [rsi + 0xc0]
mov qword [rcx], rax
lea rax, [fcn.140052320]
mov qword [rsi + 0xc0], rcx
mov qword [rcx + 0x10], rax
mov rax, qword [rbp - 0x48]
mov qword [rcx + 8], r15
mov qword [rax + 0x48], rbx
jmp 0x14009d60e
mov rcx, qword [rsi]
mov rdx, r15
call fcn.1400522b0
mov rax, qword [rbp - 0x48]
mov qword [rax + 0x48], rbx
jmp 0x14009d60e
test edx, edx
jne 0x14009d60e
test dword [r12 + 4], 0x40000
je 0x14009d60e
cmp dword [r14], 1
je 0x14009d669
test byte [r14 + 0xac], 0x22
jne 0x14009d669
mov r9d, dword [rsp + 0x58]
mov rdx, r12
mov r8d, dword [rsp + 0x40]
mov rcx, rsi
call fcn.140098620
test eax, eax
je 0x14009d63f
cmp dword [rsi + 0x30], ebx
jne 0x14009d6e8
mov dword [rsp + 0x40], 0xffffffff
mov r13, 0xffffffffffffffff
mov r11, qword [rsp + 0x50]
mov r14, qword [r12 + 0x28]
cmp byte [r11 + 0x67], bl
jne 0x1400a057f
mov rax, qword [rbp - 0x38]
mov edx, dword [rsp + 0x40]
cmp byte [rax], 8
jbe 0x14009d669
mov rax, qword [r12 + 0x48]
mov qword [rbp + 0x38], rax
inc edx
inc r13
mov dword [rsp + 0x40], edx
cmp qword [r12 + 0x50], rbx
je 0x14009d403
mov r13, qword [rbp - 0x38]
mov r8, r13
mov rdx, r12
mov rcx, rsi
call fcn.1400950a0
mov r8d, eax
cmp qword [r12 + 0x58], rbx
jne 0x1400a0577
movsxd rcx, dword [rsi + 0x138]
test ecx, ecx
je 0x1400a0571
mov rdx, qword [rsi + 0x10]
mov rax, qword [rdx]
cmp byte [rax + 0x67], bl
je 0x1400a055e
lea rax, [0x14014ae80]
mov ebx, dword [rax + 8]
mov eax, r8d
mov dword [rsi + 0x138], ebx
jmp 0x14009d742
mov dword [rsp + 0x20], r9d
lea rdx, str.expected__d_columns_for__s_but_got__d
mov r9, qword [r10]
mov rcx, rsi
call fcn.14000c020
mov r15d, 1
mov r11, qword [rsp + 0x50]
lea r14, [0x14014ae80]
mov rax, qword [rbp - 0x18]
test rax, rax
je 0x14009d70e
mov rdx, rax
mov rcx, r11
call fcn.1400522b0
movsxd rcx, dword [rsi + 0x138]
test ecx, ecx
je 0x14009d739
mov rdx, qword [rsi + 0x10]
mov rax, qword [rdx]
cmp byte [rax + 0x67], 0
jne 0x14009d735
mov rax, qword [rdx + 0x88]
lea rcx, [rcx + rcx*2]
lea r14, [rax + rcx*8]
mov ebx, dword [r14 + 8]
mov dword [rsi + 0x138], ebx
mov eax, r15d
mov r14, qword [rsp + 0x208]
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.1400e2470
add rsp, 0x1b0
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rax, qword [r12 + 0x30]
mov r13, r14
mov qword [rsp + 0x68], r14
test rax, rax
je 0x14009d870
cmp byte [rax], 0x2c
mov qword [rsp + 0x68], r14
jne 0x14009d870
test dword [r11 + 0x60], 0x8000
mov r15d, 1
mov qword [rsp + 0x68], r14
jne 0x14009d876
mov rax, qword [rsi]
lea r13, [fcn.140002780]
add rax, 0x67
mov qword [rsp + 0x68], r14
mov qword [rbp + 0x70], rax
lea r14, [0x1400995f0]
mov qword [rbp + 0x68], rsi
nop word [rax + rax]
mov rax, qword [r12 + 0x28]
mov qword [rbp + 0x78], rbx
mov qword [rbp + 0x88], rbx
mov dword [rbp + 0x80], ebx
test rax, rax
je 0x14009d7ff
cmp dword [rax], ebx
jle 0x14009d7ff
test byte [rax + 0x44], 0x40
mov dword [rbp + 0x84], 3
jne 0x14009d806
mov dword [rbp + 0x84], r15d
mov rdx, qword [r12 + 0x30]
lea rcx, [rbp + 0x68]
call fcn.1400993a0
cmp dword [rbp + 0x78], ebx
je 0x14009d860
mov rdx, qword [r12 + 0x30]
lea rax, [rbp + 0x68]
mov qword [rbp + 0x28], rbx
mov qword [rbp + 8], rsi
mov qword [rbp + 0x10], r14
mov qword [rbp + 0x18], r13
mov qword [rbp + 0x20], rbx
mov qword [rbp + 0x30], rax
test rdx, rdx
je 0x14009d848
lea rcx, [rbp + 8]
call fcn.14004a980
mov rdx, qword [rbp + 0x88]
test rdx, rdx
je 0x14009d860
mov rcx, qword [rbp + 0x68]
mov rcx, qword [rcx]
call fcn.140008200
cmp dword [rbp + 0x7c], ebx
jne 0x14009d7d0
mov r13, qword [rsp + 0x68]
jmp 0x14009d876
mov r15d, 1
mov rax, qword [rsp + 0x50]
test dword [rax + 0x60], 0x201
jne 0x14009d8ac
mov rdx, r12
mov rcx, rsi
call fcn.14009cc90
test eax, eax
je 0x14009d8ac
mov r11, qword [rsp + 0x50]
cmp byte [r11 + 0x67], bl
jne 0x14009d6f3
mov r13, qword [r12 + 0x28]
mov qword [rsp + 0x68], r13
lea r9, [0x140121ec0]
mov r11d, ebx
mov dword [rsp + 0x44], ebx
cmp dword [r13], ebx
jle 0x14009e1f1
mov rax, rbx
mov qword [rbp - 0x68], rbx
nop dword [rax + rax]
imul rax, rax, 0x68
lea r14, [r13 + 8]
add r14, rax
cmp qword [r14 + 0x50], 0
jne 0x14009d974
mov r8, qword [r14 + 0x10]
test r8, r8
je 0x14009d974
mov rcx, qword [rsi]
mov r10, qword [rcx + 0x200]
test r10, r10
je 0x14009d974
cmp byte [rcx + 0xc5], 0
jne 0x14009d974
cmp byte [rsi + 0x12c], 0
jne 0x14009d974
mov rdx, qword [r14 + 8]
mov rax, qword [rsi + 0x170]
mov rcx, qword [rcx + 0x208]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
mov edx, 0x14
call r10
cmp eax, 1
jne 0x14009d955
lea rdx, str.not_authorized
mov rcx, rsi
call fcn.14000c020
mov dword [rsi + 0x18], 0x17
jmp 0x14009d96f
test eax, 0xfffffffd
je 0x14009d96f
lea rdx, str.authorizer_malfunction
mov rcx, rsi
call fcn.14000c020
mov dword [rsi + 0x18], r15d
mov r11d, dword [rsp + 0x44]
mov r10, qword [r14 + 0x28]
mov qword [rsp + 0x60], r10
test r10, r10
je 0x14009e1cd
mov rcx, r12
call fcn.14004fa60
mov r15, qword [rsp + 0x50]
add dword [rsi + 0x134], eax
test dword [r15 + 0x60], 0x1000
jne 0x14009d9d4
test dword [r14 + 0x40], 0x100
je 0x14009d9bc
mov rax, qword [r14 + 0x60]
cmp byte [rax + 0x12], 0
je 0x14009d9d4
cmp dword [rax], 2
jge 0x14009d9d4
mov r8, qword [r12 + 0x30]
mov r9, r13
mov rdx, r10
mov dword [rsp + 0x20], r11d
mov rcx, rsi
call fcn.140099680
test dword [r15 + 0x60], 0x4000000
jne 0x14009db15
test dword [r14 + 0x40], 0x108
jne 0x14009db15
mov rdx, qword [r14 + 0x28]
mov r8, qword [r14 + 0x20]
mov qword [rsp + 0x78], rdx
test byte [rdx + 4], 9
jne 0x14009db15
mov rax, rdx
nop word [rax + rax]
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x14009da22
cmp byte [rax], 0x87
jne 0x14009db15
cmp qword [rax + 0x70], 0
jne 0x14009db15
mov rax, rcx
test rcx, rcx
jne 0x14009da10
mov rcx, qword [rdx + 0x48]
mov r10, qword [r14 + 0x50]
test rcx, rcx
je 0x14009da79
movsxd rdx, dword [rcx]
test rdx, rdx
jle 0x14009da79
add rcx, 0x20
nop
movzx eax, word [rcx]
test ax, ax
je 0x14009da6f
dec ax
cmp ax, 0x40
jb 0x14009da68
mov eax, 0x3f
jmp 0x14009da6b
movzx eax, ax
bts r10, rax
add rcx, 0x20
sub rdx, 1
jne 0x14009da50
movsx r13, word [r8 + 0x36]
mov r11d, ebx
mov r15, rbx
test r13, r13
jle 0x14009db10
mov r8, rbx
mov r9d, 1
mov rbx, qword [rsp + 0x78]
movabs r12, 0x8000000000000000
nop word [rax + rax]
cmp r11d, 0x3f
mov rax, r12
cmovb rax, r9
test r10, rax
jne 0x14009daf8
mov rax, rbx
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rax + 0x20]
mov rdx, qword [rcx + r8 + 8]
cmp byte [rdx], 0x79
je 0x14009daef
and dword [rdx + 4], 0xfff7dfff
mov byte [rdx], 0x79
or dword [rax + 4], 0x1000000
mov rax, qword [rax + 0x50]
test rax, rax
jne 0x14009dad0
inc r11d
rol r9, 1
inc r15
add r8, 0x20
cmp r15, r13
jl 0x14009dab0
mov r12, qword [rbp - 0x30]
xor ebx, ebx
mov r13, qword [rsp + 0x68]
mov rax, qword [rsi + 0x170]
mov r8d, dword [rsp + 0x44]
mov r15d, r8d
mov qword [rsp + 0x78], rax
mov rax, qword [r14 + 0x10]
mov qword [rsi + 0x170], rax
mov eax, dword [r14 + 0x40]
and eax, 0x100
mov dword [rbp - 0x50], eax
je 0x14009db60
mov rax, qword [r14 + 0x60]
movzx ecx, byte [rax + 0x12]
test cl, cl
je 0x14009dd9d
cmp dword [rax], 2
jl 0x14009db60
cmp cl, 2
jne 0x14009dd9d
test byte [r13 + 0x44], 0x40
jne 0x14009dd93
mov rax, qword [rsi]
test dword [rax + 0x60], 0x2000000
jne 0x14009dd93
mov r13d, dword [r13]
inc r8d
mov rcx, qword [rsp + 0x68]
mov r9d, r13d
mov rdx, r14
call fcn.14009cb20
test rax, rax
jne 0x14009dd8b
cmp qword [rbp - 0x68], rax
jne 0x14009dc02
cmp r13d, 1
je 0x14009dbc5
mov r13, qword [rsp + 0x68]
test byte [r13 + 0xac], 2
jne 0x14009dbc5
test dword [r12 + 4], 0x10000000
jne 0x14009dd90
movsxd r13, dword [rdi + 0x90]
inc dword [rsi + 0x38]
mov edx, dword [rsi + 0x38]
mov dword [r14 + 0x34], edx
movsxd rcx, dword [rdi + 0x90]
lea r15d, [r13 + 1]
cmp dword [rdi + 0x94], ecx
jg 0x14009dc47
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, edx
mov rcx, rdi
lea edx, [r9 + 0xb]
call fcn.140035ae0
jmp 0x14009dc74
test dword [r12 + 4], 0x10000000
jne 0x14009dd8b
test byte [r14 + 0x3c], 0x22
lea rax, [r14 + 0x3c]
jne 0x14009dd8b
test r15d, r15d
je 0x14009dbc5
sub rax, 0x68
dec r15d
cmp qword [rax - 0x14], 0
jne 0x14009dc38
test byte [rax], 0x22
je 0x14009dc20
mov r8d, dword [rsp + 0x44]
mov r13, qword [rsp + 0x68]
jmp 0x14009dd93
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0xb
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], rbx
mov eax, dword [r14 + 0x34]
lea r8, str.CO_ROUTINE___S
mov r9, r14
mov dword [rbp + 0x6c], eax
mov edx, 1
mov dword [r14 + 0x30], r15d
mov rcx, rsi
mov byte [rbp + 0x68], 0xd
mov qword [rbp + 0x70], 0
mov qword [rbp + 0x80], rbx
mov dword [rbp + 0x78], ebx
call fcn.140036050
mov r15, qword [rsp + 0x60]
lea r8, [rbp + 0x68]
mov rdx, r15
mov rcx, rsi
call fcn.14009d160
movzx eax, word [r15 + 2]
mov rcx, qword [r14 + 0x20]
mov word [rcx + 0x3a], ax
or dword [r14 + 0x40], 0x20
mov eax, dword [rbp + 0x74]
mov edx, dword [r14 + 0x34]
mov dword [r14 + 0x38], eax
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14009dd04
xor r9d, r9d
mov dword [rsp + 0x20], ebx
mov r8d, edx
mov rcx, rdi
lea edx, [r9 + 0x44]
call fcn.140035ae0
jmp 0x14009dd31
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x44
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rbx
mov rax, qword [rdi + 0x18]
mov byte [rax + 0x1f], 0
mov rax, qword [rdi + 0x18]
mov dword [rax + 0x28], ebx
mov rax, qword [rdi]
mov edx, dword [rdi + 0x90]
cmp byte [rax + 0x67], 0
je 0x14009dd65
lea rax, [0x14014ae80]
mov dword [rax + 8], edx
mov byte [rsi + 0x1f], 0
mov dword [rsi + 0x28], ebx
jmp 0x14009e193
mov rax, qword [rdi + 0x88]
lea rcx, [r13*2]
add rcx, r13
mov dword [rax + rcx*8 + 8], edx
mov byte [rsi + 0x1f], 0
lea rax, [rax + rcx*8]
mov dword [rsi + 0x28], ebx
jmp 0x14009e193
mov r13, qword [rsp + 0x68]
mov r8d, r15d
cmp dword [rbp - 0x50], 0
je 0x14009de86
mov r15, qword [r14 + 0x60]
mov edx, dword [r15 + 4]
test edx, edx
jle 0x14009de86
movsxd rcx, dword [rdi + 0x90]
mov r8d, dword [r15 + 8]
cmp dword [rdi + 0x94], ecx
jg 0x14009ddd6
mov r9d, edx
mov dword [rsp + 0x20], ebx
mov edx, 0xa
mov rcx, rdi
call fcn.140035ae0
jmp 0x14009de03
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0xa
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbx
mov edx, dword [r15 + 0xc]
mov r8d, dword [r14 + 0x44]
cmp r8d, edx
je 0x14009de73
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14009de46
mov r9d, edx
mov dword [rsp + 0x20], ebx
mov edx, 0x73
mov rcx, rdi
call fcn.140035ae0
mov rdx, qword [rsp + 0x60]
movzx eax, word [r15 + 0x10]
mov word [rdx + 2], ax
jmp 0x14009e193
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 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], ebx
mov qword [rax + rcx*8 + 0x10], rbx
mov rdx, qword [rsp + 0x60]
movzx eax, word [r15 + 0x10]
mov word [rdx + 2], ax
jmp 0x14009e193
mov r9d, r8d
mov rdx, r14
xor r8d, r8d
mov rcx, r13
call fcn.14009cb20
mov r15, rax
test rax, rax
je 0x14009df70
mov edx, dword [rax + 0x30]
test edx, edx
je 0x14009df00
movsxd rcx, dword [rdi + 0x90]
mov r8d, dword [rax + 0x34]
cmp dword [rdi + 0x94], ecx
jg 0x14009ded3
mov r9d, edx
mov dword [rsp + 0x20], ebx
mov edx, 0xa
mov rcx, rdi
call fcn.140035ae0
jmp 0x14009df00
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0xa
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbx
movsxd rcx, dword [rdi + 0x90]
mov edx, dword [r15 + 0x44]
mov r8d, dword [r14 + 0x44]
cmp dword [rdi + 0x94], ecx
jg 0x14009df2d
mov r9d, edx
mov dword [rsp + 0x20], ebx
mov edx, 0x73
mov rcx, rdi
call fcn.140035ae0
jmp 0x14009df5a
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 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], ebx
mov qword [rax + rcx*8 + 0x10], rbx
mov rax, qword [r15 + 0x28]
mov rdx, qword [rsp + 0x60]
movzx ecx, word [rax + 2]
mov word [rdx + 2], cx
jmp 0x14009e193
inc dword [rsi + 0x38]
mov r15d, ebx
mov eax, dword [rsi + 0x38]
mov dword [r14 + 0x34], eax
movsxd r13, dword [rdi + 0x90]
cmp dword [rdi + 0x94], r13d
jg 0x14009dfa8
xor r9d, r9d
mov dword [rsp + 0x20], ebx
xor r8d, r8d
mov rcx, rdi
lea edx, [r9 + 9]
call fcn.140035ae0
mov r13d, eax
jmp 0x14009dfda
lea eax, [r13 + 1]
mov dword [rdi + 0x90], eax
lea rcx, [r13*2]
mov rax, qword [rdi + 0x88]
add rcx, r13
mov qword [rax + rcx*8], 9
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rbx
or dword [r14 + 0x40], 0x10
lea eax, [r13 + 1]
test byte [r14 + 0x40], 8
mov dword [r14 + 0x30], eax
jne 0x14009e044
movsxd r15, dword [rdi + 0x90]
cmp dword [rdi + 0x94], r15d
jg 0x14009e019
xor r9d, r9d
mov dword [rsp + 0x20], ebx
xor r8d, r8d
mov rcx, rdi
lea edx, [r9 + 0xf]
call fcn.140035ae0
mov r15d, eax
jmp 0x14009e044
lea rcx, [r15 + r15*2]
lea eax, [r15 + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0xf
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rbx
mov eax, dword [r14 + 0x44]
lea r8, str.MATERIALIZE___S
mov r9, r14
mov dword [rbp + 0x6c], eax
mov edx, 1
mov byte [rbp + 0x68], 0xc
mov rcx, rsi
mov qword [rbp + 0x70], 0
mov qword [rbp + 0x80], rbx
mov dword [rbp + 0x78], ebx
call fcn.140036050
mov rdx, qword [rsp + 0x60]
lea r8, [rbp + 0x68]
mov rcx, rsi
call fcn.14009d160
mov r9, qword [rsp + 0x60]
mov rcx, qword [r14 + 0x20]
movzx eax, word [r9 + 2]
mov word [rcx + 0x3a], ax
test r15d, r15d
je 0x14009e0cd
mov rax, qword [rdi]
mov edx, dword [rdi + 0x90]
cmp byte [rax + 0x67], 0
je 0x14009e0b8
lea rax, [0x14014ae80]
jmp 0x14009e0ca
movsxd rax, r15d
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
movsxd rcx, dword [rdi + 0x90]
mov r8d, dword [r14 + 0x34]
cmp dword [rdi + 0x94], ecx
jg 0x14009e0fc
lea r9d, [r13 + 1]
mov dword [rsp + 0x20], ebx
mov edx, 0x43
mov rcx, rdi
call fcn.140035ae0
mov r9, qword [rsp + 0x60]
jmp 0x14009e12d
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
lea edx, [r13 + 1]
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], ebx
mov qword [rax + rcx*8 + 0x10], rbx
mov rax, qword [rdi]
mov edx, dword [rdi + 0x90]
cmp byte [rax + 0x67], 0
je 0x14009e145
lea rax, [0x14014ae80]
jmp 0x14009e157
movsxd rax, r13d
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov byte [rsi + 0x1f], 0
mov dword [rsi + 0x28], ebx
mov eax, dword [r14 + 0x40]
and eax, 0x108
cmp eax, 0x100
jne 0x14009e193
mov eax, dword [r14 + 0x30]
mov rcx, qword [r14 + 0x60]
mov dword [rcx + 4], eax
mov eax, dword [r14 + 0x34]
mov dword [rcx + 8], eax
mov eax, dword [r14 + 0x44]
mov dword [rcx + 0xc], eax
movzx eax, word [r9 + 2]
mov word [rcx + 0x10], ax
mov r11, qword [rsp + 0x50]
cmp byte [r11 + 0x67], 0
jne 0x1400a057f
mov rcx, r12
call fcn.14004fa60
sub dword [rsi + 0x134], eax
mov r15d, 1
mov rax, qword [rsp + 0x78]
mov r11d, dword [rsp + 0x44]
mov r13, qword [rsp + 0x68]
mov qword [rsi + 0x170], rax
mov rax, qword [rbp - 0x68]
lea r9, [0x140121ec0]
inc rax
inc r11d
mov dword [rsp + 0x44], r11d
mov qword [rbp - 0x68], rax
cmp r11d, dword [r13]
jl 0x14009d8d0
mov rax, qword [r12 + 0x30]
mov ecx, dword [r12 + 4]
mov r9, qword [r12 + 0x20]
mov qword [rbp - 0x50], rax
mov rax, qword [r12 + 0x38]
mov qword [rsp + 0x60], rax
mov rax, qword [r12 + 0x40]
mov qword [rbp - 0x68], rax
movzx eax, byte [r12 + 4]
and al, 1
mov qword [rbp - 0x48], r9
mov byte [rbp - 8], al
mov eax, ecx
and al, 9
cmp al, 1
jne 0x14009e2e8
mov rdx, qword [rbp + 0x38]
mov qword [rsp + 0x78], rdx
test rdx, rdx
jne 0x14009e24b
test r9, r9
jne 0x14009e2e8
jmp 0x14009e2b4
test r9, r9
je 0x14009e2e8
mov rax, qword [rbp + 0x38]
mov r8d, dword [rax]
cmp r8d, dword [r9]
jne 0x14009e2e8
mov r13d, ebx
test r8d, r8d
jle 0x14009e2b4
lea r14, [rdx + 8]
lea r15, [r9 + 8]
movzx eax, byte [r15 + 0x10]
cmp byte [r14 + 0x10], al
jne 0x14009e2e8
mov r8, qword [r15]
mov r9d, 0xffffffff
mov rdx, qword [r14]
xor ecx, ecx
call fcn.14005a2a0
test eax, eax
jne 0x14009e2e8
mov rax, qword [rsp + 0x78]
inc r13d
add r15, 0x20
add r14, 0x20
cmp r13d, dword [rax]
jl 0x14009e274
mov ecx, dword [r12 + 4]
mov r9, qword [rbp - 0x48]
cmp qword [r12 + 0x70], 0
jne 0x14009e2e8
and ecx, 0xfffffffe
xor r8d, r8d
mov dword [r12 + 4], ecx
mov rdx, r9
mov rcx, qword [rsp + 0x50]
call fcn.140051060
or dword [r12 + 4], 8
mov qword [rsp + 0x60], rax
mov qword [r12 + 0x38], rax
mov byte [rbp - 8], 2
mov rcx, qword [rbp + 0x38]
mov r13, qword [rbp - 0x48]
test rcx, rcx
je 0x14009e39a
mov r9d, dword [r13]
mov rdx, rcx
mov rcx, rsi
xor r8d, r8d
call fcn.140092620
mov r8d, dword [rsi + 0x34]
mov r15, rax
mov dword [rbp + 0x44], r8d
lea ecx, [r8 + 1]
mov dword [rsi + 0x34], ecx
mov rcx, qword [rbp + 0x38]
mov r9d, dword [r13]
movsxd r14, dword [rdi + 0x90]
inc r9d
add r9d, dword [rcx]
cmp dword [rdi + 0x94], r14d
jg 0x14009e351
mov edx, 0x76
mov dword [rsp + 0x20], ebx
mov rcx, rdi
call fcn.140035ae0
mov r14d, eax
jmp 0x14009e380
lea rcx, [r14 + r14*2]
lea eax, [r14 + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 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], ebx
mov qword [rax + rcx*8 + 0x10], rbx
mov r9d, 0xfffffff8
mov r8, r15
mov edx, r14d
mov rcx, rdi
call fcn.140036b70
mov dword [rbp + 0x50], r14d
jmp 0x14009e3a1
mov dword [rbp + 0x50], 0xffffffff
mov rax, qword [rbp - 0x38]
cmp byte [rax], 0xc
jne 0x14009e499
movsxd rcx, dword [rdi + 0x90]
mov edx, dword [r13]
mov r8d, dword [rax + 4]
cmp dword [rdi + 0x94], ecx
jg 0x14009e3db
mov r9d, edx
mov dword [rsp + 0x20], ebx
mov edx, 0x76
mov rcx, rdi
call fcn.140035ae0
jmp 0x14009e408
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 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], ebx
mov qword [rax + rcx*8 + 0x10], rbx
test dword [r12 + 4], 0x800
je 0x14009e499
mov ecx, dword [r13]
lea eax, [rcx - 1]
movsxd r15, eax
test eax, eax
jle 0x14009e477
mov r12, qword [rsp + 0x50]
mov r14, r15
shl r14, 5
test byte [r14 + r13 + 0x1c], 0x40
jne 0x14009e473
mov rdx, qword [r14 + r13 + 8]
test rdx, rdx
je 0x14009e44b
mov rcx, r12
call fcn.140050850
mov rdx, qword [r14 + r13 + 0x10]
test rdx, rdx
je 0x14009e45d
mov rcx, r12
call fcn.140008200
mov ecx, dword [r13]
dec r15
dec ecx
sub r14, 0x20
mov dword [r13], ecx
test r15, r15
jg 0x14009e431
mov r12, qword [rbp - 0x30]
mov edx, ebx
test ecx, ecx
jle 0x14009e499
lea rcx, [r13 + 8]
test byte [rcx + 0x14], 0x40
jne 0x14009e48d
mov rax, qword [rcx]
mov byte [rax], 0x79
inc edx
add rcx, 0x20
cmp edx, dword [r13]
jl 0x14009e481
mov eax, dword [rsi + 0x44]
mov r13d, 0x4000
dec eax
mov dword [rsi + 0x44], eax
mov dword [rbp - 0x20], eax
test dword [r12 + 4], r13d
jne 0x14009e4bc
mov ecx, 0x140
mov word [r12 + 2], cx
cmp qword [r12 + 0x60], 0
je 0x14009e4d2
mov r8d, eax
mov rdx, r12
mov rcx, rsi
call fcn.140094290
cmp dword [r12 + 8], 0
jne 0x14009e50c
cmp dword [rbp + 0x50], 0
jl 0x14009e50c
mov rax, qword [rdi]
cmp byte [rax + 0x67], 0
je 0x14009e4f2
lea rax, [0x14014ae80]
jmp 0x14009e505
movsxd rax, dword [rbp + 0x50]
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rax, [rax + rcx*8]
mov byte [rax], 0x77
or byte [rbp + 0x5c], 1
test byte [r12 + 4], 1
je 0x14009e5d3
mov eax, dword [rsi + 0x34]
xor r9d, r9d
mov dword [rbp - 4], eax
xor r8d, r8d
inc eax
mov rcx, rsi
mov dword [rsi + 0x34], eax
mov rdx, qword [r12 + 0x20]
call fcn.140092620
movsxd r14, dword [rdi + 0x90]
mov r15, rax
mov edx, dword [rbp - 4]
cmp dword [rdi + 0x94], r14d
jg 0x14009e567
xor r9d, r9d
mov dword [rsp + 0x20], ebx
mov r8d, edx
mov rcx, rdi
lea edx, [r9 + 0x76]
call fcn.140035ae0
mov r14d, eax
jmp 0x14009e595
lea rcx, [r14 + r14*2]
lea eax, [r14 + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x76
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rbx
mov r9d, 0xfffffff8
mov r8, r15
mov edx, r14d
mov rcx, rdi
call fcn.140036b70
mov dword [rbp], r14d
movsxd rax, dword [rdi + 0x90]
test eax, eax
jle 0x14009e5cd
lea rcx, [rax + rax*2]
mov edx, 8
mov rax, qword [rdi + 0x88]
mov word [rax + rcx*8 - 0x16], dx
mov byte [rbp - 7], 3
jmp 0x14009e5d7
mov byte [rbp - 7], 0
cmp dword [rsp + 0x58], 0
mov r15, qword [rsp + 0x60]
jne 0x14009e8ea
test r15, r15
jne 0x14009e8ea
movzx eax, byte [rbp - 8]
mov r15, qword [r12 + 0x70]
neg al
movzx eax, word [r12 + 4]
sbb r14w, r14w
and ax, r13w
and r14w, 0x100
or r14w, ax
test r15, r15
je 0x14009e623
mov rdx, r12
mov rcx, rsi
call fcn.1400c38a0
movsx eax, word [r12 + 2]
mov rcx, rsi
mov r9, qword [rbp + 0x38]
mov r8, qword [rbp - 0x50]
mov rdx, qword [rsp + 0x68]
mov dword [rsp + 0x38], eax
mov rax, qword [r12 + 0x20]
mov word [rsp + 0x30], r14w
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rax
call fcn.1400bef30
mov r14, rax
test rax, rax
je 0x14009d6e8
movzx eax, word [rax + 0x48]
cmp ax, word [r12 + 2]
jge 0x14009e675
mov word [r12 + 2], ax
cmp byte [rbp - 8], 0
je 0x14009e68c
movzx ecx, byte [r14 + 0x43]
movzx eax, byte [rbp - 7]
test cl, cl
cmovne eax, ecx
mov byte [rbp - 7], al
mov rdx, qword [rbp + 0x38]
test rdx, rdx
je 0x14009e6e9
movsx eax, byte [r14 + 0x41]
test al, al
jns 0x14009e6a6
mov r8d, ebx
mov dword [rbp + 0x40], ebx
jmp 0x14009e6ac
mov r8d, eax
mov dword [rbp + 0x40], eax
test byte [r14 + 0x44], 4
jne 0x14009e6b9
mov eax, dword [r14 + 0x30]
jmp 0x14009e6db
movzx eax, byte [r14 + 0x40]
imul rcx, rax, 0x70
cmp qword [rcx + r14 + 0x328], 0
je 0x14009e6d3
mov eax, dword [r14 + 0x30]
jmp 0x14009e6db
mov eax, dword [rcx + r14 + 0x300]
mov dword [rbp + 0x58], eax
cmp r8d, dword [rdx]
cmove rdx, rbx
mov qword [rbp + 0x38], rdx
mov eax, dword [rbp + 0x50]
test eax, eax
js 0x14009e6ff
test rdx, rdx
jne 0x14009e6ff
mov edx, eax
mov rcx, rdi
call fcn.140036840
mov rdx, r12
test r15, r15
je 0x14009e8a5
mov r15d, dword [rsi + 0x44]
mov r8, r14
inc dword [rsi + 0x38]
mov ecx, dword [rsi + 0x38]
mov r9d, ecx
mov dword [rsp + 0x58], ecx
mov rcx, rsi
lea eax, [r15 - 1]
sub r15d, 2
mov dword [rbp - 0x50], eax
mov dword [rsp + 0x20], eax
lea r13d, [r15 - 1]
mov dword [rsi + 0x44], r13d
call fcn.1400c78a0
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14009e765
xor r8d, r8d
mov dword [rsp + 0x20], ebx
mov r9d, r13d
mov rcx, rdi
lea edx, [r8 + 9]
call fcn.140035ae0
jmp 0x14009e78f
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbx
mov r9, qword [rdi + 0x18]
lea r14, [rdi + 0x18]
mov ecx, dword [rbp - 0x50]
not ecx
mov eax, dword [r9 + 0x48]
add eax, dword [r9 + 0x44]
jns 0x14009e7b6
mov r8d, ecx
mov rdx, rdi
mov rcx, r9
call fcn.140036270
jmp 0x14009e7c6
mov eax, dword [rdi + 0x90]
movsxd rdx, ecx
mov rcx, qword [r9 + 0x50]
mov dword [rcx + rdx*4], eax
mov rax, qword [rbp - 0x38]
lea r9, [rbp + 0x38]
mov dword [rsp + 0x38], r13d
mov r8d, 0xffffffff
mov dword [rsp + 0x30], r15d
mov rdx, r12
mov qword [rsp + 0x28], rax
mov rcx, rsi
lea rax, [rbp - 8]
mov dword [rbp + 0x58], ebx
mov qword [rsp + 0x20], rax
call fcn.140091390
mov rcx, qword [r14]
not r15d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14009e815
mov r8d, r15d
mov rdx, rdi
call fcn.140036270
jmp 0x14009e825
mov rcx, qword [rcx + 0x50]
mov eax, dword [rdi + 0x90]
movsxd rdx, r15d
mov dword [rcx + rdx*4], eax
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14009e84e
mov r8d, dword [rsp + 0x58]
xor r9d, r9d
mov rcx, rdi
mov dword [rsp + 0x20], ebx
lea edx, [r9 + 0x43]
call fcn.140035ae0
jmp 0x14009e87f
mov edx, dword [rsp + 0x58]
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 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], rbx
mov rcx, qword [r14]
not r13d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14009e89d
mov r8d, r13d
mov rdx, rdi
call fcn.140036270
jmp 0x1400a04cd
movsxd rdx, r13d
jmp 0x1400a04c0
mov eax, dword [r14 + 0x34]
lea r9, [rbp + 0x38]
mov dword [rsp + 0x38], eax
mov r8d, 0xffffffff
mov eax, dword [r14 + 0x30]
mov rcx, rsi
mov dword [rsp + 0x30], eax
mov rax, qword [rbp - 0x38]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 8]
mov qword [rsp + 0x20], rax
call fcn.140091390
mov rcx, r14
call fcn.1400bff90
lea r14, [rdi + 0x18]
jmp 0x1400a04cd
mov dword [rsp + 0x48], ebx
mov dword [rsp + 0x70], ebx
mov dword [rbp - 0x80], ebx
test r15, r15
je 0x14009ea57
mov rcx, qword [r12 + 0x20]
mov eax, dword [rcx]
test eax, eax
jle 0x14009e91d
add rcx, 0x22
nop dword [rax]
dec eax
mov word [rcx], bx
lea rcx, [rcx + 0x20]
test eax, eax
jg 0x14009e910
mov eax, dword [r15]
lea r13, [r15 + 8]
test eax, eax
jle 0x14009e93d
lea rcx, [r13 + 0x1a]
nop dword [rax]
dec eax
mov word [rcx], bx
lea rcx, [rcx + 0x20]
test eax, eax
jg 0x14009e930
cmp word [r12 + 2], 0x42
jle 0x14009e951
mov eax, 0x42
mov word [r12 + 2], ax
mov rcx, qword [rbp + 0x38]
test rcx, rcx
je 0x14009ea04
mov eax, dword [r15]
cmp eax, dword [rcx]
jne 0x14009ea04
mov r8d, ebx
test eax, eax
jle 0x14009e9a0
mov rdx, rbx
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbp + 0x38]
lea rdx, [rdx + 0x20]
inc r8d
movzx ecx, byte [rdx + rax - 8]
and cl, 1
mov byte [r15 + rdx - 8], cl
mov eax, dword [r15]
cmp r8d, eax
jl 0x14009e980
mov rcx, qword [rbp + 0x38]
test rcx, rcx
je 0x14009ea04
cmp eax, dword [rcx]
jne 0x14009ea04
mov r15d, ebx
test eax, eax
jle 0x14009e9f8
lea r14, [rcx + 8]
nop dword [rax + rax]
movzx eax, byte [r14 + 0x10]
cmp byte [r13 + 0x10], al
jne 0x14009e9ff
mov r8, qword [r14]
mov r9d, 0xffffffff
mov rdx, qword [r13]
xor ecx, ecx
call fcn.14005a2a0
test eax, eax
jne 0x14009e9ff
mov rax, qword [rsp + 0x60]
inc r15d
add r14, 0x20
add r13, 0x20
cmp r15d, dword [rax]
jl 0x14009e9c0
mov dword [rbp - 0x80], 1
mov r15, qword [rsp + 0x60]
dec dword [rsi + 0x44]
mov edx, 0x38
mov eax, dword [rsi + 0x44]
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x74], eax
call fcn.140008700
mov qword [rbp - 0x70], rax
mov r13, rax
test rax, rax
je 0x14009eac3
xorps xmm0, xmm0
xor eax, eax
movups xmmword [r13], xmm0
movups xmmword [r13 + 0x10], xmm0
movups xmmword [r13 + 0x20], xmm0
mov qword [r13 + 0x30], rax
mov rcx, qword [rsi]
test rcx, rcx
je 0x14009ea5f
lea edx, [rax + 0x18]
call fcn.140008700
jmp 0x14009ea69
mov word [r12 + 2], bx
jmp 0x14009ea04
mov ecx, 0x18
call fcn.140007f30
mov rcx, rax
test rax, rax
je 0x14009ea93
mov rax, qword [rsi + 0xc0]
mov qword [rcx], rax
lea rax, [0x14009cc40]
mov qword [rsi + 0xc0], rcx
mov qword [rcx + 0x10], rax
mov qword [rcx + 8], r13
jmp 0x14009eac3
mov rdx, qword [r13 + 0x18]
mov r14, qword [rsi]
test rdx, rdx
je 0x14009eaa7
mov rcx, r14
call fcn.140008200
mov rdx, qword [r13 + 0x28]
test rdx, rdx
je 0x14009eab8
mov rcx, r14
call fcn.140008200
mov rdx, r13
mov rcx, r14
call fcn.140008200
mov r11, qword [rsp + 0x50]
cmp byte [r11 + 0x67], 0
jne 0x1400a057f
mov eax, dword [r12 + 0x10]
xorps xmm0, xmm0
mov dword [r13 + 0x34], eax
xorps xmm1, xmm1
mov rax, qword [rsp + 0x68]
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x68], rsi
mov qword [rbp + 0x78], r13
movdqu xmmword [rbp + 0x80], xmm0
movdqu xmmword [rbp + 0x90], xmm1
test r15, r15
je 0x14009eb0d
mov eax, dword [r15]
jmp 0x14009eb0f
mov eax, ebx
mov word [r13 + 2], ax
mov rax, qword [rbp - 0x48]
mov qword [r13 + 0x10], r15
test rax, rax
je 0x14009eb98
cmp dword [rax], 0
lea r14, [rax + 8]
mov r15d, ebx
jle 0x14009eb98
lea r12, [0x14005b1b0]
lea r13, [0x14004ad90]
lea rsi, [0x14004ada0]
nop dword [rax]
nop word [rax + rax]
mov rdx, qword [r14]
lea rcx, [rbp + 0x68]
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x18], r13
mov qword [rbp + 0x20], rsi
mov dword [rbp + 0x28], ebx
mov qword [rbp + 0x30], rcx
mov qword [rbp + 8], rbx
test rdx, rdx
je 0x14009eb80
lea rcx, [rbp + 8]
call fcn.14004a980
mov rax, qword [rbp - 0x48]
inc r15d
add r14, 0x20
cmp r15d, dword [rax]
jl 0x14009eb50
mov rsi, qword [rbp - 0x28]
mov r12, qword [rbp - 0x30]
mov r13, qword [rbp - 0x70]
mov rax, qword [rbp + 0x38]
mov qword [rsp + 0x78], rax
test rax, rax
je 0x14009ec19
cmp dword [rax], 0
lea r14, [rax + 8]
mov r15d, ebx
jle 0x14009ec19
lea r12, [0x14005b1b0]
lea r13, [0x14004ad90]
lea rsi, [0x14004ada0]
nop word [rax + rax]
mov rdx, qword [r14]
lea rcx, [rbp + 0x68]
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x18], r13
mov qword [rbp + 0x20], rsi
mov dword [rbp + 0x28], ebx
mov qword [rbp + 0x30], rcx
mov qword [rbp + 8], rbx
test rdx, rdx
je 0x14009ec01
lea rcx, [rbp + 8]
call fcn.14004a980
mov rax, qword [rsp + 0x78]
inc r15d
add r14, 0x20
cmp r15d, dword [rax]
jl 0x14009ebd0
mov rsi, qword [rbp - 0x28]
mov r12, qword [rbp - 0x30]
mov r13, qword [rbp - 0x70]
mov rcx, qword [rbp - 0x68]
mov r14, qword [rsp + 0x60]
test rcx, rcx
je 0x14009ecab
test r14, r14
je 0x14009ec6f
mov rdx, qword [r12 + 0x40]
lea rax, [0x14009c8f0]
mov qword [rbp + 0x28], rbx
xorps xmm0, xmm0
mov qword [rbp + 8], rsi
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x30], r12
movdqu xmmword [rbp + 0x18], xmm0
test rdx, rdx
je 0x14009ec66
lea rcx, [rbp + 8]
call fcn.14004a980
mov rcx, qword [rbp - 0x68]
mov rax, qword [r12 + 0x30]
mov qword [rbp - 0x50], rax
lea rax, [0x14005b1b0]
mov dword [rbp + 0x28], ebx
mov qword [rbp + 0x10], rax
mov rdx, rcx
lea rax, [0x14004ad90]
mov qword [rbp + 8], rbx
mov qword [rbp + 0x18], rax
lea rcx, [rbp + 8]
lea rax, [0x14004ada0]
mov qword [rbp + 0x20], rax
lea rax, [rbp + 0x68]
mov qword [rbp + 0x30], rax
call fcn.14004a980
mov eax, dword [r13 + 0x20]
mov dword [r13 + 0x24], eax
cmp qword [r12 + 0x38], 0
jne 0x14009ece5
cmp qword [r12 + 0x40], 0
jne 0x14009ece5
cmp dword [r13 + 0x30], 1
jne 0x14009ece5
mov rdx, qword [r13 + 0x28]
lea r8, [rbp - 0x18]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rdx]
call fcn.1400999c0
mov byte [rsp + 0x44], al
jmp 0x14009ecea
mov byte [rsp + 0x44], 0
lea rdx, [rbp + 0x68]
mov rcx, r13
call fcn.14009bec0
mov r11, qword [rsp + 0x50]
cmp byte [r11 + 0x67], 0
jne 0x1400a057f
test r14, r14
je 0x14009fe18
cmp dword [r13 + 0x30], 1
mov r15, rbx
mov qword [rbp - 0x70], rbx
mov word [rsp + 0x44], bx
jne 0x14009ee0e
mov rax, qword [r13 + 0x28]
cmp dword [rax + 0x10], 0
jl 0x14009ee0e
mov rax, qword [rax]
test rax, rax
je 0x14009ee0e
test dword [rax + 4], 0x1000
jne 0x14009ee0e
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x14009ee0e
mov rdx, qword [rcx + 8]
test rdx, rdx
je 0x14009ed7b
xor r9d, r9d
xor r8d, r8d
mov rcx, r11
call fcn.140050b60
mov r11, qword [rsp + 0x50]
mov r14, rax
jmp 0x14009ed7e
mov r14, rbx
mov rdx, qword [rsp + 0x60]
xor r8d, r8d
mov rcx, r11
call fcn.140051060
mov qword [rbp - 0x70], rax
mov r15, rax
test rax, rax
jne 0x14009edae
mov rcx, qword [rsi]
mov rdx, r14
call fcn.140051c20
mov r15, rax
mov qword [rbp - 0x70], rax
jmp 0x14009edf7
movsxd rax, dword [rax]
lea ecx, [rax + 1]
cmp dword [r15 + 4], ecx
jge 0x14009edd1
mov rcx, qword [rsi]
mov r8, r14
mov rdx, r15
call fcn.140051d00
mov r15, rax
mov qword [rbp - 0x70], rax
jmp 0x14009edf7
movups xmm0, xmmword [0x140122df0]
shl rax, 5
movups xmm1, xmmword [0x140122e00]
mov dword [r15], ecx
movups xmmword [rax + r15 + 8], xmm0
movups xmmword [rax + r15 + 0x18], xmm1
mov qword [rax + r15 + 8], r14
mov r14, qword [rsp + 0x60]
mov rax, r15
neg rax
sbb ax, ax
and ax, 0x500
mov word [rsp + 0x44], ax
mov eax, dword [rsi + 0x34]
xor r8d, r8d
mov dword [r13 + 4], eax
mov rdx, r14
inc dword [rsi + 0x34]
mov rcx, rsi
mov r9d, dword [r13 + 0x20]
call fcn.140092620
movsxd r10, dword [rdi + 0x90]
mov r14, rax
movzx edx, word [r13 + 2]
mov r8d, dword [r13 + 4]
mov qword [rbp - 0x10], rax
mov dword [rbp - 0x40], r10d
cmp dword [rdi + 0x94], r10d
jg 0x14009ee6a
mov r9d, edx
mov dword [rsp + 0x20], ebx
mov edx, 0x77
mov rcx, rdi
call fcn.140035ae0
mov r10d, eax
mov dword [rbp - 0x40], eax
jmp 0x14009ee98
lea rcx, [r10 + r10*2]
lea eax, [r10 + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 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], ebx
mov qword [rax + rcx*8 + 0x10], rbx
mov r9d, 0xfffffff8
mov r8, r14
mov edx, r10d
mov rcx, rdi
call fcn.140036b70
mov eax, dword [rsi + 0x38]
mov r9, qword [rsp + 0x60]
inc eax
mov dword [rbp - 0x54], eax
lea edx, [rax + 1]
mov eax, dword [rsi + 0x44]
lea ecx, [rdx + 2]
mov dword [rsp + 0x40], edx
mov dword [rsi + 0x38], ecx
lea r8d, [rcx + 1]
dec eax
mov dword [rbp - 0x78], ecx
mov dword [rbp - 0x58], eax
mov dword [rbp - 0x5c], r8d
lea r14d, [rax - 1]
mov dword [rsi + 0x44], r14d
add ecx, dword [r9]
mov dword [rsi + 0x38], ecx
mov dword [rsp + 0x58], r14d
lea eax, [rcx + 1]
add ecx, dword [r9]
mov dword [rsi + 0x38], ecx
movsxd rcx, dword [rdi + 0x90]
mov dword [rbp - 0x60], eax
cmp dword [rdi + 0x94], ecx
jg 0x14009ef28
xor r8d, r8d
mov dword [rsp + 0x20], ebx
mov r9d, edx
mov rcx, rdi
lea edx, [r8 + 0x47]
call fcn.140035ae0
mov r8d, dword [rbp - 0x5c]
mov r9, qword [rsp + 0x60]
jmp 0x14009ef51
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbx
mov edx, dword [r9]
movsxd rcx, dword [rdi + 0x90]
dec edx
add edx, r8d
cmp dword [rdi + 0x94], ecx
jg 0x14009ef80
mov r9d, r8d
mov dword [rsp + 0x20], edx
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 0x4b]
call fcn.140035ae0
jmp 0x14009efaa
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0x4b
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rbx
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14009efd3
mov r8d, dword [rbp - 0x78]
mov r9d, r14d
mov edx, 0xa
mov dword [rsp + 0x20], ebx
mov rcx, rdi
call fcn.140035ae0
jmp 0x14009f003
mov edx, dword [rbp - 0x78]
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0xa
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbx
mov eax, dword [rbp - 0x80]
mov edx, 0x80
mov r9, qword [rsp + 0x60]
neg eax
mov r8, qword [rbp - 0x50]
mov eax, 0x40
sbb cx, cx
mov dword [rsp + 0x38], ebx
and cx, 0x200
cmp byte [rbp - 8], 2
cmove ax, dx
mov rdx, qword [rsp + 0x68]
or cx, ax
or cx, word [rsp + 0x44]
mov word [rsp + 0x30], cx
mov rcx, rsi
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r15
call fcn.1400bef30
mov qword [rbp - 0x28], rax
mov r14, rax
test rax, rax
jne 0x14009f07a
test r15, r15
je 0x14009d6e8
mov rcx, qword [rsp + 0x50]
mov rdx, r15
call fcn.1400522b0
jmp 0x14009d6e8
cmp qword [rsi + 0x60], 0
je 0x14009f0da
cmp word [r13 + 2], 0
mov r9d, dword [r13 + 0x24]
mov dword [r13 + 0x20], r9d
jbe 0x14009f0ce
mov rax, qword [r12 + 0x38]
mov r8d, ebx
mov ecx, dword [rax]
dec ecx
test r9d, r9d
jle 0x14009f0c6
mov rdx, qword [r13 + 0x18]
add rdx, 0x16
nop word [rax + rax]
movsx eax, word [rdx]
lea rdx, [rdx + 0x18]
cmp eax, ecx
cmovle eax, ecx
inc r8d
mov ecx, eax
cmp r8d, r9d
jl 0x14009f0b0
inc cx
mov word [r13 + 2], cx
lea rdx, [rbp + 0x68]
mov rcx, r13
call fcn.14009bec0
mov eax, dword [rsi + 0x38]
mov ecx, ebx
inc eax
mov dword [r13 + 0xc], eax
mov eax, dword [r13 + 0x30]
add eax, dword [r13 + 0x20]
add dword [rsi + 0x38], eax
movzx eax, byte [r14 + 0x43]
movsx edx, byte [r14 + 0x41]
test dl, dl
mov dword [rbp - 0x50], eax
mov rax, qword [rsp + 0x60]
cmovns ecx, edx
cmp ecx, dword [rax]
jne 0x14009f113
mov dword [rbp - 0x7c], ebx
jmp 0x14009f4b3
cmp byte [rbp - 8], 0
je 0x14009f128
test byte [r12 + 4], 1
lea r9, str.DISTINCT
je 0x14009f12f
lea r9, str.GROUP_BY
lea r8, str.USE_TEMP_B_TREE_FOR__s
xor edx, edx
mov rcx, rsi
call fcn.140036050
mov r10, qword [rsp + 0x60]
mov eax, dword [r13 + 0x20]
mov dword [rbp - 0x7c], 1
mov edx, dword [r10]
mov r15d, edx
mov dword [rsp + 0x68], edx
test eax, eax
jle 0x14009f193
mov r8, qword [r13 + 0x18]
mov r9d, eax
add r8, 0x16
nop dword [rax]
movsx ecx, word [r8]
lea eax, [r15 + 1]
cmp ecx, edx
lea r8, [r8 + 0x18]
cmovl eax, r15d
mov r15d, eax
lea eax, [rdx + 1]
cmovl eax, edx
mov edx, eax
sub r9, 1
jne 0x14009f170
cmp r15d, 1
jne 0x14009f1c6
movzx eax, byte [rsi + 0x1f]
lea r14, [rsi + 0x1f]
test al, al
jne 0x14009f1b1
inc dword [rsi + 0x38]
mov eax, dword [rsi + 0x38]
mov dword [rsp + 0x48], eax
jmp 0x14009f1f8
dec al
movzx eax, al
mov byte [r14], al
mov eax, dword [rsi + rax*4 + 0xe0]
mov dword [rsp + 0x48], eax
jmp 0x14009f1f8
mov edx, dword [rsi + 0x28]
mov ecx, dword [rsi + 0x2c]
mov dword [rsp + 0x48], ecx
cmp r15d, edx
jg 0x14009f1e4
lea eax, [rcx + r15]
sub edx, r15d
mov dword [rsi + 0x2c], eax
mov dword [rsi + 0x28], edx
jmp 0x14009f1f4
mov eax, dword [rsi + 0x38]
lea ecx, [rax + 1]
add eax, r15d
mov dword [rsi + 0x38], eax
mov dword [rsp + 0x48], ecx
lea r14, [rsi + 0x1f]
mov r8d, dword [rsp + 0x48]
xor r9d, r9d
mov rdx, r10
mov byte [rsp + 0x20], 0
mov rcx, rsi
call fcn.1400591c0
cmp dword [r13 + 0x20], 0
mov r8d, ebx
mov byte [r13], 1
mov dword [rsp + 0x70], ebx
jle 0x14009f295
mov r12d, dword [rsp + 0x68]
mov rcx, rbx
mov qword [rsp + 0x78], rbx
mov ebx, dword [rsp + 0x48]
nop dword [rax]
nop dword [rax + rax]
mov rdx, qword [r13 + 0x18]
movsx eax, word [rdx + rcx + 0x16]
cmp eax, r12d
jl 0x14009f271
mov rdx, qword [rdx + rcx + 8]
lea r8d, [rbx + r12]
mov rcx, rsi
call fcn.140059000
mov rcx, qword [rsp + 0x78]
inc r12d
mov r8d, dword [rsp + 0x70]
mov rax, r14
jmp 0x14009f275
lea rax, [rsi + 0x1f]
inc r8d
add rcx, 0x18
mov dword [rsp + 0x70], r8d
mov qword [rsp + 0x78], rcx
cmp r8d, dword [r13 + 0x20]
jl 0x14009f240
mov r12, qword [rbp - 0x30]
mov r14, rax
xor ebx, ebx
mov byte [r13], 0
movzx eax, byte [r14]
test al, al
jne 0x14009f2aa
inc dword [rsi + 0x38]
mov edx, dword [rsi + 0x38]
jmp 0x14009f2b9
dec al
movzx eax, al
mov byte [r14], al
mov edx, dword [rsi + rax*4 + 0xe0]
movsxd rcx, dword [rdi + 0x90]
mov r8d, dword [rsp + 0x48]
mov dword [rsp + 0x70], edx
cmp dword [rdi + 0x94], ecx
jg 0x14009f2eb
mov dword [rsp + 0x20], edx
mov r9d, r15d
mov edx, 0x61
mov rcx, rdi
call fcn.140035ae0
mov edx, dword [rsp + 0x70]
jmp 0x14009f319
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x61
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rbx
movsxd rcx, dword [rdi + 0x90]
mov r8d, dword [r13 + 4]
cmp dword [rdi + 0x94], ecx
jg 0x14009f346
mov r9d, edx
mov dword [rsp + 0x20], ebx
mov edx, 0x8b
mov rcx, rdi
call fcn.140035ae0
mov edx, dword [rsp + 0x70]
jmp 0x14009f373
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x8b
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbx
test edx, edx
je 0x14009f389
movzx eax, byte [r14]
cmp al, 8
jae 0x14009f389
mov dword [rsi + rax*4 + 0xe0], edx
inc byte [r14]
cmp r15d, 1
jne 0x14009f3ab
mov ecx, dword [rsp + 0x48]
test ecx, ecx
je 0x14009f3bc
movzx eax, byte [r14]
cmp al, 8
jae 0x14009f3bc
mov dword [rsi + rax*4 + 0xe0], ecx
inc byte [r14]
jmp 0x14009f3bc
cmp r15d, dword [rsi + 0x28]
jle 0x14009f3bc
mov eax, dword [rsp + 0x48]
mov dword [rsi + 0x2c], eax
mov dword [rsi + 0x28], r15d
mov rcx, qword [rbp - 0x28]
call fcn.1400bff90
mov edx, dword [rsi + 0x34]
mov dword [r13 + 8], edx
inc dword [rsi + 0x34]
movzx eax, byte [r14]
mov dword [rsp + 0x48], edx
test al, al
jne 0x14009f3e4
inc dword [rsi + 0x38]
mov r8d, dword [rsi + 0x38]
jmp 0x14009f3f4
dec al
movzx eax, al
mov byte [r14], al
mov r8d, dword [rsi + rax*4 + 0xe0]
movsxd rcx, dword [rdi + 0x90]
mov dword [rsp + 0x70], r8d
cmp dword [rdi + 0x94], ecx
jg 0x14009f422
mov r9d, r8d
mov dword [rsp + 0x20], r15d
mov r8d, edx
mov rcx, rdi
mov edx, 0x79
call fcn.140035ae0
jmp 0x14009f450
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x79
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], rbx
movsxd rcx, dword [rdi + 0x90]
mov edx, dword [r13 + 4]
cmp dword [rdi + 0x94], ecx
jg 0x14009f47e
mov r9d, dword [rsp + 0x74]
mov r8d, edx
mov edx, 0x22
mov dword [rsp + 0x20], ebx
mov rcx, rdi
call fcn.140035ae0
jmp 0x14009f4ae
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x74]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0x22
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbx
mov byte [r13 + 1], 1
cmp qword [rsi + 0x60], 0
je 0x14009f513
cmp dword [r13 + 0x30], 0
lea rax, [0x14009bfd0]
xorps xmm0, xmm0
mov qword [rbp + 0x10], rax
xorps xmm1, xmm1
mov qword [rbp + 8], rbx
movdqu xmmword [rbp + 0x18], xmm0
mov r15d, ebx
movdqu xmmword [rbp + 0x28], xmm1
jle 0x14009f513
mov r14, rbx
nop word [rax + rax]
mov rax, qword [r13 + 0x28]
mov rdx, qword [r14 + rax]
test rdx, rdx
je 0x14009f506
lea rcx, [rbp + 8]
call fcn.14004a980
inc r15d
add r14, 0x18
cmp r15d, dword [r13 + 0x30]
jl 0x14009f4f0
cmp dword [rbp - 0x80], 0
mov r14d, dword [rbp - 0x7c]
je 0x14009f546
mov rax, qword [rsp + 0x50]
test byte [rax + 0x60], 4
jne 0x14009f546
test r14d, r14d
jne 0x14009f537
mov rax, qword [rbp - 0x28]
test byte [rax + 0x44], 8
je 0x14009f546
mov edx, dword [rbp + 0x50]
mov rcx, rdi
mov qword [rbp + 0x38], rbx
call fcn.140036840
movsxd r15, dword [rdi + 0x90]
mov dword [rsp + 0x68], r15d
test r14d, r14d
je 0x14009f581
mov edx, dword [r13 + 4]
cmp dword [rdi + 0x94], r15d
jg 0x14009f5d9
mov eax, dword [rsp + 0x48]
mov r8d, edx
mov r9d, dword [rsp + 0x70]
mov edx, 0x85
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.140035ae0
mov edx, dword [rsp + 0x48]
mov rax, qword [rsp + 0x60]
mov r14d, ebx
cmp dword [rax], 0
jle 0x14009f677
mov r12d, dword [rbp - 0x7c]
lea r15, [rax + 8]
nop
mov r8d, dword [rbp - 0x60]
add r8d, r14d
test r12d, r12d
je 0x14009f645
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14009f615
mov dword [rsp + 0x20], r8d
mov r9d, r14d
mov r8d, edx
mov rcx, rdi
mov edx, 0x5e
call fcn.140035ae0
jmp 0x14009f655
mov r8d, dword [rsp + 0x70]
lea rcx, [r15 + r15*2]
lea eax, [r15 + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x48]
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], rbx
jmp 0x14009f585
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x5e
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], rbx
jmp 0x14009f659
mov byte [r13], 1
mov rcx, rsi
mov rdx, qword [r15]
call fcn.140059000
mov edx, dword [rsp + 0x48]
mov rax, qword [rsp + 0x60]
inc r14d
add r15, 0x20
cmp r14d, dword [rax]
jl 0x14009f5a0
mov r12, qword [rbp - 0x30]
mov r15d, dword [rsp + 0x68]
mov r14, qword [rbp - 0x10]
test r14, r14
je 0x14009f683
inc dword [r14]
movsxd rdx, dword [rdi + 0x90]
mov r8d, dword [rax]
cmp dword [rdi + 0x94], edx
jg 0x14009f6b3
mov r9d, dword [rbp - 0x60]
mov edx, 0x5a
mov dword [rsp + 0x20], r8d
mov rcx, rdi
mov r8d, dword [rbp - 0x5c]
call fcn.140035ae0
mov edx, eax
jmp 0x14009f6ea
mov r9d, dword [rbp - 0x5c]
lea rcx, [rdx + rdx*2]
mov r10d, dword [rbp - 0x60]
lea eax, [rdx + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 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], rbx
mov r9d, 0xfffffff8
mov r8, r14
mov rcx, rdi
call fcn.140036b70
movsxd r14, dword [rdi + 0x90]
lea edx, [r14 + 1]
cmp dword [rdi + 0x94], r14d
jg 0x14009f727
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, edx
mov rcx, rdi
lea edx, [r9 + 0xe]
call fcn.140035ae0
jmp 0x14009f750
mov rax, qword [rdi + 0x88]
lea rcx, [r14 + r14*2]
mov dword [rdi + 0x90], edx
mov dword [rax + rcx*8], 0xe
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rbx
mov r10, qword [rsi + 0x10]
mov rax, qword [rsp + 0x60]
mov r8d, dword [rbp - 0x60]
movsxd rcx, dword [r10 + 0x90]
mov edx, dword [rax]
cmp dword [r10 + 0x94], ecx
jg 0x14009f786
mov r9d, dword [rbp - 0x5c]
mov rcx, r10
mov dword [rsp + 0x20], edx
mov edx, 0x4f
call fcn.140035ae0
jmp 0x14009f7b9
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 [rbp - 0x5c]
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8], 0x4f
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rbx
movsxd rcx, dword [rdi + 0x90]
mov r8d, dword [rsp + 0x40]
cmp dword [rdi + 0x94], ecx
jg 0x14009f7ec
mov r9d, dword [rbp - 0x58]
inc r8d
mov edx, 0xa
mov dword [rsp + 0x20], ebx
mov rcx, rdi
call fcn.140035ae0
mov r8d, dword [rsp + 0x40]
jmp 0x14009f81f
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
lea edx, [r8 + 1]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rbp - 0x58]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0xa
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbx
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14009f846
mov r9d, dword [rsp + 0x74]
mov edx, 0x3b
mov rcx, rdi
mov dword [rsp + 0x20], ebx
call fcn.140035ae0
jmp 0x14009f877
mov edx, dword [rsp + 0x74]
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x3b
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbx
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14009f8a2
mov r9d, dword [rsp + 0x58]
mov edx, 0xa
mov r8d, dword [rbp - 0x78]
mov rcx, rdi
mov dword [rsp + 0x20], ebx
call fcn.140035ae0
jmp 0x14009f8d5
mov edx, dword [rbp - 0x78]
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x58]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0xa
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbx
mov rax, qword [rdi]
mov edx, dword [rdi + 0x90]
cmp byte [rax + 0x67], 0
je 0x14009f8ed
lea rax, [0x14014ae80]
jmp 0x14009f8fc
mov rax, qword [rdi + 0x88]
lea rcx, [r14 + r14*2]
lea rax, [rax + rcx*8]
mov r14d, dword [rbp - 0x54]
mov r8, r13
mov r9d, dword [rbp - 0x50]
mov rcx, rsi
mov dword [rax + 8], edx
mov edx, r14d
call fcn.14009c310
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14009f93e
mov edx, 0x47
mov dword [rsp + 0x20], ebx
mov r9d, r14d
mov rcx, rdi
lea r8d, [rdx - 0x46]
call fcn.140035ae0
jmp 0x14009f96f
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 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], ebx
mov qword [rax + rcx*8 + 0x10], rbx
cmp dword [rbp - 0x7c], 0
je 0x14009f9d0
movsxd rcx, dword [rdi + 0x90]
mov edx, dword [r13 + 4]
cmp dword [rdi + 0x94], ecx
jg 0x14009f9a1
mov r8d, edx
mov dword [rsp + 0x20], ebx
mov edx, 0x25
mov r9d, r15d
mov rcx, rdi
call fcn.140035ae0
jmp 0x14009f9e4
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x25
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbx
jmp 0x14009f9e4
mov rcx, qword [rbp - 0x28]
call fcn.1400bff90
mov edx, dword [rbp - 0x40]
mov rcx, rdi
call fcn.140036840
mov rdx, qword [rbp - 0x70]
test rdx, rdx
je 0x14009f9f7
mov rcx, qword [rsp + 0x50]
call fcn.1400522b0
mov r14d, dword [rsp + 0x40]
movsxd rcx, dword [rdi + 0x90]
inc r14d
cmp dword [rdi + 0x94], ecx
jg 0x14009fa28
mov r9d, dword [rbp - 0x58]
mov r8d, r14d
mov edx, 0xa
mov dword [rsp + 0x20], ebx
mov rcx, rdi
call fcn.140035ae0
jmp 0x14009fa58
mov edx, dword [rbp - 0x58]
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0xa
mov dword [rax + rcx*8 + 4], r14d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbx
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14009fa81
mov r9d, dword [rsp + 0x74]
xor r8d, r8d
mov rcx, rdi
mov dword [rsp + 0x20], ebx
lea edx, [r8 + 9]
call fcn.140035ae0
jmp 0x14009faae
mov edx, dword [rsp + 0x74]
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbx
movsxd r15, dword [rdi + 0x90]
cmp dword [rdi + 0x94], r15d
jg 0x14009fada
mov r9d, dword [rsp + 0x40]
mov edx, 0x47
mov rcx, rdi
mov dword [rsp + 0x20], ebx
lea r8d, [rdx - 0x46]
call fcn.140035ae0
jmp 0x14009fb0f
mov edx, dword [rsp + 0x40]
lea rcx, [r15 + r15*2]
lea eax, [r15 + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 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], ebx
mov qword [rax + rcx*8 + 0x10], rbx
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14009fb36
xor r9d, r9d
mov dword [rsp + 0x20], ebx
mov r8d, r14d
mov rcx, rdi
lea edx, [r9 + 0x43]
call fcn.140035ae0
jmp 0x14009fb64
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], r14d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rbx
mov rcx, qword [rdi + 0x18]
lea r14, [rdi + 0x18]
mov edx, dword [rbp - 0x58]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14009fb86
mov r8d, edx
mov rdx, rdi
call fcn.140036270
jmp 0x14009fb96
mov rcx, qword [rcx + 0x50]
mov eax, dword [rdi + 0x90]
movsxd rdx, edx
mov dword [rcx + rdx*4], eax
movsxd rax, dword [rdi + 0x90]
mov r8d, dword [rbp - 0x54]
lea ecx, [rax + 1]
lea edx, [rax + 2]
mov dword [rbp - 0x40], ecx
cmp dword [rdi + 0x94], eax
jg 0x14009fbc8
mov r9d, edx
mov dword [rsp + 0x20], ebx
mov edx, 0x3b
mov rcx, rdi
call fcn.140035ae0
jmp 0x14009fbf2
mov dword [rdi + 0x90], ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x3b
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbx
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14009fc1e
mov r8d, dword [rsp + 0x40]
xor r9d, r9d
inc r8d
mov dword [rsp + 0x20], ebx
mov rcx, rdi
lea edx, [r9 + 0x43]
call fcn.140035ae0
jmp 0x14009fc51
mov edx, dword [rsp + 0x40]
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
inc edx
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], rbx
mov rdx, r13
mov rcx, rsi
call fcn.14009c1f0
mov r8d, dword [rbp - 0x40]
mov r9d, 0x10
mov rdx, qword [rbp - 0x68]
mov rcx, rsi
call fcn.140059bb0
mov eax, dword [rbp - 0x40]
lea r9, [rbp + 0x38]
mov dword [rsp + 0x38], r15d
mov r8d, 0xffffffff
mov dword [rsp + 0x30], eax
mov rdx, r12
mov rax, qword [rbp - 0x38]
mov rcx, rsi
mov qword [rsp + 0x28], rax
lea rax, [rbp - 8]
mov qword [rsp + 0x20], rax
call fcn.140091390
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14009fcd1
mov r8d, dword [rsp + 0x40]
xor r9d, r9d
inc r8d
mov dword [rsp + 0x20], ebx
mov rcx, rdi
lea edx, [r9 + 0x43]
call fcn.140035ae0
jmp 0x14009fd04
mov edx, dword [rsp + 0x40]
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
inc edx
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], rbx
mov rcx, qword [r14]
mov edx, dword [rsp + 0x58]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14009fd22
mov r8d, edx
mov rdx, rdi
call fcn.140036270
jmp 0x14009fd32
mov rcx, qword [rcx + 0x50]
mov eax, dword [rdi + 0x90]
movsxd rdx, edx
mov dword [rcx + rdx*4], eax
mov rdx, r13
mov rcx, rsi
call fcn.14009c030
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14009fd65
mov r9d, dword [rbp - 0x54]
xor r8d, r8d
mov rcx, rdi
mov dword [rsp + 0x20], ebx
lea edx, [r8 + 0x47]
call fcn.140035ae0
jmp 0x14009fd91
mov edx, dword [rbp - 0x54]
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbx
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x14009fdb9
mov r8d, dword [rbp - 0x78]
xor r9d, r9d
mov rcx, rdi
mov dword [rsp + 0x20], ebx
lea edx, [r9 + 0x43]
call fcn.140035ae0
jmp 0x14009fde9
mov edx, dword [rbp - 0x78]
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 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], rbx
cmp word [rsp + 0x44], 0
je 0x14009fe0e
mov ecx, dword [rbp - 0x50]
test ecx, ecx
je 0x14009fe0e
mov rax, qword [r13 + 0x28]
mov edx, ecx
mov rcx, rsi
mov r9d, dword [rax + 0x14]
mov r8d, dword [rax + 0x10]
call fcn.1400912c0
mov r15d, dword [rsp + 0x74]
jmp 0x1400a04a2
cmp qword [r12 + 0x30], 0
jne 0x1400a01c0
mov rdx, qword [r12 + 0x20]
cmp dword [rdx], 1
jne 0x1400a01c0
mov r8, qword [r12 + 0x28]
cmp dword [r8], 1
jne 0x1400a01c0
cmp qword [r8 + 0x30], 0
jne 0x1400a01c0
cmp dword [r13 + 0x30], 1
jne 0x1400a01c0
cmp qword [r12 + 0x40], 0
jne 0x1400a01c0
mov r8, qword [r8 + 0x28]
mov qword [rbp - 0x70], r8
cmp byte [r8 + 0x3f], 0
jne 0x1400a01c0
mov rdx, qword [rdx + 8]
cmp byte [rdx], 0xa8
jne 0x1400a01c0
cmp qword [rdx + 0x38], r13
jne 0x1400a01c0
mov rax, qword [r13 + 0x28]
mov rcx, qword [rax + 8]
test dword [rcx + 4], 0x100
je 0x1400a01c0
test dword [rdx + 4], 0x1000004
jne 0x1400a01c0
mov rdx, qword [r8 + 0x60]
mov r15d, 0xffff8000
test rdx, rdx
je 0x14009fedd
mov rax, qword [rsi]
mov r15d, ebx
mov rcx, qword [rax + 0x20]
add rcx, 0x18
cmp qword [rcx], rdx
je 0x14009fedd
inc r15d
lea rcx, [rcx + 0x20]
cmp qword [rcx], rdx
jne 0x14009fed1
mov eax, dword [rsi + 0x34]
mov rcx, rsi
mov dword [rbp - 0x80], eax
mov r10, rbx
inc eax
mov qword [rsp + 0x78], rbx
mov dword [rsi + 0x34], eax
mov r14, rbx
mov eax, dword [r8 + 0x28]
mov dword [rsp + 0x58], eax
mov rax, qword [rsi + 0xa8]
test rax, rax
cmovne rcx, rax
mov eax, dword [rcx + 0x7c]
bt eax, r15d
jb 0x14009ff29
bts eax, r15d
mov dword [rcx + 0x7c], eax
cmp r15d, 1
jne 0x14009ff2f
call fcn.14006f930
jmp 0x14009ff62
cmp r15d, 1
je 0x14009ff69
mov rax, qword [rsi]
movsxd rdx, r15d
shl rdx, 5
mov rcx, qword [rax + 0x20]
mov rax, qword [rdx + rcx + 8]
cmp byte [rax + 0x11], 0
je 0x14009ff69
mov rax, qword [r8]
xor r9d, r9d
mov r8d, dword [r8 + 0x28]
mov edx, r15d
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.140065070
mov r8, qword [rbp - 0x70]
mov r10, rbx
test byte [r8 + 0x30], 0x80
je 0x14009ff93
mov r14, qword [r8 + 0x10]
test r14, r14
je 0x14009ff93
nop dword [rax]
mov eax, dword [r14 + 0x64]
and al, 3
cmp al, 2
je 0x14009ff93
mov r14, qword [r14 + 0x28]
test r14, r14
jne 0x14009ff80
mov rax, qword [r12 + 0x28]
test byte [rax + 0x48], 1
jne 0x14009ffd7
mov rax, qword [r8 + 0x10]
test rax, rax
je 0x14009ffd7
test byte [rax + 0x64], 4
jne 0x14009ffce
movzx ecx, word [rax + 0x5c]
cmp cx, word [r8 + 0x3c]
jge 0x14009ffce
cmp qword [rax + 0x48], 0
jne 0x14009ffce
test r14, r14
je 0x14009ffcb
cmp cx, word [r14 + 0x5c]
jge 0x14009ffce
mov r14, rax
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x14009ffa7
test r14, r14
je 0x14009fff7
mov eax, dword [r14 + 0x58]
mov rdx, r14
mov rcx, rsi
mov dword [rsp + 0x58], eax
call fcn.140070320
mov r10, rax
mov qword [rsp + 0x78], rax
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1400a0033
mov r9d, dword [rsp + 0x58]
mov edx, 0x70
mov dword [rsp + 0x28], 1
mov rcx, rdi
mov dword [rsp + 0x20], r15d
mov r15d, dword [rbp - 0x80]
mov r8d, r15d
call fcn.140035b40
mov r10, qword [rsp + 0x78]
jmp 0x1400a006e
mov edx, dword [rbp - 0x80]
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x58]
mov dword [rax + rcx*8 + 0xc], r15d
mov r15d, dword [rbp - 0x80]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0xfd70
mov dword [rax + rcx*8 + 0x10], 1
test r10, r10
je 0x1400a0088
mov r9d, 0xfffffff8
mov r8, r10
mov rcx, rdi
lea edx, [r9 + 7]
call fcn.140036b70
mov eax, dword [rsi + 0x38]
inc eax
mov dword [r13 + 0xc], eax
mov eax, dword [r13 + 0x20]
add eax, dword [r13 + 0x30]
add dword [rsi + 0x38], eax
mov edx, dword [r13 + 0xc]
add edx, dword [r13 + 0x20]
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1400a00cc
mov r9d, edx
mov dword [rsp + 0x20], ebx
mov edx, 0x62
mov r8d, r15d
mov rcx, rdi
call fcn.140035ae0
jmp 0x1400a00f9
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x62
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbx
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1400a0120
xor r9d, r9d
mov dword [rsp + 0x20], ebx
mov r8d, r15d
mov rcx, rdi
lea edx, [r9 + 0x7a]
call fcn.140035ae0
jmp 0x1400a014e
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x7a
mov dword [rax + rcx*8 + 4], r15d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rbx
cmp byte [rsi + 0x12b], 2
jne 0x1400a0456
mov r9, qword [rbp - 0x70]
test r14, r14
je 0x1400a0181
test byte [r9 + 0x30], 0x80
je 0x1400a0175
mov eax, dword [r14 + 0x64]
and al, 3
cmp al, 2
je 0x1400a0181
mov rax, qword [r14]
lea rcx, [0x140121ec0]
jmp 0x1400a018e
lea rcx, [0x140121ec0]
mov dword [rbp - 0x40], ebx
mov rax, rcx
cmp dword [rbp - 0x40], 0
lea rdx, str._USING_COVERING_INDEX
mov r9, qword [r9]
lea r8, str.SCAN__s_s_s
cmovne rcx, rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
xor edx, edx
mov rcx, rsi
call fcn.140036050
jmp 0x1400a0456
cmp dword [r13 + 0x24], 0
mov r15d, ebx
mov r8d, dword [r13 + 0x30]
movzx r14d, bx
mov qword [rsp + 0x78], rbx
je 0x1400a0274
mov edx, ebx
test r8d, r8d
jle 0x1400a0211
mov rcx, qword [r13 + 0x28]
nop word [rax + rax]
mov rax, qword [rcx]
test dword [rax + 4], 0x1000000
jne 0x1400a0206
mov rax, qword [rcx + 8]
test byte [rax + 4], 0x20
jne 0x1400a0211
inc edx
add rcx, 0x18
cmp edx, r8d
jl 0x1400a01f0
cmp edx, r8d
jne 0x1400a029d
inc dword [rsi + 0x38]
movsxd rcx, dword [rdi + 0x90]
mov r15d, dword [rsi + 0x38]
cmp dword [rdi + 0x94], ecx
jg 0x1400a0248
xor r8d, r8d
mov dword [rsp + 0x20], ebx
mov r9d, r15d
mov rcx, rdi
lea edx, [r8 + 0x47]
call fcn.140035ae0
jmp 0x1400a029d
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbx
jmp 0x1400a029d
cmp r8d, 1
jne 0x1400a029d
mov rax, qword [r13 + 0x28]
cmp dword [rax + 0x10], 0
jl 0x1400a029d
mov rax, qword [rax]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x78], rax
neg rax
sbb r14w, r14w
and r14w, 0x500
mov eax, dword [rsi + 0x38]
mov rdx, r13
inc eax
mov rcx, rsi
mov dword [r13 + 0xc], eax
mov eax, dword [r13 + 0x20]
add eax, dword [r13 + 0x30]
add dword [rsi + 0x38], eax
call fcn.14009c030
movzx eax, byte [rsp + 0x44]
mov rcx, rsi
mov r9, qword [rbp - 0x18]
or ax, r14w
mov r8, qword [rbp - 0x50]
mov rdx, qword [rsp + 0x68]
mov dword [rsp + 0x38], ebx
mov word [rsp + 0x30], ax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rax
call fcn.1400bef30
mov r14, rax
test rax, rax
je 0x14009d6e8
movzx eax, byte [rax + 0x43]
mov r8, r13
mov r9d, eax
mov dword [rsp + 0x68], eax
mov edx, r15d
mov rcx, rsi
call fcn.14009c310
mov edx, dword [rsp + 0x68]
test edx, edx
je 0x1400a0338
mov rax, qword [r13 + 0x28]
test rax, rax
je 0x1400a0338
mov r9d, dword [rax + 0x14]
mov rcx, rsi
mov r8d, dword [rax + 0x10]
call fcn.1400912c0
test r15d, r15d
je 0x1400a0397
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1400a0366
mov edx, 0x47
mov dword [rsp + 0x20], ebx
mov r9d, r15d
mov rcx, rdi
lea r8d, [rdx - 0x46]
call fcn.140035ae0
jmp 0x1400a0397
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbx
cmp byte [rsp + 0x44], 0
je 0x1400a0443
test byte [r14 + 0x44], 4
je 0x1400a0443
cmp byte [r14 + 0x41], 0
je 0x1400a0443
movzx edx, byte [r14 + 0x40]
sub rdx, 1
js 0x1400a03e7
imul rcx, rdx, 0x70
add rcx, r14
nop word [rax + rax]
mov rax, qword [rcx + 0x3c0]
test byte [rax + 0x38], 4
jne 0x1400a0412
sub rcx, 0x70
sub rdx, 1
jns 0x1400a03d0
mov edx, dword [r14 + 0x34]
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1400a041a
xor r8d, r8d
mov dword [rsp + 0x20], ebx
mov r9d, edx
mov rcx, rdi
lea edx, [r8 + 9]
call fcn.140035ae0
jmp 0x1400a0443
mov edx, dword [rcx + 0x370]
jmp 0x1400a03eb
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8 + 0x10], rbx
mov dword [rax + rcx*8 + 0xc], ebx
mov dword [rax + rcx*8 + 8], edx
mov qword [rax + rcx*8], 9
mov rcx, r14
call fcn.1400bff90
mov rdx, r13
mov rcx, rsi
call fcn.14009c1f0
mov r15d, dword [rsp + 0x74]
mov r9d, 0x10
mov rdx, qword [rbp - 0x68]
mov r8d, r15d
mov rcx, rsi
mov qword [rbp + 0x38], rbx
call fcn.140059bb0
mov rax, qword [rbp - 0x38]
xor r9d, r9d
mov dword [rsp + 0x38], r15d
mov rdx, r12
mov dword [rsp + 0x30], r15d
mov rcx, rsi
mov qword [rsp + 0x28], rax
lea r8d, [r9 - 1]
mov qword [rsp + 0x20], rbx
call fcn.140091390
lea r14, [rdi + 0x18]
mov rcx, qword [r14]
not r15d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1400a04bd
mov r8d, r15d
mov rdx, rdi
call fcn.140036270
jmp 0x1400a04cd
movsxd rdx, r15d
mov rcx, qword [rcx + 0x50]
mov eax, dword [rdi + 0x90]
mov dword [rcx + rdx*4], eax
cmp byte [rbp - 7], 3
jne 0x1400a04eb
lea r9, str.DISTINCT
xor edx, edx
lea r8, str.USE_TEMP_B_TREE_FOR__s
mov rcx, rsi
call fcn.140036050
cmp qword [rbp + 0x38], 0
je 0x1400a0511
mov rax, qword [rbp - 0x38]
lea r8, [rbp + 0x38]
mov qword [rsp + 0x20], rax
mov rdx, r12
mov rax, qword [rbp - 0x48]
mov rcx, rsi
mov r9d, dword [rax]
call fcn.1400926e0
mov rcx, qword [r14]
mov edx, dword [rbp - 0x20]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1400a053d
mov r8d, edx
mov rdx, rdi
call fcn.140036270
cmp dword [rsi + 0x30], 0
mov eax, ebx
setg al
mov r15d, eax
jmp 0x14009d6ee
mov eax, dword [rdi + 0x90]
mov rcx, qword [rcx + 0x50]
movsxd rdx, edx
mov dword [rcx + rdx*4], eax
mov eax, ebx
cmp dword [rsi + 0x30], 0
setg al
mov r15d, eax
jmp 0x14009d6ee
mov rax, qword [rdx + 0x88]
lea rcx, [rcx + rcx*2]
mov ebx, dword [rax + rcx*8 + 8]
lea rax, [rax + rcx*8]
mov dword [rsi + 0x138], ebx
mov eax, r8d
jmp 0x14009d742
mov r15d, 1
jmp 0x14009d6f3