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

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb0]
sub rsp, 0x1b0
mov rax, qword [0x14019d010]
xor rax, rsp
mov qword [rbp + 0xa8], rax
mov rsi, qword [rcx + 0x10]
xor edi, edi
mov rax, qword [rcx]
mov r15d, 1
mov qword [rbp - 0x30], r8
mov r13, r8
mov qword [rbp - 0x20], rdx
mov r12, rdx
mov qword [rbp - 0x38], r15
mov r14, rcx
mov qword [rbp - 0x10], rdi
mov qword [rsp + 0x50], rax
mov qword [rbp - 0x58], rsi
test rsi, rsi
jne 0x1400991a1
cmp qword [rcx + 0xa8], rdi
jne 0x140099195
test byte [rax + 0x60], 8
jne 0x140099195
mov byte [rcx + 0x23], r15b
call fcn.140032f00
mov rsi, rax
mov qword [rbp - 0x58], rax
test r12, r12
je 0x14009c536
cmp dword [r14 + 0x30], edi
jne 0x14009c536
xor r9d, r9d
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov rcx, r14
lea edx, [r9 + 0x15]
call fcn.140061cf0
test eax, eax
jne 0x14009c536
cmp byte [r13], 6
mov qword [rsp + 0x208], rbx
ja 0x140099253
mov rbx, qword [r12 + 0x48]
test rbx, rbx
je 0x140099242
mov rcx, qword [r14]
test rcx, rcx
je 0x1400991fe
lea edx, [rax + 0x18]
call fcn.1400068f0
jmp 0x140099208
mov ecx, 0x18
call fcn.140006120
mov rcx, rax
test rax, rax
je 0x140099232
mov rax, qword [r14 + 0xc0]
mov qword [rcx], rax
lea rax, [fcn.14004f2a0]
mov qword [r14 + 0xc0], rcx
mov qword [rcx + 0x10], rax
mov qword [rcx + 8], rbx
jmp 0x14009923d
mov rcx, qword [r14]
mov rdx, rbx
call fcn.14004f230
mov qword [r12 + 0x48], rdi
mov eax, dword [r12 + 4]
and eax, 0xfffffffe
bts eax, 0x16
mov dword [r12 + 4], eax
mov rax, qword [r14]
cmp byte [rax + 0x67], dil
jne 0x140099294
test byte [r12 + 4], 0x80
jne 0x140099294
mov rdx, r12
mov rcx, r14
call fcn.140097900
cmp dword [r14 + 0x30], edi
jne 0x140099294
xor r8d, r8d
mov rdx, r12
mov rcx, r14
call fcn.14004b800
cmp dword [r14 + 0x30], edi
jne 0x140099294
mov rdx, r12
mov rcx, r14
call fcn.140097c80
lea rbx, [0x1401a64e0]
cmp dword [r14 + 0x30], edi
jne 0x1400992e1
mov r10d, dword [r12 + 4]
bt r10d, 0x17
jae 0x1400992f5
mov rdx, qword [r12 + 0x28]
lea r11, [rdx + 8]
mov rcx, r11
call fcn.140099040
test eax, eax
je 0x1400992eb
mov r8, qword [r11 + 0x18]
test r8, r8
jne 0x1400992d2
mov rax, qword [r11 + 0x20]
mov r8, qword [rax]
lea rdx, str.target_object_alias_may_not_appear_in_FROM_clause:__s
mov rcx, r14
call fcn.14000a210
mov r11, qword [rsp + 0x50]
jmp 0x140099651
btr r10d, 0x17
mov dword [r12 + 4], r10d
cmp byte [r13], 9
jne 0x140099307
mov rdx, r12
mov rcx, r14
call fcn.14008f7f0
mov rdx, r12
mov rcx, r14
call fcn.1400bde00
test eax, eax
jne 0x1400992e1
mov eax, dword [r12 + 4]
mov ecx, edi
mov rbx, qword [r12 + 0x28]
xorps xmm0, xmm0
shr eax, 3
xorps xmm1, xmm1
and eax, r15d
mov qword [rbp + 0x68], rdi
mov dword [rsp + 0x58], eax
mov rax, qword [r12 + 0x48]
mov qword [rbp + 0x40], rax
movdqu xmmword [rbp + 0x48], xmm0
mov dword [rsp + 0x40], ecx
movdqu xmmword [rbp + 0x58], xmm1
cmp qword [r12 + 0x50], rcx
jne 0x1400995d6
mov r11, qword [rsp + 0x50]
mov r13, rdi
cmp ecx, dword [rbx]
jge 0x1400996c3
imul r15, r13, 0x68
add r15, rbx
movzx eax, byte [r15 + 0x44]
mov rdx, qword [r15 + 0x30]
mov r10, qword [r15 + 0x28]
mov qword [rbp - 0x48], rdx
mov qword [rbp - 0x70], r10
test al, 0x48
je 0x14009945d
mov edx, dword [r15 + 0x4c]
mov r8d, eax
mov rcx, qword [r12 + 0x30]
and r8d, 0x40
call fcn.1400579a0
mov r11, qword [rsp + 0x50]
test eax, eax
je 0x140099451
test dword [r11 + 0x60], 0x2000
jne 0x140099451
movzx eax, byte [r15 + 0x44]
test al, 8
je 0x1400993d3
test al, 0x10
je 0x1400993cd
and al, 0xf7
jmp 0x1400993cf
and al, 0xd7
mov byte [r15 + 0x44], al
test al, 0x40
je 0x14009943a
mov edx, dword [rsp + 0x40]
lea rcx, [r13 + 1]
mov eax, dword [rbx]
inc edx
cmp edx, eax
jge 0x140099411
imul rcx, rcx, 0x68
add rcx, 0x44
add rcx, rbx
movzx eax, byte [rcx]
test al, 0x10
je 0x140099405
test al, 8
je 0x140099401
and al, 0xef
jmp 0x140099403
and al, 0xcf
mov byte [rcx], al
mov eax, dword [rbx]
inc edx
add rcx, 0x68
cmp edx, eax
jl 0x1400993f2
dec eax
movsxd rdx, eax
cmp rdx, r13
jl 0x14009943a
imul rcx, rdx, 0x68
add rcx, 0x44
add rcx, rbx
and byte [rcx], 0xbf
test byte [rcx], 0x10
jne 0x14009943a
dec rdx
sub rcx, 0x68
cmp rdx, r13
jge 0x140099426
movzx r8d, byte [rbx + 0x44]
mov edx, dword [r15 + 0x4c]
and r8d, 0x40
mov rcx, qword [r12 + 0x30]
call fcn.14008be10
mov ecx, dword [rsp + 0x40]
mov rdx, qword [rbp - 0x48]
mov r10, qword [rbp - 0x70]
test rdx, rdx
je 0x1400995be
mov rax, qword [rdx + 0x20]
movsx r8d, word [r10 + 0x36]
mov r9d, dword [rax]
cmp r8d, r9d
jne 0x140099628
test dword [r15 + 0x48], 0x100
je 0x140099493
mov rax, qword [r15 + 0x68]
cmp byte [rax + 0x12], dil
je 0x1400995be
mov eax, dword [rdx + 4]
test al, 8
jne 0x1400995be
mov r15, qword [rdx + 0x48]
test r15, r15
je 0x140099562
cmp qword [r12 + 0x48], rdi
jne 0x1400994bb
cmp dword [rbx], 1
jle 0x140099545
cmp qword [rdx + 0x60], rdi
jne 0x140099545
bt eax, 0x1b
jb 0x140099545
test dword [r12 + 4], 0x8000000
jne 0x140099545
test dword [r11 + 0x60], 0x40000
jne 0x140099545
mov rcx, qword [r14]
test rcx, rcx
je 0x1400994f4
mov edx, 0x18
call fcn.1400068f0
jmp 0x1400994fe
mov ecx, 0x18
call fcn.140006120
mov rcx, rax
test rax, rax
je 0x140099530
mov rax, qword [r14 + 0xc0]
mov qword [rcx], rax
lea rax, [fcn.14004f2a0]
mov qword [r14 + 0xc0], rcx
mov qword [rcx + 0x10], rax
mov rax, qword [rbp - 0x48]
mov qword [rcx + 8], r15
mov qword [rax + 0x48], rdi
jmp 0x140099562
mov rcx, qword [r14]
mov rdx, r15
call fcn.14004f230
mov rax, qword [rbp - 0x48]
mov qword [rax + 0x48], rdi
jmp 0x140099562
test ecx, ecx
jne 0x140099562
test dword [r12 + 4], 0x40000
je 0x140099562
cmp dword [rbx], 1
je 0x1400995be
test byte [rbx + 0xac], 0x22
jne 0x1400995be
mov r9d, dword [rsp + 0x58]
mov rdx, r12
mov r8d, dword [rsp + 0x40]
mov rcx, r14
call fcn.1400946e0
test eax, eax
je 0x140099594
cmp dword [r14 + 0x30], edi
jne 0x14009963f
mov dword [rsp + 0x40], 0xffffffff
mov r13, 0xffffffffffffffff
mov r11, qword [rsp + 0x50]
mov rbx, qword [r12 + 0x28]
cmp byte [r11 + 0x67], dil
jne 0x140099644
mov rax, qword [rbp - 0x30]
mov ecx, dword [rsp + 0x40]
cmp byte [rax], 8
jbe 0x1400995be
mov rax, qword [r12 + 0x48]
mov qword [rbp + 0x40], rax
inc ecx
inc r13
mov dword [rsp + 0x40], ecx
cmp qword [r12 + 0x50], rdi
je 0x140099360
mov r13, qword [rbp - 0x30]
mov r8, r13
mov rdx, r12
mov rcx, r14
call fcn.140091240
mov r8d, eax
cmp qword [r12 + 0x58], rdi
jne 0x14009c52e
movsxd rcx, dword [r14 + 0x138]
test ecx, ecx
je 0x14009c527
mov rdx, qword [r14 + 0x10]
mov rax, qword [rdx]
cmp byte [rax + 0x67], dil
je 0x14009c514
lea rax, [0x1401a64e0]
mov edi, dword [rax + 8]
mov eax, r8d
mov dword [r14 + 0x138], edi
jmp 0x140099699
mov dword [rsp + 0x20], r9d
lea rdx, str.expected__d_columns_for__s_but_got__d
mov r9, qword [r10]
mov rcx, r14
call fcn.14000a210
mov r11, qword [rsp + 0x50]
mov r15d, 1
lea rbx, [0x1401a64e0]
mov rax, qword [rbp - 0x10]
test rax, rax
je 0x140099665
mov rdx, rax
mov rcx, r11
call fcn.14004f230
movsxd rcx, dword [r14 + 0x138]
test ecx, ecx
je 0x14009968f
mov rdx, qword [r14 + 0x10]
mov rax, qword [rdx]
cmp byte [rax + 0x67], 0
jne 0x14009968c
mov rax, qword [rdx + 0x88]
lea rcx, [rcx + rcx*2]
lea rbx, [rax + rcx*8]
mov edi, dword [rbx + 8]
mov dword [r14 + 0x138], edi
mov eax, r15d
mov rbx, qword [rsp + 0x208]
mov rcx, qword [rbp + 0xa8]
xor rcx, rsp
call fcn.140105b00
add rsp, 0x1b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rax, qword [r12 + 0x30]
mov r15, rbx
mov qword [rsp + 0x60], rbx
test rax, rax
je 0x1400997d0
cmp byte [rax], 0x2c
mov qword [rsp + 0x60], rbx
jne 0x1400997d0
test dword [r11 + 0x60], 0x8000
mov qword [rsp + 0x60], rbx
jne 0x1400997d0
mov rax, qword [r14]
lea r13, [0x140095640]
add rax, 0x67
mov qword [rbp + 0x70], r14
mov qword [rbp + 0x78], rax
lea rsi, [fcn.140005ae0]
mov qword [rsp + 0x60], rbx
mov r15d, 1
mov rax, qword [r12 + 0x28]
mov qword [rbp + 0x80], rdi
mov qword [rbp + 0x90], rdi
mov dword [rbp + 0x88], edi
test rax, rax
je 0x140099754
cmp dword [rax], edi
jle 0x140099754
test byte [rax + 0x44], 0x40
mov dword [rbp + 0x8c], 3
jne 0x14009975b
mov dword [rbp + 0x8c], r15d
mov rdx, qword [r12 + 0x30]
lea rcx, [rbp + 0x70]
call fcn.1400953f0
cmp dword [rbp + 0x80], edi
je 0x1400997b8
mov rdx, qword [r12 + 0x30]
lea rax, [rbp + 0x70]
mov qword [rbp + 0x30], rdi
mov qword [rbp + 0x10], r14
mov qword [rbp + 0x18], r13
mov qword [rbp + 0x20], rsi
mov qword [rbp + 0x28], rdi
mov qword [rbp + 0x38], rax
test rdx, rdx
je 0x1400997a0
lea rcx, [rbp + 0x10]
call fcn.140047b30
mov rdx, qword [rbp + 0x90]
test rdx, rdx
je 0x1400997b8
mov rcx, qword [rbp + 0x70]
mov rcx, qword [rcx]
call fcn.1400063f0
cmp dword [rbp + 0x84], edi
jne 0x140099722
mov rsi, qword [rbp - 0x58]
mov r15, rbx
mov r11, qword [rsp + 0x50]
test dword [r11 + 0x60], 0x201
jne 0x140099802
mov rdx, r12
mov rcx, r14
call fcn.140098c70
test eax, eax
je 0x140099802
mov r11, qword [rsp + 0x50]
cmp byte [r11 + 0x67], dil
jne 0x140099644
mov r15, qword [r12 + 0x28]
mov qword [rsp + 0x60], r15
lea r9, [0x140170c75]
mov r13d, edi
mov dword [rsp + 0x44], edi
cmp dword [r15], edi
jle 0x14009a121
mov rax, rdi
mov qword [rbp - 0x70], rax
imul rax, rax, 0x68
lea rbx, [r15 + 8]
add rbx, rax
cmp qword [rbx + 0x50], 0
jne 0x1400998c9
mov r8, qword [rbx + 0x10]
test r8, r8
je 0x1400998c9
mov rcx, qword [r14]
mov r10, qword [rcx + 0x200]
test r10, r10
je 0x1400998c9
cmp byte [rcx + 0xc5], 0
jne 0x1400998c9
cmp byte [r14 + 0x12c], 0
jne 0x1400998c9
mov rdx, qword [rbx + 8]
mov rax, qword [r14 + 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 0x1400998ab
lea rdx, str.not_authorized
mov rcx, r14
call fcn.14000a210
mov dword [r14 + 0x18], 0x17
jmp 0x1400998c9
test eax, 0xfffffffd
je 0x1400998c9
lea rdx, str.authorizer_malfunction
mov rcx, r14
call fcn.14000a210
mov dword [r14 + 0x18], 1
mov r11, qword [rbx + 0x28]
mov qword [rsp + 0x68], r11
test r11, r11
je 0x14009a0fe
mov rcx, r12
call fcn.14004cc20
mov rcx, qword [rsp + 0x50]
add dword [r14 + 0x134], eax
test dword [rcx + 0x60], 0x1000
jne 0x14009992d
test dword [rbx + 0x40], 0x100
je 0x140099910
mov rax, qword [rbx + 0x60]
cmp byte [rax + 0x12], 0
je 0x14009992d
cmp dword [rax], 2
jge 0x14009992d
mov r8, qword [r12 + 0x30]
mov r9, r15
mov rdx, r11
mov dword [rsp + 0x20], r13d
mov rcx, r14
call fcn.1400956d0
mov rcx, qword [rsp + 0x50]
test dword [rcx + 0x60], 0x4000000
jne 0x140099a55
test dword [rbx + 0x40], 0x108
jne 0x140099a55
mov rdx, qword [rbx + 0x28]
mov r8, qword [rbx + 0x20]
mov qword [rbp - 0x80], rdx
test byte [rdx + 4], 9
jne 0x140099a55
mov rax, rdx
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x140099972
cmp byte [rax], 0x87
jne 0x140099a55
cmp qword [rax + 0x70], 0
jne 0x140099a55
mov rax, rcx
test rcx, rcx
jne 0x140099960
mov rcx, qword [rdx + 0x48]
mov r10, qword [rbx + 0x50]
test rcx, rcx
je 0x1400999c9
movsxd rdx, dword [rcx]
test rdx, rdx
jle 0x1400999c9
add rcx, 0x20
nop
movzx eax, word [rcx]
test ax, ax
je 0x1400999bf
dec ax
cmp ax, 0x40
jb 0x1400999b8
mov eax, 0x3f
jmp 0x1400999bb
movzx eax, ax
bts r10, rax
add rcx, 0x20
sub rdx, 1
jne 0x1400999a0
movsx r13, word [r8 + 0x36]
mov r11d, edi
mov r15, rdi
test r13, r13
jle 0x140099a50
mov r8, rdi
mov r9d, 1
mov rdi, qword [rbp - 0x80]
movabs rsi, 0x8000000000000000
cmp r11d, 0x3f
mov rax, rsi
cmovb rax, r9
test r10, rax
jne 0x140099a38
mov rax, rdi
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rax + 0x20]
mov rdx, qword [rcx + r8 + 8]
cmp byte [rdx], 0x79
je 0x140099a2f
and dword [rdx + 4], 0xfff7dfff
mov byte [rdx], 0x79
or dword [rax + 4], 0x1000000
mov rax, qword [rax + 0x50]
test rax, rax
jne 0x140099a10
inc r11d
rol r9, 1
inc r15
add r8, 0x20
cmp r15, r13
jl 0x1400999f0
mov rsi, qword [rbp - 0x58]
xor edi, edi
mov r13d, dword [rsp + 0x44]
mov rax, qword [r14 + 0x170]
mov r15d, r13d
mov qword [rbp - 0x80], rax
mov rax, qword [rbx + 0x10]
mov qword [r14 + 0x170], rax
mov eax, dword [rbx + 0x40]
and eax, 0x100
mov dword [rbp - 0x50], eax
je 0x140099a99
mov rax, qword [rbx + 0x60]
movzx ecx, byte [rax + 0x12]
test cl, cl
je 0x140099d1e
cmp dword [rax], 2
jl 0x140099a99
cmp cl, 2
jne 0x140099d1e
mov rcx, qword [rsp + 0x60]
test byte [rcx + 0x44], 0x40
jne 0x140099b78
mov rax, qword [r14]
test dword [rax + 0x60], 0x2000000
jne 0x140099b78
mov r8d, dword [rsp + 0x44]
mov rdx, rbx
mov r13d, dword [rcx]
inc r8d
mov r9d, r13d
call fcn.140098b00
test rax, rax
jne 0x140099b6e
cmp qword [rbp - 0x70], rax
jne 0x140099b41
cmp r13d, 1
je 0x140099afc
mov rcx, qword [rsp + 0x60]
test byte [rcx + 0xac], 2
jne 0x140099afc
test dword [r12 + 4], 0x10000000
jne 0x140099b73
movsxd r13, dword [rsi + 0x90]
inc dword [r14 + 0x38]
mov edx, dword [r14 + 0x38]
mov dword [rbx + 0x34], edx
movsxd rcx, dword [rsi + 0x90]
lea r15d, [r13 + 1]
cmp dword [rsi + 0x94], ecx
jg 0x140099bd7
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, edx
mov rcx, rsi
lea edx, [r9 + 0xb]
call fcn.1400331f0
jmp 0x140099c04
test dword [r12 + 4], 0x10000000
jne 0x140099b6e
test byte [rbx + 0x3c], 0x22
lea rax, [rbx + 0x3c]
jne 0x140099b6e
test r15d, r15d
je 0x140099afc
sub rax, 0x68
dec r15d
cmp qword [rax - 0x14], 0
jne 0x140099b6e
test byte [rax], 0x22
je 0x140099b56
mov rcx, qword [rsp + 0x60]
mov r13d, dword [rsp + 0x44]
cmp dword [rbp - 0x50], 0
jne 0x140099d23
mov r9d, r13d
xor r8d, r8d
mov rdx, rbx
call fcn.140098b00
mov r15, rax
test rax, rax
je 0x140099ea9
mov edx, dword [rax + 0x30]
test edx, edx
je 0x140099e39
movsxd rcx, dword [rsi + 0x90]
mov r8d, dword [rax + 0x34]
cmp dword [rsi + 0x94], ecx
jg 0x140099e0c
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 0xa
mov rcx, rsi
call fcn.1400331f0
jmp 0x140099e39
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0xb
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], rdi
mov eax, dword [rbx + 0x34]
lea r8, str.CO_ROUTINE___S
mov r9, rbx
mov dword [rbp + 0x74], eax
mov edx, 1
mov dword [rbx + 0x30], r15d
mov rcx, r14
mov byte [rbp + 0x70], 0xd
mov qword [rbp + 0x78], 0
mov qword [rbp + 0x88], rdi
mov dword [rbp + 0x80], edi
call fcn.140033860
mov r15, qword [rsp + 0x68]
lea r8, [rbp + 0x70]
mov rdx, r15
mov rcx, r14
call fcn.140099120
movzx eax, word [r15 + 2]
mov rcx, qword [rbx + 0x20]
mov word [rcx + 0x3a], ax
or dword [rbx + 0x40], 0x20
mov eax, dword [rbp + 0x7c]
mov edx, dword [rbx + 0x34]
mov dword [rbx + 0x38], eax
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x140099c93
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov r8d, edx
mov rcx, rsi
lea edx, [r9 + 0x44]
call fcn.1400331f0
jmp 0x140099cc0
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], 0
mov qword [rax + rcx*8 + 0x10], rdi
mov rax, qword [rsi + 0x18]
mov byte [rax + 0x1f], 0
mov rax, qword [rsi + 0x18]
mov dword [rax + 0x28], edi
mov rax, qword [rsi]
mov edx, dword [rsi + 0x90]
cmp byte [rax + 0x67], 0
je 0x140099cf6
lea rax, [0x1401a64e0]
mov dword [rax + 8], edx
mov byte [r14 + 0x1f], 0
mov dword [r14 + 0x28], edi
jmp 0x14009a0ca
mov rax, qword [rsi + 0x88]
lea rcx, [r13*2]
add rcx, r13
mov dword [rax + rcx*8 + 8], edx
mov byte [r14 + 0x1f], 0
lea rax, [rax + rcx*8]
mov dword [r14 + 0x28], edi
jmp 0x14009a0ca
mov rcx, qword [rsp + 0x60]
mov r15, qword [rbx + 0x60]
mov edx, dword [r15 + 4]
test edx, edx
jle 0x140099b82
movsxd rcx, dword [rsi + 0x90]
mov r8d, dword [r15 + 8]
cmp dword [rsi + 0x94], ecx
jg 0x140099d5c
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 0xa
mov rcx, rsi
call fcn.1400331f0
jmp 0x140099d89
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], 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 [r15 + 0xc]
mov r8d, dword [rbx + 0x44]
cmp r8d, edx
je 0x140099df9
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x140099dcc
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x73
mov rcx, rsi
call fcn.1400331f0
mov rdx, qword [rsp + 0x68]
movzx eax, word [r15 + 0x10]
mov word [rdx + 2], ax
jmp 0x14009a0ca
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 rdx, qword [rsp + 0x68]
movzx eax, word [r15 + 0x10]
mov word [rdx + 2], ax
jmp 0x14009a0ca
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], 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 [r15 + 0x44]
mov r8d, dword [rbx + 0x44]
cmp dword [rsi + 0x94], ecx
jg 0x140099e66
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x73
mov rcx, rsi
call fcn.1400331f0
jmp 0x140099e93
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 [r15 + 0x28]
mov rdx, qword [rsp + 0x68]
movzx ecx, word [rax + 2]
mov word [rdx + 2], cx
jmp 0x14009a0ca
inc dword [r14 + 0x38]
mov r15d, edi
mov eax, dword [r14 + 0x38]
mov dword [rbx + 0x34], eax
movsxd r13, dword [rsi + 0x90]
cmp dword [rsi + 0x94], r13d
jg 0x140099ee2
xor r9d, r9d
mov dword [rsp + 0x20], edi
xor r8d, r8d
mov rcx, rsi
lea edx, [r9 + 9]
call fcn.1400331f0
mov r13d, eax
jmp 0x140099f14
lea eax, [r13 + 1]
mov dword [rsi + 0x90], eax
lea rcx, [r13*2]
mov rax, qword [rsi + 0x88]
add rcx, r13
mov qword [rax + rcx*8], 9
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdi
or dword [rbx + 0x40], 0x10
lea eax, [r13 + 1]
test byte [rbx + 0x40], 8
mov dword [rbx + 0x30], eax
jne 0x140099f7b
movsxd r15, dword [rsi + 0x90]
cmp dword [rsi + 0x94], r15d
jg 0x140099f50
xor r9d, r9d
mov dword [rsp + 0x20], edi
xor r8d, r8d
mov rcx, rsi
lea edx, [r9 + 0xf]
call fcn.1400331f0
mov r15d, eax
jmp 0x140099f7b
lea rcx, [r15 + r15*2]
lea eax, [r15 + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8], 0xf
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdi
mov eax, dword [rbx + 0x44]
lea r8, str.MATERIALIZE___S
mov r9, rbx
mov dword [rbp + 0x74], eax
mov edx, 1
mov byte [rbp + 0x70], 0xc
mov rcx, r14
mov qword [rbp + 0x78], 0
mov qword [rbp + 0x88], rdi
mov dword [rbp + 0x80], edi
call fcn.140033860
mov rdx, qword [rsp + 0x68]
lea r8, [rbp + 0x70]
mov rcx, r14
call fcn.140099120
mov r9, qword [rsp + 0x68]
mov rcx, qword [rbx + 0x20]
movzx eax, word [r9 + 2]
mov word [rcx + 0x3a], ax
test r15d, r15d
je 0x14009a006
mov rax, qword [rsi]
mov edx, dword [rsi + 0x90]
cmp byte [rax + 0x67], 0
je 0x140099ff1
lea rax, [0x1401a64e0]
jmp 0x14009a003
movsxd rax, r15d
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]
mov r8d, dword [rbx + 0x34]
cmp dword [rsi + 0x94], ecx
jg 0x14009a035
lea r9d, [r13 + 1]
mov dword [rsp + 0x20], edi
mov edx, 0x43
mov rcx, rsi
call fcn.1400331f0
mov r9, qword [rsp + 0x68]
jmp 0x14009a066
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 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], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov rax, qword [rsi]
mov edx, dword [rsi + 0x90]
cmp byte [rax + 0x67], 0
je 0x14009a07e
lea rax, [0x1401a64e0]
jmp 0x14009a090
movsxd rax, r13d
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov byte [r14 + 0x1f], 0
mov dword [r14 + 0x28], edi
mov eax, dword [rbx + 0x40]
and eax, 0x108
cmp eax, 0x100
jne 0x14009a0ca
mov eax, dword [rbx + 0x30]
mov rcx, qword [rbx + 0x60]
mov dword [rcx + 4], eax
mov eax, dword [rbx + 0x34]
mov dword [rcx + 8], eax
mov eax, dword [rbx + 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 0x140099644
mov rcx, r12
call fcn.14004cc20
sub dword [r14 + 0x134], eax
mov rax, qword [rbp - 0x80]
mov r13d, dword [rsp + 0x44]
mov r15, qword [rsp + 0x60]
mov qword [r14 + 0x170], rax
mov rax, qword [rbp - 0x70]
lea r9, [0x140170c75]
inc rax
inc r13d
mov dword [rsp + 0x44], r13d
mov qword [rbp - 0x70], rax
cmp r13d, dword [r15]
jl 0x140099820
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 + 0x68], rax
mov rax, qword [r12 + 0x40]
mov qword [rbp - 0x70], rax
movzx eax, byte [r12 + 4]
and al, 1
mov qword [rbp - 0x48], r9
mov byte [rbp], al
mov eax, ecx
and al, 9
cmp al, 1
jne 0x14009a215
mov rdx, qword [rbp + 0x40]
mov qword [rbp - 0x80], rdx
test rdx, rdx
jne 0x14009a17a
test r9, r9
jne 0x14009a215
jmp 0x14009a1e1
test r9, r9
je 0x14009a215
mov rax, qword [rbp + 0x40]
mov r8d, dword [rax]
cmp r8d, dword [r9]
jne 0x14009a215
mov r13d, edi
test r8d, r8d
jle 0x14009a1e1
lea rbx, [rdx + 8]
lea r15, [r9 + 8]
movzx eax, byte [r15 + 0x10]
cmp byte [rbx + 0x10], al
jne 0x14009a215
mov r8, qword [r15]
mov r9d, 0xffffffff
mov rdx, qword [rbx]
xor ecx, ecx
call fcn.140057120
test eax, eax
jne 0x14009a215
mov rax, qword [rbp - 0x80]
inc r13d
add r15, 0x20
add rbx, 0x20
cmp r13d, dword [rax]
jl 0x14009a1a3
mov ecx, dword [r12 + 4]
mov r9, qword [rbp - 0x48]
cmp qword [r12 + 0x70], 0
jne 0x14009a215
and ecx, 0xfffffffe
xor r8d, r8d
mov dword [r12 + 4], ecx
mov rdx, r9
mov rcx, qword [rsp + 0x50]
call fcn.14004e040
or dword [r12 + 4], 8
mov qword [rsp + 0x68], rax
mov qword [r12 + 0x38], rax
mov byte [rbp], 2
mov rcx, qword [rbp + 0x40]
mov r13, qword [rbp - 0x48]
test rcx, rcx
je 0x14009a2c3
mov r9d, dword [r13]
mov rdx, rcx
mov rcx, r14
xor r8d, r8d
call fcn.14008e880
mov r8d, dword [r14 + 0x34]
mov r15, rax
mov dword [rbp + 0x4c], r8d
lea ecx, [r8 + 1]
mov dword [r14 + 0x34], ecx
mov rcx, qword [rbp + 0x40]
mov r9d, dword [r13]
movsxd rbx, dword [rsi + 0x90]
inc r9d
add r9d, dword [rcx]
cmp dword [rsi + 0x94], ebx
jg 0x14009a27d
mov edx, 0x76
mov dword [rsp + 0x20], edi
mov rcx, rsi
call fcn.1400331f0
mov ebx, eax
jmp 0x14009a2ab
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, r15
mov edx, ebx
mov rcx, rsi
call fcn.140033fd0
mov dword [rbp + 0x58], ebx
jmp 0x14009a2ca
mov dword [rbp + 0x58], 0xffffffff
mov rax, qword [rbp - 0x30]
cmp byte [rax], 0xc
jne 0x14009a3c8
movsxd rcx, dword [rsi + 0x90]
mov edx, dword [r13]
mov r8d, dword [rax + 4]
cmp dword [rsi + 0x94], ecx
jg 0x14009a304
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x76
mov rcx, rsi
call fcn.1400331f0
jmp 0x14009a331
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
test dword [r12 + 4], 0x800
je 0x14009a3c8
mov ecx, dword [r13]
lea eax, [rcx - 1]
movsxd r15, eax
test eax, eax
jle 0x14009a3a6
mov r12, qword [rsp + 0x50]
mov rbx, r15
shl rbx, 5
nop word [rax + rax]
test byte [rbx + r13 + 0x1c], 0x40
jne 0x14009a3a2
mov rdx, qword [rbx + r13 + 8]
test rdx, rdx
je 0x14009a37a
mov rcx, r12
call fcn.14004d8e0
mov rdx, qword [rbx + r13 + 0x10]
test rdx, rdx
je 0x14009a38c
mov rcx, r12
call fcn.1400063f0
mov ecx, dword [r13]
dec r15
dec ecx
sub rbx, 0x20
mov dword [r13], ecx
test r15, r15
jg 0x14009a360
mov r12, qword [rbp - 0x20]
mov edx, edi
test ecx, ecx
jle 0x14009a3c8
lea rcx, [r13 + 8]
test byte [rcx + 0x14], 0x40
jne 0x14009a3bc
mov rax, qword [rcx]
mov byte [rax], 0x79
inc edx
add rcx, 0x20
cmp edx, dword [r13]
jl 0x14009a3b0
mov eax, dword [r14 + 0x44]
mov r13d, 0x4000
dec eax
mov dword [r14 + 0x44], eax
mov dword [rbp - 0x18], eax
test dword [r12 + 4], r13d
jne 0x14009a3ed
mov ecx, 0x140
mov word [r12 + 2], cx
cmp qword [r12 + 0x60], 0
je 0x14009a403
mov r8d, eax
mov rdx, r12
mov rcx, r14
call fcn.1400904a0
cmp dword [r12 + 8], 0
jne 0x14009a43d
cmp dword [rbp + 0x58], 0
jl 0x14009a43d
mov rax, qword [rsi]
cmp byte [rax + 0x67], 0
je 0x14009a423
lea rax, [0x1401a64e0]
jmp 0x14009a436
movsxd rax, dword [rbp + 0x58]
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rcx*8]
mov byte [rax], 0x77
or byte [rbp + 0x64], 1
test byte [r12 + 4], 1
je 0x14009a501
mov eax, dword [r14 + 0x34]
xor r9d, r9d
mov dword [rbp + 4], eax
xor r8d, r8d
inc eax
mov rcx, r14
mov dword [r14 + 0x34], eax
mov rdx, qword [r12 + 0x20]
call fcn.14008e880
movsxd rbx, dword [rsi + 0x90]
mov r15, rax
mov edx, dword [rbp + 4]
cmp dword [rsi + 0x94], ebx
jg 0x14009a498
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov r8d, edx
mov rcx, rsi
lea edx, [r9 + 0x76]
call fcn.1400331f0
mov ebx, eax
jmp 0x14009a4c5
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], 0
mov qword [rax + rcx*8 + 0x10], rdi
mov r9d, 0xfffffff8
mov r8, r15
mov edx, ebx
mov rcx, rsi
call fcn.140033fd0
mov dword [rbp + 8], ebx
movsxd rax, dword [rsi + 0x90]
test eax, eax
jle 0x14009a4fb
lea rcx, [rax + rax*2]
mov edx, 8
mov rax, qword [rsi + 0x88]
mov word [rax + rcx*8 - 0x16], dx
mov byte [rbp + 1], 3
jmp 0x14009a505
mov byte [rbp + 1], 0
cmp dword [rsp + 0x58], 0
mov r15, qword [rsp + 0x68]
jne 0x14009a827
test r15, r15
jne 0x14009a827
movzx eax, byte [rbp]
neg al
movzx eax, word [r12 + 4]
sbb bx, bx
and ax, r13w
mov r13, qword [r12 + 0x70]
and bx, 0x100
or bx, ax
test r13, r13
je 0x14009a54e
mov rdx, r12
mov rcx, r14
call fcn.1400bf210
movsx eax, word [r12 + 2]
mov rcx, r14
mov r9, qword [rbp + 0x40]
mov r8, qword [rbp - 0x50]
mov rdx, qword [rsp + 0x60]
mov dword [rsp + 0x38], eax
mov rax, qword [r12 + 0x20]
mov word [rsp + 0x30], bx
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rax
call fcn.1400ba940
mov r15, rax
test rax, rax
je 0x14009963f
movzx eax, word [rax + 0x48]
cmp ax, word [r12 + 2]
jge 0x14009a59f
mov word [r12 + 2], ax
cmp byte [rbp], 0
je 0x14009a5b6
movzx ecx, byte [r15 + 0x43]
movzx eax, byte [rbp + 1]
test cl, cl
cmovne eax, ecx
mov byte [rbp + 1], al
mov rdx, qword [rbp + 0x40]
test rdx, rdx
je 0x14009a613
movsx eax, byte [r15 + 0x41]
test al, al
jns 0x14009a5d0
mov r8d, edi
mov dword [rbp + 0x48], edi
jmp 0x14009a5d6
mov r8d, eax
mov dword [rbp + 0x48], eax
test byte [r15 + 0x44], 4
jne 0x14009a5e3
mov eax, dword [r15 + 0x30]
jmp 0x14009a605
movzx eax, byte [r15 + 0x40]
imul rcx, rax, 0x70
cmp qword [rcx + r15 + 0x328], 0
je 0x14009a5fd
mov eax, dword [r15 + 0x30]
jmp 0x14009a605
mov eax, dword [rcx + r15 + 0x300]
mov dword [rbp + 0x60], eax
cmp r8d, dword [rdx]
cmove rdx, rdi
mov qword [rbp + 0x40], rdx
movsxd rax, dword [rbp + 0x58]
test eax, eax
js 0x14009a64f
test rdx, rdx
jne 0x14009a64f
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], dl
jne 0x14009a64f
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.140033db0
mov word [rbx], 0xb8
mov qword [rbx + 0x10], rdi
mov rdx, r12
test r13, r13
je 0x14009a7e2
mov r13d, dword [r14 + 0x44]
mov r8, r15
inc dword [r14 + 0x38]
lea ecx, [r13 - 1]
sub r13d, 2
mov dword [rbp - 0x50], ecx
mov dword [rsp + 0x20], ecx
mov rcx, r14
lea eax, [r13 - 1]
mov dword [rsp + 0x58], eax
mov dword [r14 + 0x44], eax
mov eax, dword [r14 + 0x38]
mov r9d, eax
mov dword [rsp + 0x74], eax
call fcn.1400c3210
movsxd rcx, dword [rsi + 0x90]
mov r15d, dword [rsp + 0x58]
cmp dword [rsi + 0x94], ecx
jg 0x14009a6c0
xor r8d, r8d
mov dword [rsp + 0x20], edi
mov r9d, r15d
mov rcx, rsi
lea edx, [r8 + 9]
call fcn.1400331f0
jmp 0x14009a6ea
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov r9, qword [rsi + 0x18]
lea rbx, [rsi + 0x18]
mov ecx, dword [rbp - 0x50]
not ecx
mov eax, dword [r9 + 0x48]
add eax, dword [r9 + 0x44]
jns 0x14009a711
mov r8d, ecx
mov rdx, rsi
mov rcx, r9
call fcn.140033a80
jmp 0x14009a721
mov eax, dword [rsi + 0x90]
movsxd rdx, ecx
mov rcx, qword [r9 + 0x50]
mov dword [rcx + rdx*4], eax
mov rax, qword [rbp - 0x30]
lea r9, [rbp + 0x40]
mov dword [rsp + 0x38], r15d
mov r8d, 0xffffffff
mov dword [rsp + 0x30], r13d
mov rdx, r12
mov qword [rsp + 0x28], rax
mov rcx, r14
lea rax, [rbp]
mov dword [rbp + 0x60], edi
mov qword [rsp + 0x20], rax
call fcn.14008d640
mov rcx, qword [rbx]
not r13d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14009a770
mov r8d, r13d
mov rdx, rsi
call fcn.140033a80
jmp 0x14009a780
mov rcx, qword [rcx + 0x50]
mov eax, dword [rsi + 0x90]
movsxd rdx, r13d
mov dword [rcx + rdx*4], eax
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x14009a7ac
mov r8d, dword [rsp + 0x74]
xor r9d, r9d
mov rcx, rsi
mov dword [rsp + 0x20], edi
lea edx, [r9 + 0x43]
call fcn.1400331f0
jmp 0x14009c461
mov edx, dword [rsp + 0x74]
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
jmp 0x14009c461
mov eax, dword [r15 + 0x34]
lea r9, [rbp + 0x40]
mov dword [rsp + 0x38], eax
mov r8d, 0xffffffff
mov eax, dword [r15 + 0x30]
mov rcx, r14
mov dword [rsp + 0x30], eax
mov rax, qword [rbp - 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rbp]
mov qword [rsp + 0x20], rax
call fcn.14008d640
mov rcx, r15
call fcn.1400bb9b0
lea rbx, [rsi + 0x18]
jmp 0x14009c48c
mov dword [rsp + 0x48], edi
mov dword [rsp + 0x70], edi
mov dword [rsp + 0x74], edi
test r15, r15
je 0x14009a999
mov rcx, qword [r12 + 0x20]
mov eax, dword [rcx]
test eax, eax
jle 0x14009a85d
add rcx, 0x22
nop dword [rax + rax]
dec eax
mov word [rcx], di
lea rcx, [rcx + 0x20]
test eax, eax
jg 0x14009a850
mov eax, dword [r15]
lea r13, [r15 + 8]
test eax, eax
jle 0x14009a87d
lea rcx, [r13 + 0x1a]
nop dword [rax]
dec eax
mov word [rcx], di
lea rcx, [rcx + 0x20]
test eax, eax
jg 0x14009a870
cmp word [r12 + 2], 0x42
jle 0x14009a891
mov eax, 0x42
mov word [r12 + 2], ax
mov rcx, qword [rbp + 0x40]
test rcx, rcx
je 0x14009a944
mov eax, dword [r15]
cmp eax, dword [rcx]
jne 0x14009a944
mov r8d, edi
test eax, eax
jle 0x14009a8e0
mov rdx, rdi
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbp + 0x40]
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 0x14009a8c0
mov rcx, qword [rbp + 0x40]
test rcx, rcx
je 0x14009a944
cmp eax, dword [rcx]
jne 0x14009a944
mov r15d, edi
test eax, eax
jle 0x14009a937
lea rbx, [rcx + 8]
nop dword [rax + rax]
movzx eax, byte [rbx + 0x10]
cmp byte [r13 + 0x10], al
jne 0x14009a93f
mov r8, qword [rbx]
mov r9d, 0xffffffff
mov rdx, qword [r13]
xor ecx, ecx
call fcn.140057120
test eax, eax
jne 0x14009a93f
mov rax, qword [rsp + 0x68]
inc r15d
add rbx, 0x20
add r13, 0x20
cmp r15d, dword [rax]
jl 0x14009a900
mov dword [rsp + 0x74], 1
mov r15, qword [rsp + 0x68]
dec dword [r14 + 0x44]
mov edx, 0x38
mov eax, dword [r14 + 0x44]
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x78], eax
call fcn.1400068f0
mov qword [rbp - 0x28], rax
mov r13, rax
test rax, rax
je 0x14009aa05
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 [r14]
test rcx, rcx
je 0x14009a9a1
lea edx, [rax + 0x18]
call fcn.1400068f0
jmp 0x14009a9ab
mov word [r12 + 2], di
jmp 0x14009a944
mov ecx, 0x18
call fcn.140006120
mov rcx, rax
test rax, rax
je 0x14009a9d5
mov rax, qword [r14 + 0xc0]
mov qword [rcx], rax
lea rax, [0x140098c20]
mov qword [r14 + 0xc0], rcx
mov qword [rcx + 0x10], rax
mov qword [rcx + 8], r13
jmp 0x14009aa05
mov rdx, qword [r13 + 0x18]
mov rbx, qword [r14]
test rdx, rdx
je 0x14009a9e9
mov rcx, rbx
call fcn.1400063f0
mov rdx, qword [r13 + 0x28]
test rdx, rdx
je 0x14009a9fa
mov rcx, rbx
call fcn.1400063f0
mov rdx, r13
mov rcx, rbx
call fcn.1400063f0
mov r11, qword [rsp + 0x50]
cmp byte [r11 + 0x67], 0
jne 0x140099644
mov eax, dword [r12 + 0x10]
xorps xmm0, xmm0
mov rcx, qword [rsp + 0x60]
xorps xmm1, xmm1
mov dword [r13 + 0x34], eax
mov qword [rbp + 0x70], r14
mov qword [rbp + 0x78], rcx
mov qword [rbp + 0x80], r13
movdqu xmmword [rbp + 0x88], xmm0
movdqu xmmword [rbp + 0x98], xmm1
test r15, r15
je 0x14009aa52
mov eax, dword [r15]
jmp 0x14009aa54
mov eax, edi
mov word [r13 + 2], ax
mov rax, qword [rbp - 0x48]
mov qword [r13 + 0x10], r15
test rax, rax
je 0x14009aad8
cmp dword [rax], 0
lea rbx, [rax + 8]
mov r15d, edi
jle 0x14009aad8
lea rsi, [0x140058030]
lea r12, [0x140047f40]
lea r13, [0x140047f50]
nop word [rax + rax]
mov rdx, qword [rbx]
lea rcx, [rbp + 0x70]
mov qword [rbp + 0x18], rsi
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x28], r13
mov dword [rbp + 0x30], edi
mov qword [rbp + 0x38], rcx
mov qword [rbp + 0x10], rdi
test rdx, rdx
je 0x14009aac0
lea rcx, [rbp + 0x10]
call fcn.140047b30
mov rax, qword [rbp - 0x48]
inc r15d
add rbx, 0x20
cmp r15d, dword [rax]
jl 0x14009aa90
mov rsi, qword [rbp - 0x58]
mov r12, qword [rbp - 0x20]
mov r13, qword [rbp - 0x28]
mov rax, qword [rbp + 0x40]
mov qword [rbp - 0x80], rax
test rax, rax
je 0x14009ab58
cmp dword [rax], 0
lea rbx, [rax + 8]
mov r15d, edi
jle 0x14009ab58
lea rsi, [0x140058030]
lea r12, [0x140047f40]
lea r13, [0x140047f50]
nop word [rax + rax]
mov rdx, qword [rbx]
lea rcx, [rbp + 0x70]
mov qword [rbp + 0x18], rsi
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x28], r13
mov dword [rbp + 0x30], edi
mov qword [rbp + 0x38], rcx
mov qword [rbp + 0x10], rdi
test rdx, rdx
je 0x14009ab40
lea rcx, [rbp + 0x10]
call fcn.140047b30
mov rax, qword [rbp - 0x80]
inc r15d
add rbx, 0x20
cmp r15d, dword [rax]
jl 0x14009ab10
mov rsi, qword [rbp - 0x58]
mov r12, qword [rbp - 0x20]
mov r13, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x70]
mov rbx, qword [rsp + 0x68]
test rcx, rcx
je 0x14009abea
test rbx, rbx
je 0x14009abae
mov rdx, qword [r12 + 0x40]
lea rax, [0x1400988d0]
mov qword [rbp + 0x30], rdi
xorps xmm0, xmm0
mov qword [rbp + 0x10], r14
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x38], r12
movdqu xmmword [rbp + 0x20], xmm0
test rdx, rdx
je 0x14009aba5
lea rcx, [rbp + 0x10]
call fcn.140047b30
mov rcx, qword [rbp - 0x70]
mov rax, qword [r12 + 0x30]
mov qword [rbp - 0x50], rax
lea rax, [0x140058030]
mov dword [rbp + 0x30], edi
mov qword [rbp + 0x18], rax
mov rdx, rcx
lea rax, [0x140047f40]
mov qword [rbp + 0x10], rdi
mov qword [rbp + 0x20], rax
lea rcx, [rbp + 0x10]
lea rax, [0x140047f50]
mov qword [rbp + 0x28], rax
lea rax, [rbp + 0x70]
mov qword [rbp + 0x38], rax
call fcn.140047b30
mov eax, dword [r13 + 0x20]
mov dword [r13 + 0x24], eax
cmp qword [r12 + 0x38], 0
jne 0x14009ac24
cmp qword [r12 + 0x40], 0
jne 0x14009ac24
cmp dword [r13 + 0x30], 1
jne 0x14009ac24
mov rdx, qword [r13 + 0x28]
lea r8, [rbp - 0x10]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rdx]
call fcn.140095a10
mov byte [rsp + 0x44], al
jmp 0x14009ac29
mov byte [rsp + 0x44], 0
lea rdx, [rbp + 0x70]
mov rcx, r13
call fcn.140097ea0
mov r11, qword [rsp + 0x50]
cmp byte [r11 + 0x67], 0
jne 0x140099644
test rbx, rbx
je 0x14009bda4
cmp dword [r13 + 0x30], 1
mov r15, rdi
mov qword [rbp - 0x40], rdi
mov word [rsp + 0x44], di
jne 0x14009ad4d
mov rax, qword [r13 + 0x28]
cmp dword [rax + 0x10], 0
jl 0x14009ad4d
mov rax, qword [rax]
test rax, rax
je 0x14009ad4d
test dword [rax + 4], 0x1000
jne 0x14009ad4d
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x14009ad4d
mov rdx, qword [rcx + 8]
test rdx, rdx
je 0x14009acba
xor r9d, r9d
xor r8d, r8d
mov rcx, r11
call fcn.14004db40
mov r11, qword [rsp + 0x50]
mov rbx, rax
jmp 0x14009acbd
mov rbx, rdi
mov rdx, qword [rsp + 0x68]
xor r8d, r8d
mov rcx, r11
call fcn.14004e040
mov qword [rbp - 0x40], rax
mov r15, rax
test rax, rax
jne 0x14009aced
mov rcx, qword [r14]
mov rdx, rbx
call fcn.14004ec00
mov r15, rax
mov qword [rbp - 0x40], rax
jmp 0x14009ad36
movsxd rax, dword [rax]
lea ecx, [rax + 1]
cmp dword [r15 + 4], ecx
jge 0x14009ad10
mov rcx, qword [r14]
mov r8, rbx
mov rdx, r15
call fcn.14004ece0
mov r15, rax
mov qword [rbp - 0x40], rax
jmp 0x14009ad36
movups xmm0, xmmword [0x140178aa0]
shl rax, 5
movups xmm1, xmmword [0x140178ab0]
mov dword [r15], ecx
movups xmmword [rax + r15 + 8], xmm0
movups xmmword [rax + r15 + 0x18], xmm1
mov qword [rax + r15 + 8], rbx
mov rbx, qword [rsp + 0x68]
mov rax, r15
neg rax
sbb ax, ax
and ax, 0x500
mov word [rsp + 0x44], ax
mov eax, dword [r14 + 0x34]
xor r8d, r8d
mov dword [r13 + 4], eax
mov rdx, rbx
inc dword [r14 + 0x34]
mov rcx, r14
mov r9d, dword [r13 + 0x20]
call fcn.14008e880
movsxd r10, dword [rsi + 0x90]
mov rbx, rax
movzx edx, word [r13 + 2]
mov r8d, dword [r13 + 4]
mov qword [rbp - 8], rax
mov dword [rbp - 0x58], r10d
cmp dword [rsi + 0x94], r10d
jg 0x14009adab
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x77
mov rcx, rsi
call fcn.1400331f0
mov r10d, eax
mov dword [rbp - 0x58], eax
jmp 0x14009add9
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.140033fd0
mov eax, dword [r14 + 0x38]
mov r9, qword [rsp + 0x68]
inc eax
mov dword [rbp - 0x38], eax
lea edx, [rax + 1]
mov eax, dword [r14 + 0x44]
lea ecx, [rdx + 2]
mov dword [rsp + 0x40], edx
mov dword [r14 + 0x38], ecx
lea r8d, [rcx + 1]
dec eax
mov dword [rbp - 0x78], ecx
mov dword [rbp - 0x5c], eax
mov dword [rbp - 0x64], r8d
lea ebx, [rax - 1]
mov dword [r14 + 0x44], ebx
add ecx, dword [r9]
mov dword [r14 + 0x38], ecx
mov dword [rsp + 0x58], ebx
lea eax, [rcx + 1]
add ecx, dword [r9]
mov dword [r14 + 0x38], ecx
movsxd rcx, dword [rsi + 0x90]
mov dword [rbp - 0x68], eax
cmp dword [rsi + 0x94], ecx
jg 0x14009ae6c
xor r8d, r8d
mov dword [rsp + 0x20], edi
mov r9d, edx
mov rcx, rsi
lea edx, [r8 + 0x47]
call fcn.1400331f0
mov r8d, dword [rbp - 0x64]
mov r9, qword [rsp + 0x68]
jmp 0x14009ae95
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 [r9]
movsxd rcx, dword [rsi + 0x90]
dec edx
add edx, r8d
cmp dword [rsi + 0x94], ecx
jg 0x14009aec4
mov r9d, r8d
mov dword [rsp + 0x20], edx
xor r8d, r8d
mov rcx, rsi
lea edx, [r8 + 0x4b]
call fcn.1400331f0
jmp 0x14009aeee
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], r8d
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 0x14009af17
mov r8d, dword [rbp - 0x78]
mov r9d, ebx
mov edx, 0xa
mov dword [rsp + 0x20], edi
mov rcx, rsi
call fcn.1400331f0
jmp 0x14009af46
mov edx, dword [rbp - 0x78]
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], ebx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov eax, dword [rsp + 0x74]
mov edx, 0x80
mov r9, qword [rsp + 0x68]
neg eax
mov r8, qword [rbp - 0x50]
mov eax, 0x40
sbb cx, cx
mov dword [rsp + 0x38], edi
and cx, 0x200
cmp byte [rbp], 2
cmove ax, dx
mov rdx, qword [rsp + 0x60]
or cx, ax
or cx, word [rsp + 0x44]
mov word [rsp + 0x30], cx
mov rcx, r14
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r15
call fcn.1400ba940
mov qword [rbp - 0x28], rax
mov rbx, rax
test rax, rax
jne 0x14009afbe
test r15, r15
je 0x14009963f
mov rcx, qword [rsp + 0x50]
mov rdx, r15
call fcn.14004f230
jmp 0x14009963f
cmp qword [r14 + 0x60], 0
je 0x14009b01a
cmp word [r13 + 2], 0
mov r9d, dword [r13 + 0x24]
mov dword [r13 + 0x20], r9d
jbe 0x14009b00e
mov rax, qword [r12 + 0x38]
mov r8d, edi
mov ecx, dword [rax]
dec ecx
test r9d, r9d
jle 0x14009b006
mov rdx, qword [r13 + 0x18]
add rdx, 0x16
nop
movsx eax, word [rdx]
lea rdx, [rdx + 0x18]
cmp eax, ecx
cmovle eax, ecx
inc r8d
mov ecx, eax
cmp r8d, r9d
jl 0x14009aff0
inc cx
mov word [r13 + 2], cx
lea rdx, [rbp + 0x70]
mov rcx, r13
call fcn.140097ea0
mov eax, dword [r14 + 0x38]
mov ecx, edi
inc eax
mov dword [r13 + 0xc], eax
mov eax, dword [r13 + 0x20]
add eax, dword [r13 + 0x30]
add dword [r14 + 0x38], eax
movzx eax, byte [rbx + 0x43]
movsx edx, byte [rbx + 0x41]
test dl, dl
mov dword [rbp - 0x50], eax
mov rax, qword [rsp + 0x68]
cmovns ecx, edx
cmp ecx, dword [rax]
jne 0x14009b053
mov dword [rbp - 0x60], edi
jmp 0x14009b3f6
cmp byte [rbp], 0
je 0x14009b068
test byte [r12 + 4], 1
lea r9, str.DISTINCT
je 0x14009b06f
lea r9, str.GROUP_BY
lea r8, str.USE_TEMP_B_TREE_FOR__s
xor edx, edx
mov rcx, r14
call fcn.140033860
mov r10, qword [rsp + 0x68]
mov eax, dword [r13 + 0x20]
mov dword [rbp - 0x60], 1
mov edx, dword [r10]
mov ebx, edx
mov dword [rsp + 0x60], edx
test eax, eax
jle 0x14009b0d0
mov r8, qword [r13 + 0x18]
mov r9d, eax
add r8, 0x16
nop dword [rax + rax]
movsx ecx, word [r8]
lea eax, [rbx + 1]
cmp ecx, edx
lea r8, [r8 + 0x18]
cmovl eax, ebx
mov ebx, eax
lea eax, [rdx + 1]
cmovl eax, edx
mov edx, eax
sub r9, 1
jne 0x14009b0b0
cmp ebx, 1
jne 0x14009b106
movzx eax, byte [r14 + 0x1f]
lea r15, [r14 + 0x1f]
test al, al
jne 0x14009b0f0
inc dword [r14 + 0x38]
mov eax, dword [r14 + 0x38]
mov dword [rsp + 0x48], eax
jmp 0x14009b13a
dec al
movzx eax, al
mov byte [r15], al
mov eax, dword [r14 + rax*4 + 0xe0]
mov dword [rsp + 0x48], eax
jmp 0x14009b13a
mov edx, dword [r14 + 0x28]
mov ecx, dword [r14 + 0x2c]
mov dword [rsp + 0x48], ecx
cmp ebx, edx
jg 0x14009b125
lea eax, [rbx + rcx]
sub edx, ebx
mov dword [r14 + 0x2c], eax
mov dword [r14 + 0x28], edx
jmp 0x14009b136
mov eax, dword [r14 + 0x38]
lea ecx, [rax + 1]
add eax, ebx
mov dword [r14 + 0x38], eax
mov dword [rsp + 0x48], ecx
lea r15, [r14 + 0x1f]
mov r8d, dword [rsp + 0x48]
xor r9d, r9d
mov rdx, r10
mov byte [rsp + 0x20], 0
mov rcx, r14
call fcn.140056040
cmp dword [r13 + 0x20], 0
mov r8d, edi
mov byte [r13], 1
mov dword [rsp + 0x70], edi
jle 0x14009b1d3
mov r12d, dword [rsp + 0x60]
mov rcx, rdi
mov edi, dword [rsp + 0x48]
mov qword [rbp - 0x80], rcx
nop word [rax + rax]
mov rdx, qword [r13 + 0x18]
movsx eax, word [rdx + rcx + 0x16]
cmp eax, r12d
jl 0x14009b1b0
mov rdx, qword [rdx + rcx + 8]
lea r8d, [rdi + r12]
mov rcx, r14
call fcn.140055e80
mov rcx, qword [rbp - 0x80]
inc r12d
mov r8d, dword [rsp + 0x70]
mov rax, r15
jmp 0x14009b1b4
lea rax, [r14 + 0x1f]
inc r8d
add rcx, 0x18
mov dword [rsp + 0x70], r8d
mov qword [rbp - 0x80], rcx
cmp r8d, dword [r13 + 0x20]
jl 0x14009b180
mov r12, qword [rbp - 0x20]
mov r15, rax
xor edi, edi
mov byte [r13], 0
movzx eax, byte [r15]
test al, al
jne 0x14009b1ea
inc dword [r14 + 0x38]
mov edx, dword [r14 + 0x38]
jmp 0x14009b1fa
dec al
movzx eax, al
mov byte [r15], al
mov edx, dword [r14 + rax*4 + 0xe0]
movsxd rcx, dword [rsi + 0x90]
mov r8d, dword [rsp + 0x48]
mov dword [rsp + 0x70], edx
cmp dword [rsi + 0x94], ecx
jg 0x14009b22c
mov dword [rsp + 0x20], edx
mov r9d, ebx
mov edx, 0x61
mov rcx, rsi
call fcn.1400331f0
mov edx, dword [rsp + 0x70]
jmp 0x14009b259
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], r8d
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]
mov r8d, dword [r13 + 4]
cmp dword [rsi + 0x94], ecx
jg 0x14009b286
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x8b
mov rcx, rsi
call fcn.1400331f0
mov edx, dword [rsp + 0x70]
jmp 0x14009b2b3
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], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
test edx, edx
je 0x14009b2ca
movzx eax, byte [r15]
cmp al, 8
jae 0x14009b2ca
mov dword [r14 + rax*4 + 0xe0], edx
inc byte [r15]
cmp ebx, 1
jne 0x14009b2ec
mov ecx, dword [rsp + 0x48]
test ecx, ecx
je 0x14009b2fe
movzx eax, byte [r15]
cmp al, 8
jae 0x14009b2fe
mov dword [r14 + rax*4 + 0xe0], ecx
inc byte [r15]
jmp 0x14009b2fe
cmp ebx, dword [r14 + 0x28]
jle 0x14009b2fe
mov eax, dword [rsp + 0x48]
mov dword [r14 + 0x2c], eax
mov dword [r14 + 0x28], ebx
mov rcx, qword [rbp - 0x28]
call fcn.1400bb9b0
mov edx, dword [r14 + 0x34]
mov dword [r13 + 8], edx
inc dword [r14 + 0x34]
movzx eax, byte [r15]
mov dword [rsp + 0x48], edx
test al, al
jne 0x14009b329
inc dword [r14 + 0x38]
mov r8d, dword [r14 + 0x38]
jmp 0x14009b339
dec al
movzx eax, al
mov byte [r15], al
mov r8d, dword [r14 + rax*4 + 0xe0]
movsxd rcx, dword [rsi + 0x90]
mov dword [rsp + 0x70], r8d
cmp dword [rsi + 0x94], ecx
jg 0x14009b366
mov r9d, r8d
mov dword [rsp + 0x20], ebx
mov r8d, edx
mov rcx, rsi
mov edx, 0x79
call fcn.1400331f0
jmp 0x14009b393
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], edx
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi + 0x90]
mov edx, dword [r13 + 4]
cmp dword [rsi + 0x94], ecx
jg 0x14009b3c1
mov r9d, dword [rsp + 0x78]
mov r8d, edx
mov edx, 0x22
mov dword [rsp + 0x20], edi
mov rcx, rsi
call fcn.1400331f0
jmp 0x14009b3f1
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 + 0x78]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0x22
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov byte [r13 + 1], 1
cmp qword [r14 + 0x60], 0
je 0x14009b453
cmp dword [r13 + 0x30], 0
lea rax, [0x140097fb0]
xorps xmm0, xmm0
mov qword [rbp + 0x18], rax
xorps xmm1, xmm1
mov qword [rbp + 0x10], rdi
movdqu xmmword [rbp + 0x20], xmm0
mov r15d, edi
movdqu xmmword [rbp + 0x30], xmm1
jle 0x14009b453
mov rbx, rdi
nop dword [rax]
mov rax, qword [r13 + 0x28]
mov rdx, qword [rbx + rax]
test rdx, rdx
je 0x14009b446
lea rcx, [rbp + 0x10]
call fcn.140047b30
inc r15d
add rbx, 0x18
cmp r15d, dword [r13 + 0x30]
jl 0x14009b430
cmp dword [rsp + 0x74], 0
je 0x14009b4ad
mov rax, qword [rsp + 0x50]
test byte [rax + 0x60], 4
jne 0x14009b4ad
cmp dword [rbp - 0x60], 0
jne 0x14009b475
mov rax, qword [rbp - 0x28]
test byte [rax + 0x44], 8
je 0x14009b4ad
mov qword [rbp + 0x40], rdi
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], 0
jne 0x14009b4ad
movsxd rax, dword [rbp + 0x58]
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.140033db0
mov word [rbx], 0xb8
mov qword [rbx + 0x10], rdi
cmp dword [rbp - 0x60], 0
movsxd r15, dword [rsi + 0x90]
mov dword [rsp + 0x60], r15d
je 0x14009b4e9
mov edx, dword [r13 + 4]
cmp dword [rsi + 0x94], r15d
jg 0x14009b549
mov eax, dword [rsp + 0x48]
mov r8d, edx
mov r9d, dword [rsp + 0x70]
mov edx, 0x85
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.1400331f0
mov edx, dword [rsp + 0x48]
mov rax, qword [rsp + 0x68]
mov ebx, edi
cmp dword [rax], 0
jle 0x14009b5e4
mov r12d, dword [rbp - 0x60]
lea r15, [rax + 8]
nop word [rax + rax]
mov r8d, dword [rbp - 0x68]
add r8d, ebx
test r12d, r12d
je 0x14009b5b4
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x14009b585
mov dword [rsp + 0x20], r8d
mov r9d, ebx
mov r8d, edx
mov rcx, rsi
mov edx, 0x5e
call fcn.1400331f0
jmp 0x14009b5c4
mov r8d, dword [rsp + 0x70]
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 [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], rdi
jmp 0x14009b4ed
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 0x14009b5c8
mov byte [r13], 1
mov rcx, r14
mov rdx, qword [r15]
call fcn.140055e80
mov edx, dword [rsp + 0x48]
mov rax, qword [rsp + 0x68]
inc ebx
add r15, 0x20
cmp ebx, dword [rax]
jl 0x14009b510
mov r12, qword [rbp - 0x20]
mov r15d, dword [rsp + 0x60]
mov rbx, qword [rbp - 8]
test rbx, rbx
je 0x14009b5ef
inc dword [rbx]
movsxd rdx, dword [rsi + 0x90]
mov r8d, dword [rax]
cmp dword [rsi + 0x94], edx
jg 0x14009b61f
mov r9d, dword [rbp - 0x68]
mov edx, 0x5a
mov dword [rsp + 0x20], r8d
mov rcx, rsi
mov r8d, dword [rbp - 0x64]
call fcn.1400331f0
mov edx, eax
jmp 0x14009b656
mov r9d, dword [rbp - 0x64]
lea rcx, [rdx + rdx*2]
mov r10d, dword [rbp - 0x68]
lea eax, [rdx + 1]
mov dword [rsi + 0x90], eax
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.140033fd0
movsxd rbx, dword [rsi + 0x90]
lea edx, [rbx + 1]
cmp dword [rsi + 0x94], ebx
jg 0x14009b691
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, edx
mov rcx, rsi
lea edx, [r9 + 0xe]
call fcn.1400331f0
jmp 0x14009b6ba
mov rax, qword [rsi + 0x88]
lea rcx, [rbx + rbx*2]
mov dword [rsi + 0x90], edx
mov dword [rax + rcx*8], 0xe
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 [r14 + 0x10]
mov rax, qword [rsp + 0x68]
mov r8d, dword [rbp - 0x68]
movsxd rcx, dword [r10 + 0x90]
mov edx, dword [rax]
cmp dword [r10 + 0x94], ecx
jg 0x14009b6f0
mov r9d, dword [rbp - 0x64]
mov rcx, r10
mov dword [rsp + 0x20], edx
mov edx, 0x4f
call fcn.1400331f0
jmp 0x14009b723
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 - 0x64]
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], rdi
movsxd rcx, dword [rsi + 0x90]
mov r8d, dword [rsp + 0x40]
cmp dword [rsi + 0x94], ecx
jg 0x14009b756
mov r9d, dword [rbp - 0x5c]
inc r8d
mov edx, 0xa
mov dword [rsp + 0x20], edi
mov rcx, rsi
call fcn.1400331f0
mov r8d, dword [rsp + 0x40]
jmp 0x14009b789
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 [rbp - 0x5c]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0xa
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 0x14009b7b0
mov r9d, dword [rsp + 0x78]
mov edx, 0x3b
mov rcx, rsi
mov dword [rsp + 0x20], edi
call fcn.1400331f0
jmp 0x14009b7e1
mov edx, dword [rsp + 0x78]
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 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], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x14009b80c
mov r9d, dword [rsp + 0x58]
mov edx, 0xa
mov r8d, dword [rbp - 0x78]
mov rcx, rsi
mov dword [rsp + 0x20], edi
call fcn.1400331f0
jmp 0x14009b83f
mov edx, dword [rbp - 0x78]
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 + 0x58]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0xa
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov rax, qword [rsi]
mov edx, dword [rsi + 0x90]
cmp byte [rax + 0x67], 0
je 0x14009b857
lea rax, [0x1401a64e0]
jmp 0x14009b866
mov rax, qword [rsi + 0x88]
lea rcx, [rbx + rbx*2]
lea rax, [rax + rcx*8]
mov ebx, dword [rbp - 0x38]
mov r8, r13
mov r9d, dword [rbp - 0x50]
mov rcx, r14
mov dword [rax + 8], edx
mov edx, ebx
call fcn.1400982f0
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x14009b8a6
mov edx, 0x47
mov dword [rsp + 0x20], edi
mov r9d, ebx
mov rcx, rsi
lea r8d, [rdx - 0x46]
call fcn.1400331f0
jmp 0x14009b8d6
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
cmp dword [rbp - 0x60], 0
je 0x14009b937
movsxd rcx, dword [rsi + 0x90]
mov edx, dword [r13 + 4]
cmp dword [rsi + 0x94], ecx
jg 0x14009b908
mov r8d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x25
mov r9d, r15d
mov rcx, rsi
call fcn.1400331f0
jmp 0x14009b974
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 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], edi
mov qword [rax + rcx*8 + 0x10], rdi
jmp 0x14009b974
mov rcx, qword [rbp - 0x28]
call fcn.1400bb9b0
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], 0
jne 0x14009b974
movsxd rax, dword [rbp - 0x58]
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.140033db0
mov word [rbx], 0xb8
mov qword [rbx + 0x10], rdi
mov rdx, qword [rbp - 0x40]
test rdx, rdx
je 0x14009b987
mov rcx, qword [rsp + 0x50]
call fcn.14004f230
mov ebx, dword [rsp + 0x40]
movsxd rcx, dword [rsi + 0x90]
inc ebx
cmp dword [rsi + 0x94], ecx
jg 0x14009b9b6
mov r9d, dword [rbp - 0x5c]
mov r8d, ebx
mov edx, 0xa
mov dword [rsp + 0x20], edi
mov rcx, rsi
call fcn.1400331f0
jmp 0x14009b9e5
mov edx, dword [rbp - 0x5c]
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], ebx
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 0x14009ba0e
mov r9d, dword [rsp + 0x78]
xor r8d, r8d
mov rcx, rsi
mov dword [rsp + 0x20], edi
lea edx, [r8 + 9]
call fcn.1400331f0
jmp 0x14009ba3b
mov edx, dword [rsp + 0x78]
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd r15, dword [rsi + 0x90]
cmp dword [rsi + 0x94], r15d
jg 0x14009ba67
mov r9d, dword [rsp + 0x40]
mov edx, 0x47
mov rcx, rsi
mov dword [rsp + 0x20], edi
lea r8d, [rdx - 0x46]
call fcn.1400331f0
jmp 0x14009ba9c
mov edx, dword [rsp + 0x40]
lea rcx, [r15 + r15*2]
lea eax, [r15 + 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 0x14009bac3
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov r8d, ebx
mov rcx, rsi
lea edx, [r9 + 0x43]
call fcn.1400331f0
jmp 0x14009baf0
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], ebx
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdi
mov rcx, qword [rsi + 0x18]
lea rbx, [rsi + 0x18]
mov edx, dword [rbp - 0x5c]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14009bb12
mov r8d, edx
mov rdx, rsi
call fcn.140033a80
jmp 0x14009bb22
mov rcx, qword [rcx + 0x50]
mov eax, dword [rsi + 0x90]
movsxd rdx, edx
mov dword [rcx + rdx*4], eax
movsxd rax, dword [rsi + 0x90]
mov r8d, dword [rbp - 0x38]
lea ecx, [rax + 1]
lea edx, [rax + 2]
mov dword [rbp - 0x58], ecx
cmp dword [rsi + 0x94], eax
jg 0x14009bb54
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x3b
mov rcx, rsi
call fcn.1400331f0
jmp 0x14009bb7e
mov dword [rsi + 0x90], ecx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 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], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x14009bbaa
mov r8d, dword [rsp + 0x40]
xor r9d, r9d
inc r8d
mov dword [rsp + 0x20], edi
mov rcx, rsi
lea edx, [r9 + 0x43]
call fcn.1400331f0
jmp 0x14009bbdd
mov edx, dword [rsp + 0x40]
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 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], rdi
mov rdx, r13
mov rcx, r14
call fcn.1400981d0
mov r8d, dword [rbp - 0x58]
mov r9d, 0x10
mov rdx, qword [rbp - 0x70]
mov rcx, r14
call fcn.140056a30
mov eax, dword [rbp - 0x58]
lea r9, [rbp + 0x40]
mov dword [rsp + 0x38], r15d
mov r8d, 0xffffffff
mov dword [rsp + 0x30], eax
mov rdx, r12
mov rax, qword [rbp - 0x30]
mov rcx, r14
mov qword [rsp + 0x28], rax
lea rax, [rbp]
mov qword [rsp + 0x20], rax
call fcn.14008d640
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x14009bc5d
mov r8d, dword [rsp + 0x40]
xor r9d, r9d
inc r8d
mov dword [rsp + 0x20], edi
mov rcx, rsi
lea edx, [r9 + 0x43]
call fcn.1400331f0
jmp 0x14009bc90
mov edx, dword [rsp + 0x40]
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 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], rdi
mov rcx, qword [rbx]
mov edx, dword [rsp + 0x58]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14009bcae
mov r8d, edx
mov rdx, rsi
call fcn.140033a80
jmp 0x14009bcbe
mov rcx, qword [rcx + 0x50]
mov eax, dword [rsi + 0x90]
movsxd rdx, edx
mov dword [rcx + rdx*4], eax
mov rdx, r13
mov rcx, r14
call fcn.140098010
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x14009bcf1
mov r9d, dword [rbp - 0x38]
xor r8d, r8d
mov rcx, rsi
mov dword [rsp + 0x20], edi
lea edx, [r8 + 0x47]
call fcn.1400331f0
jmp 0x14009bd1d
mov edx, dword [rbp - 0x38]
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 0x14009bd45
mov r8d, dword [rbp - 0x78]
xor r9d, r9d
mov rcx, rsi
mov dword [rsp + 0x20], edi
lea edx, [r9 + 0x43]
call fcn.1400331f0
jmp 0x14009bd75
mov edx, dword [rbp - 0x78]
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 + 0x44], 0
je 0x14009bd9a
mov ecx, dword [rbp - 0x50]
test ecx, ecx
je 0x14009bd9a
mov rax, qword [r13 + 0x28]
mov edx, ecx
mov rcx, r14
mov r9d, dword [rax + 0x14]
mov r8d, dword [rax + 0x10]
call fcn.14008d510
mov r15d, dword [rsp + 0x78]
jmp 0x14009c461
cmp qword [r12 + 0x30], 0
jne 0x14009c18f
mov rdx, qword [r12 + 0x20]
cmp dword [rdx], 1
jne 0x14009c18f
mov r8, qword [r12 + 0x28]
cmp dword [r8], 1
jne 0x14009c18f
cmp qword [r8 + 0x30], 0
jne 0x14009c18f
cmp dword [r13 + 0x30], 1
jne 0x14009c18f
cmp qword [r12 + 0x40], 0
jne 0x14009c18f
mov r8, qword [r8 + 0x28]
mov qword [rbp - 0x40], r8
cmp byte [r8 + 0x3f], 0
jne 0x14009c18f
mov rdx, qword [rdx + 8]
cmp byte [rdx], 0xa8
jne 0x14009c18f
cmp qword [rdx + 0x38], r13
jne 0x14009c18f
mov rax, qword [r13 + 0x28]
mov rcx, qword [rax + 8]
test dword [rcx + 4], 0x100
je 0x14009c18f
test dword [rdx + 4], 0x1000004
jne 0x14009c18f
mov rdx, qword [r8 + 0x60]
mov r15d, 0xffff8000
test rdx, rdx
je 0x14009be6c
mov rax, qword [r14]
mov r15d, edi
mov rcx, qword [rax + 0x20]
add rcx, 0x18
cmp qword [rcx], rdx
je 0x14009be6c
nop dword [rax]
inc r15d
lea rcx, [rcx + 0x20]
cmp qword [rcx], rdx
jne 0x14009be60
mov eax, dword [r14 + 0x34]
mov rcx, r14
mov dword [rsp + 0x74], eax
mov r10, rdi
inc eax
mov qword [rbp - 0x80], rdi
mov dword [r14 + 0x34], eax
mov rbx, rdi
mov eax, dword [r8 + 0x28]
mov dword [rsp + 0x58], eax
mov rax, qword [r14 + 0xa8]
test rax, rax
cmovne rcx, rax
mov eax, dword [rcx + 0x7c]
bt eax, r15d
jb 0x14009beba
bts eax, r15d
mov dword [rcx + 0x7c], eax
cmp r15d, 1
jne 0x14009bec0
call fcn.14006c2f0
jmp 0x14009bef3
cmp r15d, 1
je 0x14009befa
mov rax, qword [r14]
movsxd rdx, r15d
shl rdx, 5
mov rcx, qword [rax + 0x20]
mov rax, qword [rdx + rcx + 8]
cmp byte [rax + 0x11], 0
je 0x14009befa
mov rax, qword [r8]
xor r9d, r9d
mov r8d, dword [r8 + 0x28]
mov edx, r15d
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.140061db0
mov r8, qword [rbp - 0x40]
mov r10, rdi
test byte [r8 + 0x30], 0x80
je 0x14009bf22
mov rbx, qword [r8 + 0x10]
test rbx, rbx
je 0x14009bf22
nop word [rax + rax]
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x14009bf22
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x14009bf10
mov rax, qword [r12 + 0x28]
test byte [rax + 0x48], 1
jne 0x14009bf65
mov rax, qword [r8 + 0x10]
test rax, rax
je 0x14009bf65
test byte [rax + 0x64], 4
jne 0x14009bf5c
movzx ecx, word [rax + 0x5c]
cmp cx, word [r8 + 0x3c]
jge 0x14009bf5c
cmp qword [rax + 0x48], 0
jne 0x14009bf5c
test rbx, rbx
je 0x14009bf59
cmp cx, word [rbx + 0x5c]
jge 0x14009bf5c
mov rbx, rax
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x14009bf36
test rbx, rbx
je 0x14009bf83
mov eax, dword [rbx + 0x58]
mov rdx, rbx
mov rcx, r14
mov dword [rsp + 0x58], eax
call fcn.14006cc50
mov r10, rax
mov qword [rbp - 0x80], rax
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x14009bfbf
mov r9d, dword [rsp + 0x58]
mov edx, 0x70
mov dword [rsp + 0x28], 1
mov rcx, rsi
mov dword [rsp + 0x20], r15d
mov r15d, dword [rsp + 0x74]
mov r8d, r15d
call fcn.140033250
mov r10, qword [rbp - 0x80]
jmp 0x14009bffc
mov edx, dword [rsp + 0x74]
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 + 0x58]
mov dword [rax + rcx*8 + 0xc], r15d
mov r15d, dword [rsp + 0x74]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0xfd70
mov dword [rax + rcx*8 + 0x10], 1
test r10, r10
je 0x14009c055
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], 0
je 0x14009c019
mov r8, r10
mov edx, 0xfffffff8
call fcn.140033db0
jmp 0x14009c055
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], 0
lea rdx, [rax + rdx*8]
je 0x14009c04d
mov r9d, 0xfffffff8
mov r8, r10
mov rcx, rsi
call fcn.140033ed0
jmp 0x14009c055
mov qword [rdx + 0x10], r10
mov byte [rdx + 1], 0xf8
mov eax, dword [r14 + 0x38]
inc eax
mov dword [r13 + 0xc], eax
mov eax, dword [r13 + 0x20]
add eax, dword [r13 + 0x30]
add dword [r14 + 0x38], eax
mov edx, dword [r13 + 0x20]
add edx, dword [r13 + 0xc]
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x14009c09b
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x62
mov r8d, r15d
mov rcx, rsi
call fcn.1400331f0
jmp 0x14009c0c8
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], r15d
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 0x14009c0ef
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov r8d, r15d
mov rcx, rsi
lea edx, [r9 + 0x7a]
call fcn.1400331f0
jmp 0x14009c11d
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], r15d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdi
cmp byte [r14 + 0x12b], 2
jne 0x14009c415
mov r9, qword [rbp - 0x40]
test rbx, rbx
je 0x14009c150
test byte [r9 + 0x30], 0x80
je 0x14009c144
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x14009c150
mov rax, qword [rbx]
lea rcx, [0x140170c75]
jmp 0x14009c15d
lea rcx, [0x140170c75]
mov dword [rbp - 0x38], edi
mov rax, rcx
cmp dword [rbp - 0x38], 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, r14
call fcn.140033860
jmp 0x14009c415
cmp dword [r13 + 0x24], 0
mov r15d, edi
mov r8d, dword [r13 + 0x30]
movzx ebx, di
mov qword [rbp - 0x80], rdi
je 0x14009c238
mov edx, edi
test r8d, r8d
jle 0x14009c1d4
mov rcx, qword [r13 + 0x28]
mov rax, qword [rcx]
test dword [rax + 4], 0x1000000
jne 0x14009c1c9
mov rax, qword [rcx + 8]
test byte [rax + 4], 0x20
jne 0x14009c1d4
inc edx
add rcx, 0x18
cmp edx, r8d
jl 0x14009c1b3
cmp edx, r8d
jne 0x14009c25e
inc dword [r14 + 0x38]
movsxd rcx, dword [rsi + 0x90]
mov r15d, dword [r14 + 0x38]
cmp dword [rsi + 0x94], ecx
jg 0x14009c20c
xor r8d, r8d
mov dword [rsp + 0x20], edi
mov r9d, r15d
mov rcx, rsi
lea edx, [r8 + 0x47]
call fcn.1400331f0
jmp 0x14009c25e
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], r15d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
jmp 0x14009c25e
cmp r8d, 1
jne 0x14009c25e
mov rax, qword [r13 + 0x28]
cmp dword [rax + 0x10], 0
jl 0x14009c25e
mov rax, qword [rax]
mov rax, qword [rax + 0x20]
mov qword [rbp - 0x80], rax
neg rax
sbb bx, bx
and bx, 0x500
mov eax, dword [r14 + 0x38]
mov rdx, r13
inc eax
mov rcx, r14
mov dword [r13 + 0xc], eax
mov eax, dword [r13 + 0x30]
add eax, dword [r13 + 0x20]
add dword [r14 + 0x38], eax
call fcn.140098010
movzx eax, byte [rsp + 0x44]
mov rcx, r14
mov r9, qword [rbp - 0x10]
or ax, bx
mov r8, qword [rbp - 0x50]
mov rdx, qword [rsp + 0x60]
mov dword [rsp + 0x38], edi
mov word [rsp + 0x30], ax
mov rax, qword [rbp - 0x80]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rax
call fcn.1400ba940
mov rbx, rax
test rax, rax
je 0x14009963f
movzx eax, byte [rax + 0x43]
mov r8, r13
mov r9d, eax
mov dword [rsp + 0x60], eax
mov edx, r15d
mov rcx, r14
call fcn.1400982f0
mov edx, dword [rsp + 0x60]
test edx, edx
je 0x14009c2f9
mov rax, qword [r13 + 0x28]
test rax, rax
je 0x14009c2f9
mov r9d, dword [rax + 0x14]
mov rcx, r14
mov r8d, dword [rax + 0x10]
call fcn.14008d510
test r15d, r15d
je 0x14009c358
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x14009c327
mov edx, 0x47
mov dword [rsp + 0x20], edi
mov r9d, r15d
mov rcx, rsi
lea r8d, [rdx - 0x46]
call fcn.1400331f0
jmp 0x14009c358
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], r15d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
cmp byte [rsp + 0x44], 0
je 0x14009c402
test byte [rbx + 0x44], 4
je 0x14009c402
cmp byte [rbx + 0x41], 0
je 0x14009c402
movzx edx, byte [rbx + 0x40]
sub rdx, 1
js 0x14009c3a7
imul rcx, rdx, 0x70
add rcx, rbx
nop dword [rax + rax]
mov rax, qword [rcx + 0x3c0]
test byte [rax + 0x38], 4
jne 0x14009c3d1
sub rcx, 0x70
sub rdx, 1
jns 0x14009c390
mov edx, dword [rbx + 0x34]
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x14009c3d9
xor r8d, r8d
mov dword [rsp + 0x20], edi
mov r9d, edx
mov rcx, rsi
lea edx, [r8 + 9]
call fcn.1400331f0
jmp 0x14009c402
mov edx, dword [rcx + 0x370]
jmp 0x14009c3aa
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], 9
mov rcx, rbx
call fcn.1400bb9b0
mov rdx, r13
mov rcx, r14
call fcn.1400981d0
mov r15d, dword [rsp + 0x78]
mov r9d, 0x10
mov rdx, qword [rbp - 0x70]
mov r8d, r15d
mov rcx, r14
mov qword [rbp + 0x40], rdi
call fcn.140056a30
mov rax, qword [rbp - 0x30]
xor r9d, r9d
mov dword [rsp + 0x38], r15d
mov rdx, r12
mov dword [rsp + 0x30], r15d
mov rcx, r14
mov qword [rsp + 0x28], rax
lea r8d, [r9 - 1]
mov qword [rsp + 0x20], rdi
call fcn.14008d640
lea rbx, [rsi + 0x18]
mov rcx, qword [rbx]
not r15d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14009c47c
mov r8d, r15d
mov rdx, rsi
call fcn.140033a80
jmp 0x14009c48c
mov rcx, qword [rcx + 0x50]
mov eax, dword [rsi + 0x90]
movsxd rdx, r15d
mov dword [rcx + rdx*4], eax
cmp byte [rbp + 1], 3
jne 0x14009c4aa
lea r9, str.DISTINCT
xor edx, edx
lea r8, str.USE_TEMP_B_TREE_FOR__s
mov rcx, r14
call fcn.140033860
cmp qword [rbp + 0x40], 0
je 0x14009c4d0
mov rax, qword [rbp - 0x30]
lea r8, [rbp + 0x40]
mov qword [rsp + 0x20], rax
mov rdx, r12
mov rax, qword [rbp - 0x48]
mov rcx, r14
mov r9d, dword [rax]
call fcn.14008e940
mov rcx, qword [rbx]
mov edx, dword [rbp - 0x18]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14009c4ed
mov r8d, edx
mov rdx, rsi
call fcn.140033a80
jmp 0x14009c4fd
mov rcx, qword [rcx + 0x50]
mov eax, dword [rsi + 0x90]
movsxd rdx, edx
mov dword [rcx + rdx*4], eax
cmp dword [r14 + 0x30], 0
mov eax, edi
mov r11, qword [rsp + 0x50]
setg al
mov r15d, eax
jmp 0x14009964a
mov rax, qword [rdx + 0x88]
lea rcx, [rcx + rcx*2]
mov edi, dword [rax + rcx*8 + 8]
lea rax, [rax + rcx*8]
mov dword [r14 + 0x138], edi
mov eax, r8d
jmp 0x140099699
mov eax, r15d
jmp 0x1400996a1