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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rdi
push r12
push r13
push r14
lea rbp, [rsp - 0xa8]
sub rsp, 0x1a8
mov rdi, qword [rcx + 0x10]
xor r12d, r12d
mov rax, qword [rcx]
mov r14, r8
mov dword [rsp + 0x78], 1
mov rbx, rdx
mov qword [rbp + 0x58], r12
mov r13, rcx
mov qword [rsp + 0x68], rax
mov qword [rbp - 0x58], rdi
test rdi, rdi
jne 0x1402ec9a3
cmp qword [rcx + 0xa0], r12
jne 0x1402ec997
test byte [rax + 0x60], 8
jne 0x1402ec997
mov byte [rcx + 0x23], 1
call fcn.1402f9490
mov rdi, rax
mov qword [rbp - 0x58], rax
test rbx, rbx
je 0x1402f01e4
cmp dword [r13 + 0x30], r12d
jne 0x1402f01e4
xor r9d, r9d
mov qword [rsp + 0x20], r12
xor r8d, r8d
mov rcx, r13
lea edx, [r9 + 0x15]
call fcn.1402b5a20
test eax, eax
jne 0x1402f01e4
cmp byte [r14], 6
lea rax, [0x1402ca180]
ja 0x1402eca05
mov r8, qword [rbx + 0x48]
test r8, r8
je 0x1402ec9fa
mov rdx, rax
mov rcx, r13
call fcn.1402e2760
mov qword [rbx + 0x48], r12
and dword [rbx + 4], 0xfffffffe
or dword [rbx + 4], 0x400000
mov qword [rsp + 0x1a0], rsi
xor r8d, r8d
mov rdx, rbx
mov qword [rsp + 0x198], r15
mov rcx, r13
call fcn.1402f1020
cmp dword [r13 + 0x30], r12d
jne 0x1402f01d3
mov r10d, dword [rbx + 4]
bt r10d, 0x17
jae 0x1402eca85
mov rdx, qword [rbx + 0x28]
lea r11, [rdx + 8]
mov rcx, r11
call fcn.1402a6050
test eax, eax
je 0x1402eca7c
mov r8, qword [r11 + 0x18]
test r8, r8
jne 0x1402eca5c
mov rax, qword [r11 + 0x20]
mov r8, qword [rax]
lea rdx, str.target_object_alias_may_not_appear_in_FROM_clause:__s
mov rcx, r13
call fcn.1402c4450
mov rcx, r13
call fcn.140302c00
mov eax, dword [rsp + 0x78]
jmp 0x1402ecd2d
btr r10d, 0x17
mov dword [rbx + 4], r10d
cmp byte [r14], 9
jne 0x1402eca96
mov rdx, rbx
mov rcx, r13
call fcn.1402d58b0
mov rdx, rbx
mov rcx, r13
call fcn.140313380
test eax, eax
jne 0x1402f01d3
mov eax, dword [rbx + 4]
xorps xmm0, xmm0
mov rsi, qword [rbx + 0x28]
mov r15d, r12d
shr eax, 3
and eax, 1
mov dword [rsp + 0x58], eax
mov rax, qword [rbx + 0x48]
movups xmmword [rbp + 0x60], xmm0
mov qword [rbp - 0x80], rax
mov qword [rbp + 0x60], rax
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x80], xmm0
cmp qword [rbx + 0x50], r12
jne 0x1402ecd0a
mov rdx, qword [rsp + 0x68]
mov r13, r12
mov r9d, 0x18
cmp r15d, dword [rsi]
jge 0x1402ecd7a
imul rbx, r13, 0x68
add rbx, rsi
movzx eax, byte [rbx + 0x44]
mov r14, qword [rbx + 0x30]
and al, r9b
mov r12, qword [rbx + 0x28]
cmp al, 8
jne 0x1402ecb6e
mov rax, qword [rbp + 0xe8]
mov edx, dword [rbx + 0x4c]
mov rcx, qword [rax + 0x30]
call fcn.1402c9a00
mov rdx, qword [rsp + 0x68]
test eax, eax
je 0x1402ecb68
test dword [rdx + 0x60], 0x2000
jne 0x1402ecb68
and byte [rbx + 0x44], 0xd7
mov edx, dword [rbx + 0x4c]
movzx r8d, byte [rsi + 0x44]
mov rbx, qword [rbp + 0xe8]
and r8d, 0x40
mov rcx, qword [rbx + 0x30]
call fcn.1403183f0
mov rdx, qword [rsp + 0x68]
mov r9d, 0x18
jmp 0x1402ecb75
mov r9d, 0x18
mov rbx, qword [rbp + 0xe8]
test r14, r14
je 0x1402ecceb
mov rax, qword [r14 + 0x20]
movsx r8d, word [r12 + 0x36]
mov ecx, dword [rax]
cmp r8d, ecx
jne 0x1402ecd4e
mov eax, dword [r14 + 4]
test al, 8
jne 0x1402ecceb
mov rbx, qword [r14 + 0x48]
test rbx, rbx
je 0x1402ecc55
mov rcx, qword [rbp + 0xe8]
cmp qword [rcx + 0x48], 0
jne 0x1402ecbc3
cmp dword [rsi], 1
jle 0x1402eccc4
cmp qword [r14 + 0x60], 0
jne 0x1402eccc4
bt eax, 0x1b
jb 0x1402eccc4
test dword [rcx + 4], 0x8000000
jne 0x1402eccc4
test dword [rdx + 0x60], 0x40000
jne 0x1402eccc4
mov rsi, qword [rbp + 0xe0]
mov rcx, qword [rsi]
test rcx, rcx
je 0x1402ecc0b
mov rdx, r9
call fcn.1402c1930
jmp 0x1402ecc13
mov rcx, r9
call fcn.1402dea40
mov rcx, rax
test rax, rax
je 0x1402ecc44
mov rdx, qword [rbp + 0xe0]
mov rax, qword [rdx + 0xb8]
mov qword [rcx], rax
lea rax, [0x1402ca180]
mov qword [rdx + 0xb8], rcx
mov qword [rcx + 0x10], rax
mov qword [rcx + 8], rbx
jmp 0x1402ecc4f
mov rcx, qword [rsi]
mov rdx, rbx
call fcn.14025b200
xor eax, eax
mov qword [r14 + 0x48], rax
mov rbx, qword [rbp + 0xe8]
mov r9d, dword [rsp + 0x58]
mov r8d, r15d
mov rcx, qword [rbp + 0xe0]
mov rdx, rbx
call fcn.140260650
test eax, eax
je 0x1402ecc96
mov r13, qword [rbp + 0xe0]
cmp dword [r13 + 0x30], 0
jne 0x1402f01d3
mov r15d, 0xffffffff
mov r13, 0xffffffffffffffff
mov rdx, qword [rsp + 0x68]
mov rsi, qword [rbx + 0x28]
cmp byte [rdx + 0x67], 0
jne 0x1402f01cc
mov r14, qword [rbp + 0xf0]
cmp byte [r14], 8
jbe 0x1402eccf2
mov rax, qword [rbx + 0x48]
mov qword [rbp - 0x80], rax
mov qword [rbp + 0x60], rax
jmp 0x1402eccf2
test r15d, r15d
jne 0x1402ecc55
mov rbx, qword [rbp + 0xe8]
test dword [rbx + 4], 0x40000
je 0x1402ecc5c
cmp dword [rsi], 1
je 0x1402ecceb
test byte [rsi + 0xac], 0x22
je 0x1402ecc5c
mov r14, qword [rbp + 0xf0]
inc r15d
inc r13
cmp qword [rbx + 0x50], 0
je 0x1402ecaed
mov r13, qword [rbp + 0xe0]
mov r8, r14
mov rdx, rbx
mov rcx, r13
call fcn.1402903d0
cmp qword [rbx + 0x58], 0
mov r10d, eax
jne 0x1402ecd2a
mov rcx, r13
call fcn.140302c00
mov eax, r10d
mov rsi, qword [rsp + 0x1a0]
mov r15, qword [rsp + 0x198]
add rsp, 0x1a8
pop r14
pop r13
pop r12
pop rdi
pop rbx
pop rbp
ret
mov r13, qword [rbp + 0xe0]
lea rdx, str.expected__d_columns_for__s_but_got__d
mov r9, qword [r12]
mov dword [rsp + 0x20], ecx
mov rcx, r13
call fcn.1402c4450
mov rcx, r13
call fcn.140302c00
mov eax, dword [rsp + 0x78]
jmp 0x1402ecd2d
mov rax, qword [rbx + 0x30]
mov r14, rsi
mov r13, qword [rbp + 0xe0]
mov qword [rsp + 0x48], rsi
test rax, rax
je 0x1402ecf45
cmp byte [rax], 0x2c
mov qword [rsp + 0x48], rsi
jne 0x1402ecf45
test dword [rdx + 0x60], 0x8000
mov qword [rsp + 0x48], rsi
jne 0x1402ecf45
mov rax, qword [r13]
lea r15, [0x14029b340]
add rax, 0x67
mov qword [rbp + 0x10], r13
mov qword [rbp + 0x18], rax
lea rdi, [fcn.14006f1e0]
xor r12d, r12d
mov qword [rsp + 0x48], rsi
mov r14d, 1
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbx + 0x28]
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x30], r12
mov dword [rbp + 0x28], r12d
test rax, rax
je 0x1402ece17
cmp dword [rax], r12d
jle 0x1402ece17
test byte [rax + 0x44], 0x40
mov dword [rbp + 0x2c], 3
jne 0x1402ece1b
mov dword [rbp + 0x2c], r14d
mov rdx, qword [rbx + 0x30]
lea rcx, [rbp + 0x10]
call fcn.14025c870
cmp dword [rbp + 0x20], r12d
je 0x1402ecf32
mov rdx, qword [rbx + 0x30]
lea rax, [rbp + 0x10]
mov qword [rbp - 0x28], r12
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x40], r15
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x20], rax
test rdx, rdx
je 0x1402ece60
lea rcx, [rbp - 0x48]
call fcn.140321250
mov rax, qword [rbp + 0x10]
mov rbx, qword [rbp + 0x30]
mov rcx, qword [rax]
test rbx, rbx
je 0x1402ecf2b
test rcx, rcx
je 0x1402eced0
cmp qword [rcx + 0x300], r12
je 0x1402ece8f
mov rdx, rbx
call fcn.14028faa0
jmp 0x1402ecf2b
cmp rbx, qword [rcx + 0x1f0]
jae 0x1402eced0
cmp rbx, qword [rcx + 0x1e0]
jb 0x1402eceb4
mov rax, qword [rcx + 0x1d8]
mov qword [rbx], rax
mov qword [rcx + 0x1d8], rbx
jmp 0x1402ecf2b
cmp rbx, qword [rcx + 0x1e8]
jb 0x1402eced0
mov rax, qword [rcx + 0x1c8]
mov qword [rbx], rax
mov qword [rcx + 0x1c8], rbx
jmp 0x1402ecf2b
cmp dword [0x14066e1b0], r12d
je 0x1402ecf22
mov rcx, qword [0x140682a00]
test rcx, rcx
je 0x1402eceeb
call qword [0x14066e230]
mov rcx, rbx
call qword [0x14066e1e8]
dec qword [0x140682998]
mov rcx, rbx
movsxd rdx, eax
sub qword [0x140682950], rdx
call qword [0x14066e1d8]
mov rcx, qword [0x140682a00]
test rcx, rcx
je 0x1402ecf2b
call qword [0x14066e240]
jmp 0x1402ecf2b
mov rcx, rbx
call qword [0x14066e1d8]
mov rbx, qword [rbp + 0xe8]
cmp dword [rbp + 0x24], r12d
jne 0x1402ecdf0
mov rdi, qword [rbp - 0x58]
mov r14, rsi
jmp 0x1402ecf48
xor r12d, r12d
cmp dword [r14], 0
lea rdx, [0x1405e4ea8]
mov ecx, r12d
mov dword [rbp + 0xf8], ecx
jle 0x1402ed6d3
mov r15, r12
mov qword [rbp - 0x70], r12
nop dword [rax]
imul rax, r15, 0x68
lea rsi, [r14 + 8]
add rsi, rax
cmp qword [rsi + 0x50], 0
jne 0x1402ecfaa
mov r8, qword [rsi + 0x10]
test r8, r8
je 0x1402ecfaa
mov rax, qword [rsi + 8]
mov r9, rdx
mov edx, 0x14
mov qword [rsp + 0x20], rax
mov rcx, r13
call fcn.1402b5a20
mov ecx, dword [rbp + 0xf8]
mov r12, qword [rsi + 0x28]
test r12, r12
je 0x1402ed6b4
xor r14d, r14d
lea rdx, [rsp + 0x5c]
mov rcx, rbx
mov dword [rsp + 0x5c], r14d
call fcn.140288c40
mov eax, dword [rsp + 0x5c]
add dword [r13 + 0x12c], eax
mov rax, qword [rsp + 0x68]
test dword [rax + 0x60], 0x1000
jne 0x1402ed00f
test dword [rsi + 0x40], 0x100
je 0x1402ecffd
mov rax, qword [rsi + 0x60]
cmp byte [rax + 0x12], r14b
je 0x1402ed00f
cmp dword [rax], 2
jge 0x1402ed00f
mov r8, qword [rbx + 0x30]
mov r9, rsi
mov rdx, r12
mov rcx, r13
call fcn.14029b920
mov rax, qword [r13 + 0x168]
mov rcx, qword [rsp + 0x48]
mov qword [rbp - 8], rax
mov rax, qword [rsi + 0x10]
mov qword [r13 + 0x168], rax
test r15, r15
jne 0x1402ed196
cmp dword [rcx], 1
je 0x1402ed045
test byte [rcx + 0xac], 0x22
je 0x1402ed196
test dword [rsi + 0x40], 0x100
je 0x1402ed05c
mov rax, qword [rsi + 0x60]
cmp byte [rax + 0x12], r14b
je 0x1402ed196
test byte [rcx + 0x44], 0x40
jne 0x1402ed196
mov r14d, dword [rdi + 0x90]
inc dword [r13 + 0x38]
mov edx, dword [r13 + 0x38]
mov dword [rsi + 0x34], edx
movsxd rcx, dword [rdi + 0x90]
lea ebx, [r14 + 1]
cmp dword [rdi + 0x94], ecx
jg 0x1402ed0a6
xor r9d, r9d
mov dword [rsp + 0x20], ebx
mov r8d, edx
mov rcx, rdi
lea edx, [r9 + 0xa]
call fcn.1402884f0
xor r8d, r8d
jmp 0x1402ed0d6
lea eax, [rcx + 1]
xor r8d, r8d
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], r8d
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], r8
mov eax, dword [rsi + 0x34]
mov r9, rsi
mov qword [rbp + 0x28], r8
mov edx, 1
mov dword [rbp + 0x20], r8d
mov rcx, r13
lea r8, str.CO_ROUTINE___S
mov dword [rsi + 0x30], ebx
mov byte [rbp + 0x10], 0xd
mov dword [rbp + 0x14], eax
mov qword [rbp + 0x18], 0
call fcn.140302ac0
lea r8, [rbp + 0x10]
mov rdx, r12
mov rcx, r13
call fcn.1402ec930
movzx eax, word [r12 + 2]
mov rcx, qword [rsi + 0x20]
mov word [rcx + 0x3a], ax
mov rcx, rdi
mov eax, dword [rbp + 0x1c]
mov edx, dword [rsi + 0x34]
or dword [rsi + 0x40], 0x20
mov dword [rsi + 0x38], eax
call fcn.1402f9b90
mov rax, qword [rdi]
mov edx, dword [rdi + 0x90]
cmp byte [rax + 0x67], 0
je 0x1402ed166
lea rax, [0x140682d38]
xor r9d, r9d
mov dword [rax + 8], edx
mov byte [r13 + 0x1f], 0
mov dword [r13 + 0x28], r9d
jmp 0x1402ed66b
test r14d, r14d
lea eax, [rdx - 1]
cmovns eax, r14d
xor r9d, r9d
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8 + 8], edx
mov byte [r13 + 0x1f], 0
mov dword [r13 + 0x28], r9d
lea rax, [rax + rcx*8]
jmp 0x1402ed66b
test dword [rsi + 0x40], 0x100
je 0x1402ed28c
mov rbx, qword [rsi + 0x60]
mov edx, dword [rbx + 4]
test edx, edx
jle 0x1402ed28c
movsxd rcx, dword [rdi + 0x90]
mov r8d, dword [rbx + 8]
cmp dword [rdi + 0x94], ecx
jg 0x1402ed1dc
mov r9d, edx
mov dword [rsp + 0x20], r14d
mov edx, 9
mov rcx, rdi
call fcn.1402884f0
jmp 0x1402ed20a
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
mov edx, dword [rbx + 0xc]
mov r8d, dword [rsi + 0x44]
cmp r8d, edx
je 0x1402ed27a
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1402ed24c
mov r9d, edx
mov dword [rsp + 0x20], r14d
mov edx, 0x73
mov rcx, rdi
call fcn.1402884f0
movzx eax, word [rbx + 0x10]
xor r9d, r9d
mov word [r12 + 2], ax
jmp 0x1402ed66b
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], r14d
mov qword [rax + rcx*8 + 0x10], r14
movzx eax, word [rbx + 0x10]
xor r9d, r9d
mov word [r12 + 2], ax
jmp 0x1402ed66b
mov r15, qword [rsi + 0x28]
test dword [r15 + 4], 0x1000000
jne 0x1402ed338
lea r14, [rcx + 8]
cmp r14, rsi
jae 0x1402ed338
nop dword [rax + rax]
mov r10, qword [r14 + 0x28]
test r10, r10
je 0x1402ed32b
test byte [r14 + 0x40], 0x20
jne 0x1402ed32b
mov rdx, qword [r14 + 0x10]
test rdx, rdx
je 0x1402ed32b
mov rax, qword [r14 + 0x20]
mov r11, qword [rax + 0x60]
mov rax, qword [rsi + 0x20]
cmp r11, qword [rax + 0x60]
jne 0x1402ed32b
mov r9, qword [rsi + 0x10]
test r9, r9
je 0x1402ed32b
sub r9, rdx
nop word [rax + rax]
movzx eax, byte [rdx]
mov rbx, rcx
movzx r8d, byte [rdx + r9]
cmp eax, r8d
jne 0x1402ed37b
test eax, eax
jne 0x1402ed39c
test r11, r11
jne 0x1402ed31c
mov eax, dword [r10 + 0x10]
mov qword [rsp + 0x48], rcx
cmp dword [r15 + 0x10], eax
jne 0x1402ed32b
test dword [r10 + 4], 0x1000000
mov qword [rsp + 0x48], rbx
je 0x1402ed3a4
add r14, 0x68
cmp r14, rsi
jb 0x1402ed2b0
inc dword [r13 + 0x38]
xor edx, edx
mov eax, dword [r13 + 0x38]
mov ebx, edx
mov dword [rsi + 0x34], eax
movsxd r14, dword [rdi + 0x90]
cmp dword [rdi + 0x94], r14d
jg 0x1402ed487
xor r9d, r9d
mov dword [rsp + 0x20], edx
xor r8d, r8d
mov rcx, rdi
lea edx, [r9 + 8]
call fcn.1402884f0
mov r14d, eax
xor edx, edx
jmp 0x1402ed4ae
lea rbx, [0x140000000]
movzx ecx, byte [rax + rbx + 0x5267e0]
movzx eax, byte [r8 + rbx + 0x5267e0]
cmp ecx, eax
mov rcx, qword [rsp + 0x48]
jne 0x1402ed32b
inc rdx
jmp 0x1402ed2f0
mov edx, dword [r14 + 0x30]
test edx, edx
je 0x1402ed3d3
movsxd rcx, dword [rdi + 0x90]
mov r8d, dword [r14 + 0x34]
cmp dword [rdi + 0x94], ecx
jg 0x1402ed407
xor eax, eax
mov r9d, edx
mov rcx, rdi
mov dword [rsp + 0x20], eax
lea edx, [rax + 9]
call fcn.1402884f0
xor r9d, r9d
movsxd rcx, dword [rdi + 0x90]
mov edx, dword [r14 + 0x44]
mov r8d, dword [rsi + 0x44]
cmp dword [rdi + 0x94], ecx
jg 0x1402ed43a
mov dword [rsp + 0x20], r9d
mov rcx, rdi
mov r9d, edx
mov edx, 0x73
call fcn.1402884f0
xor r9d, r9d
jmp 0x1402ed468
lea eax, [rcx + 1]
xor r9d, r9d
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
jmp 0x1402ed3d6
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], r9d
mov qword [rax + rcx*8 + 0x10], r9
mov rax, qword [r14 + 0x28]
mov r14, rbx
mov r15, qword [rbp - 0x70]
mov qword [rsp + 0x48], rbx
movzx ecx, word [rax + 2]
mov word [r12 + 2], cx
jmp 0x1402ed670
lea rcx, [r14 + r14*2]
lea eax, [r14 + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 8
mov qword [rax + rcx*8 + 8], rdx
mov qword [rax + rcx*8 + 0x10], rdx
or dword [rsi + 0x40], 0x10
lea r15d, [r14 + 1]
test byte [rsi + 0x40], 8
mov dword [rsi + 0x30], r15d
jne 0x1402ed515
movsxd rbx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ebx
jg 0x1402ed4eb
xor r9d, r9d
mov dword [rsp + 0x20], edx
xor r8d, r8d
mov rcx, rdi
lea edx, [r9 + 0xe]
call fcn.1402884f0
mov ebx, eax
xor edx, edx
jmp 0x1402ed515
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 0xe
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdx
mov eax, dword [rsi + 0x44]
lea r8, str.MATERIALIZE___S
mov qword [rbp + 0x28], rdx
mov r9, rsi
mov dword [rbp + 0x20], edx
mov rcx, r13
mov edx, 1
mov byte [rbp + 0x10], 0xc
mov dword [rbp + 0x14], eax
mov qword [rbp + 0x18], 0
call fcn.140302ac0
lea r8, [rbp + 0x10]
mov rdx, r12
mov rcx, r13
call fcn.1402ec930
mov rcx, qword [rsi + 0x20]
movzx eax, word [r12 + 2]
mov word [rcx + 0x3a], ax
test ebx, ebx
je 0x1402ed59a
mov rax, qword [rdi]
mov edx, dword [rdi + 0x90]
cmp byte [rax + 0x67], 0
je 0x1402ed57e
lea rax, [0x140682d38]
jmp 0x1402ed597
lea eax, [rdx - 1]
test ebx, ebx
cmovns eax, ebx
cdqe
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 edx, dword [rsi + 0x34]
cmp dword [rdi + 0x94], ecx
jg 0x1402ed5c8
xor eax, eax
mov r8d, edx
mov r9d, r15d
mov dword [rsp + 0x20], eax
mov rcx, rdi
lea edx, [rax + 0x43]
call fcn.1402884f0
xor r9d, r9d
jmp 0x1402ed5f9
lea eax, [rcx + 1]
xor r9d, r9d
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 dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
mov rax, qword [rdi]
mov edx, dword [rdi + 0x90]
cmp byte [rax + 0x67], 0
je 0x1402ed611
lea rax, [0x140682d38]
jmp 0x1402ed62c
lea eax, [rdx - 1]
test r14d, r14d
cmovns eax, r14d
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rax, [rax + rcx*8]
mov r15, qword [rbp - 0x70]
mov dword [rax + 8], edx
mov byte [r13 + 0x1f], 0
mov dword [r13 + 0x28], r9d
mov eax, dword [rsi + 0x40]
and eax, 0x108
cmp eax, 0x100
jne 0x1402ed66b
mov eax, dword [rsi + 0x30]
mov rcx, qword [rsi + 0x60]
mov dword [rcx + 4], eax
mov eax, dword [rsi + 0x34]
mov dword [rcx + 8], eax
mov eax, dword [rsi + 0x44]
mov dword [rcx + 0xc], eax
movzx eax, word [r12 + 2]
mov word [rcx + 0x10], ax
mov r14, qword [rsp + 0x48]
mov rax, qword [rsp + 0x68]
cmp byte [rax + 0x67], 0
jne 0x1402f01d3
mov rbx, qword [rbp + 0xe8]
lea rdx, [rsp + 0x5c]
mov rcx, rbx
mov dword [rsp + 0x5c], r9d
call fcn.140288c40
mov rax, qword [rbp - 8]
mov edx, dword [rsp + 0x5c]
sub dword [r13 + 0x12c], edx
mov ecx, dword [rbp + 0xf8]
mov qword [r13 + 0x168], rax
inc ecx
lea rdx, [0x1405e4ea8]
inc r15
mov dword [rbp + 0xf8], ecx
mov qword [rbp - 0x70], r15
cmp ecx, dword [r14]
jl 0x1402ecf70
mov rax, qword [rbx + 0x30]
mov ecx, dword [rbx + 4]
movzx r15d, byte [rbx + 4]
mov rsi, qword [rbx + 0x20]
and r15b, 1
mov r12, qword [rbx + 0x38]
mov rdx, qword [rbp - 0x80]
mov qword [rbp - 0x50], rax
mov rax, qword [rbx + 0x40]
mov qword [rbp + 0x50], rax
mov eax, ecx
and al, 9
mov qword [rbp - 0x60], rsi
mov qword [rsp + 0x60], r12
mov byte [rsp + 0x40], r15b
mov byte [rbp], r15b
cmp al, 1
jne 0x1402ed90d
test rdx, rdx
jne 0x1402ed86d
test rsi, rsi
je 0x1402ed8d0
mov r14d, 0xffffffff
mov dword [rbp - 0x68], r14d
mov rax, qword [rbp + 0xf0]
mov dword [rbp + 0x78], r14d
cmp byte [rax], 0xc
jne 0x1402ed807
mov r9d, dword [rsi]
mov edx, 0x76
mov r8d, dword [rax + 4]
mov rcx, rdi
call fcn.1402f8680
mov rax, qword [rbp + 0xe8]
test dword [rax + 4], 0x800
je 0x1402ed807
mov r8, qword [rbp - 0x60]
mov ecx, dword [r8]
lea eax, [rcx - 1]
movsxd rsi, eax
test eax, eax
jle 0x1402ed7dd
mov r12, qword [rsp + 0x68]
mov rbx, rsi
shl rbx, 5
nop
test byte [rbx + r8 + 0x1c], 0x40
jne 0x1402ed7d8
mov rdx, qword [rbx + r8 + 8]
test rdx, rdx
je 0x1402ed7ae
mov rcx, r12
call fcn.1402c8e50
mov r8, qword [rbp - 0x60]
mov rdx, qword [rbx + r8 + 0x10]
test rdx, rdx
je 0x1402ed7c4
mov rcx, r12
call fcn.1402c17a0
mov r8, qword [rbp - 0x60]
mov ecx, dword [r8]
dec rsi
dec ecx
sub rbx, 0x20
mov dword [r8], ecx
test rsi, rsi
jg 0x1402ed790
mov r12, qword [rsp + 0x60]
xor eax, eax
mov edx, eax
test ecx, ecx
jle 0x1402ed807
lea rcx, [r8 + 8]
nop dword [rax]
test byte [rcx + 0x14], 0x40
jne 0x1402ed7fc
mov rax, qword [rcx]
mov byte [rax], 0x79
inc edx
add rcx, 0x20
cmp edx, dword [r8]
jl 0x1402ed7f0
dec dword [r13 + 0x44]
mov esi, 0x4000
mov r9, qword [rbp + 0xe8]
mov r8d, dword [r13 + 0x44]
mov dword [rbp + 0x48], r8d
test dword [r9 + 4], esi
jne 0x1402ed82f
mov eax, 0x140
mov word [r9 + 2], ax
mov rdx, r9
mov rcx, r13
call fcn.140252d10
mov rdx, qword [rbp + 0xe8]
cmp dword [rdx + 8], 0
jne 0x1402eda50
test r14d, r14d
js 0x1402eda50
mov rax, qword [rdi]
cmp byte [rax + 0x67], 0
je 0x1402eda34
lea rax, [0x140682d38]
jmp 0x1402eda46
test rsi, rsi
je 0x1402ed90d
mov eax, dword [rdx]
cmp eax, dword [rsi]
jne 0x1402ed90d
xor esi, esi
test eax, eax
jle 0x1402ed8cc
mov r14, qword [rbp - 0x60]
lea rbx, [rdx + 0x18]
sub r14, rdx
movzx eax, byte [r14 + rbx]
cmp byte [rbx], al
jne 0x1402ed90d
mov r8, qword [r14 + rbx - 0x10]
mov r9d, 0xffffffff
mov rdx, qword [rbx - 0x10]
xor ecx, ecx
call fcn.1402c8ab0
mov rdx, qword [rbp - 0x80]
test eax, eax
jne 0x1402ed90d
inc esi
add rbx, 0x20
cmp esi, dword [rdx]
jl 0x1402ed891
mov rbx, qword [rbp + 0xe8]
mov ecx, dword [rbx + 4]
mov rsi, qword [rbp - 0x60]
cmp qword [rbx + 0x70], 0
jne 0x1402ed90d
and ecx, 0xfffffffe
xor r8d, r8d
mov dword [rbx + 4], ecx
mov rdx, rsi
mov rcx, qword [rsp + 0x68]
call fcn.1402ca190
or dword [rbx + 4], 8
mov r15b, 2
mov rdx, qword [rbp - 0x80]
mov r12, rax
mov byte [rsp + 0x40], r15b
mov byte [rbp], r15b
mov qword [rsp + 0x60], rax
mov qword [rbx + 0x38], rax
mov rsi, qword [rbp - 0x60]
test rdx, rdx
je 0x1402ed72b
mov r9d, dword [rsi]
xor r8d, r8d
mov rcx, r13
call fcn.1402dd1d0
mov r8d, dword [r13 + 0x34]
mov rbx, rax
mov rax, qword [rbp - 0x80]
mov dword [rbp + 0x6c], r8d
lea ecx, [r8 + 1]
mov dword [r13 + 0x34], ecx
movsxd r14, dword [rdi + 0x90]
mov r9d, dword [rsi]
inc r9d
mov dword [rbp - 0x68], r14d
add r9d, dword [rax]
cmp dword [rdi + 0x94], r14d
jg 0x1402ed975
xor eax, eax
mov rcx, rdi
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x76]
call fcn.1402884f0
mov r14d, eax
mov dword [rbp - 0x68], eax
jmp 0x1402ed9a6
lea rcx, [r14 + r14*2]
xor edx, edx
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], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov rcx, qword [rdi]
mov eax, r14d
cmp byte [rcx + 0x67], 0
je 0x1402ed9e3
cmp qword [rcx + 0x300], 0
jne 0x1402ed735
test rbx, rbx
je 0x1402ed735
add dword [rbx], 0xffffffff
jne 0x1402ed735
mov rcx, qword [rbx + 0x10]
mov rdx, rbx
call fcn.1402c17a0
jmp 0x1402ed735
test r14d, r14d
jns 0x1402ed9f0
mov eax, dword [rdi + 0x90]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x1402eda1e
mov r9d, 0xfffffff8
mov r8, rbx
mov rcx, rdi
call fcn.14031a7f0
jmp 0x1402ed735
test rbx, rbx
je 0x1402ed735
mov qword [rdx + 0x10], rbx
mov byte [rdx + 1], 0xf8
jmp 0x1402ed735
movsxd rax, r14d
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rax, [rax + rcx*8]
or byte [rbp + 0x84], 1
mov byte [rax], 0x77
test byte [rdx + 4], 1
je 0x1402edb7a
mov r14d, dword [r13 + 0x34]
xor r9d, r9d
xor r8d, r8d
mov dword [rbp + 4], r14d
mov rcx, r13
lea eax, [r14 + 1]
mov dword [r13 + 0x34], eax
mov rdx, qword [rdx + 0x20]
call fcn.1402dd1d0
movsxd rsi, dword [rdi + 0x90]
mov rbx, rax
cmp dword [rdi + 0x94], esi
jg 0x1402edaa9
xor eax, eax
xor r9d, r9d
mov r8d, r14d
mov dword [rsp + 0x20], eax
mov rcx, rdi
lea edx, [rax + 0x76]
call fcn.1402884f0
mov esi, eax
jmp 0x1402edad5
lea rcx, [rsi + rsi*2]
xor edx, edx
lea eax, [rsi + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x76
mov dword [rax + rcx*8 + 4], r14d
mov qword [rax + rcx*8 + 8], rdx
mov qword [rax + rcx*8 + 0x10], rdx
mov rcx, qword [rdi]
mov eax, esi
cmp byte [rcx + 0x67], 0
je 0x1402edb02
cmp qword [rcx + 0x300], 0
jne 0x1402edb46
test rbx, rbx
je 0x1402edb46
add dword [rbx], 0xffffffff
jne 0x1402edb46
mov rcx, qword [rbx + 0x10]
mov rdx, rbx
call fcn.1402c17a0
jmp 0x1402edb46
test esi, esi
jns 0x1402edb0e
mov eax, dword [rdi + 0x90]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x1402edb39
mov r9d, 0xfffffff8
mov r8, rbx
mov rcx, rdi
call fcn.14031a7f0
jmp 0x1402edb46
test rbx, rbx
je 0x1402edb46
mov qword [rdx + 0x10], rbx
mov byte [rdx + 1], 0xf8
movsxd rax, dword [rdi + 0x90]
mov dword [rbp + 8], esi
test eax, eax
jle 0x1402edb69
lea rcx, [rax + rax*2]
mov edx, 8
mov rax, qword [rdi + 0x88]
mov word [rax + rcx*8 - 0x16], dx
mov rdx, qword [rbp + 0xe8]
mov r14b, 3
mov esi, 0x4000
jmp 0x1402edb7d
xor r14b, r14b
cmp dword [rsp + 0x58], 0
mov byte [rbp + 1], r14b
mov dword [rsp + 0x5c], r14d
jne 0x1402ede5e
test r12, r12
jne 0x1402ede5e
movzx eax, r15b
neg al
movzx eax, word [rdx + 4]
sbb bx, bx
and ax, si
mov rsi, qword [rdx + 0x70]
and bx, 0x100
or bx, ax
test rsi, rsi
je 0x1402edbca
mov rcx, r13
call fcn.140310950
mov rdx, qword [rbp + 0xe8]
movsx eax, word [rdx + 2]
mov rcx, r13
mov r12, qword [rbp - 0x80]
mov r8, qword [rbp - 0x50]
mov r9, r12
mov dword [rsp + 0x38], eax
mov rax, qword [rdx + 0x20]
mov word [rsp + 0x30], bx
mov qword [rsp + 0x28], rdx
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
call fcn.140309b40
mov rbx, rax
test rax, rax
je 0x1402f01d3
mov r10, qword [rbp + 0xe8]
movzx eax, word [rax + 0x50]
cmp ax, word [r10 + 2]
jge 0x1402edc20
mov word [r10 + 2], ax
test r15b, r15b
je 0x1402edc3c
movzx ecx, byte [rbx + 0x4b]
test cl, cl
movzx r14d, r14b
cmovne r14d, ecx
mov dword [rsp + 0x5c], r14d
mov byte [rbp + 1], r14b
test r12, r12
je 0x1402edc89
test byte [rbx + 0x4c], 4
movsx edx, byte [rbx + 0x49]
mov dword [rbp + 0x68], edx
jne 0x1402edc53
mov eax, dword [rbx + 0x38]
jmp 0x1402edc72
movzx eax, byte [rbx + 0x48]
imul rcx, rax, 0x70
cmp qword [rcx + rbx + 0x338], 0
je 0x1402edc6b
mov eax, dword [rbx + 0x38]
jmp 0x1402edc72
mov eax, dword [rcx + rbx + 0x310]
cmp edx, dword [r12]
mov dword [rbp + 0x80], eax
mov eax, 0
cmove r12, rax
mov qword [rbp + 0x60], r12
mov eax, dword [rbp - 0x68]
test eax, eax
js 0x1402edca6
test r12, r12
jne 0x1402edca6
mov edx, eax
mov rcx, rdi
call fcn.1402f8d60
mov r10, qword [rbp + 0xe8]
mov rdx, r10
mov rcx, r13
test rsi, rsi
je 0x1402ede15
mov esi, dword [r13 + 0x44]
mov r8, rbx
inc dword [r13 + 0x38]
mov r12d, dword [r13 + 0x38]
mov r9d, r12d
lea r15d, [rsi - 1]
sub esi, 2
mov dword [rsp + 0x20], r15d
lea r14d, [rsi - 1]
mov dword [r13 + 0x44], r14d
call fcn.140310fc0
movsxd rcx, dword [rdi + 0x90]
xor ebx, ebx
cmp dword [rdi + 0x94], ecx
jg 0x1402edd08
mov r9d, r14d
mov dword [rsp + 0x20], ebx
xor r8d, r8d
lea edx, [rbx + 8]
mov rcx, rdi
call fcn.1402884f0
jmp 0x1402edd32
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov qword [rax + rcx*8], 8
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbx
mov rcx, qword [rdi + 0x18]
not r15d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1402edd4e
mov r8d, r15d
mov rdx, rdi
call fcn.14029fba0
jmp 0x1402edd5e
mov rcx, qword [rcx + 0x50]
mov eax, dword [rdi + 0x90]
movsxd rdx, r15d
mov dword [rcx + rdx*4], eax
mov rax, qword [rbp + 0xf0]
lea r9, [rbp + 0x60]
mov dword [rsp + 0x38], r14d
mov r8d, 0xffffffff
mov dword [rsp + 0x30], esi
mov rcx, r13
mov qword [rsp + 0x28], rax
lea rax, [rbp]
mov dword [rbp + 0x80], ebx
mov rbx, qword [rbp + 0xe8]
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.1402a7750
mov rcx, qword [rdi + 0x18]
not esi
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1402eddb9
mov r8d, esi
mov rdx, rdi
call fcn.14029fba0
jmp 0x1402eddca
mov rcx, qword [rcx + 0x50]
mov eax, dword [rdi + 0x90]
movsxd r9, esi
mov dword [rcx + r9*4], eax
mov r8d, r12d
mov edx, 0x43
mov rcx, rdi
call fcn.1402f8610
mov rcx, qword [rdi + 0x18]
not r14d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1402ede03
mov r8d, r14d
mov rdx, rdi
call fcn.14029fba0
mov rsi, qword [rbp + 0xf0]
xor r12d, r12d
jmp 0x1402f00fc
mov rsi, qword [rbp + 0xf0]
xor r12d, r12d
movsxd rdx, r14d
jmp 0x1402f00ef
mov eax, dword [rbx + 0x3c]
lea r9, [rbp + 0x60]
mov rsi, qword [rbp + 0xf0]
mov r8d, 0xffffffff
mov dword [rsp + 0x38], eax
mov eax, dword [rbx + 0x38]
mov dword [rsp + 0x30], eax
lea rax, [rbp]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rax
call fcn.1402a7750
mov rcx, rbx
call fcn.14030e0d0
mov rbx, qword [rbp + 0xe8]
xor r12d, r12d
jmp 0x1402f00fc
mov r15, qword [rsp + 0x60]
xor esi, esi
mov dword [rsp + 0x74], esi
mov dword [rbp - 0x64], esi
mov dword [rbp - 0x18], esi
test r15, r15
je 0x1402edfb0
mov rcx, qword [rdx + 0x20]
mov eax, dword [rcx]
test eax, eax
jle 0x1402ede9d
add rcx, 0x22
nop word [rax + rax]
dec eax
mov word [rcx], si
lea rcx, [rcx + 0x20]
test eax, eax
jg 0x1402ede90
mov eax, dword [r15]
test eax, eax
jle 0x1402edebd
lea rcx, [r15 + 0x22]
nop dword [rax + rax]
dec eax
mov word [rcx], si
lea rcx, [rcx + 0x20]
test eax, eax
jg 0x1402edeb0
cmp word [rdx + 2], 0x42
jle 0x1402edecd
mov eax, 0x42
mov word [rdx + 2], ax
mov r9, qword [rbp - 0x80]
test r9, r9
je 0x1402edf67
mov eax, dword [r15]
cmp eax, dword [r9]
jne 0x1402edf67
mov edx, esi
test eax, eax
jle 0x1402edf17
mov r8, r9
lea rcx, [r15 + 0x18]
sub r8, r15
nop word [rax + rax]
movzx eax, byte [r8 + rcx]
lea rcx, [rcx + 0x20]
and al, 1
inc edx
mov byte [rcx - 0x20], al
mov eax, dword [r15]
cmp edx, eax
jl 0x1402edf00
cmp eax, dword [r9]
jne 0x1402edf67
test eax, eax
jle 0x1402edf5e
mov r14, r9
lea rbx, [r15 + 0x18]
sub r14, r15
nop word [rax + rax]
movzx eax, byte [rbx + r14]
cmp byte [rbx], al
jne 0x1402edf65
mov r8, qword [r14 + rbx - 0x10]
mov r9d, 0xffffffff
mov rdx, qword [rbx - 0x10]
xor ecx, ecx
call fcn.1402c8ab0
test eax, eax
jne 0x1402edf65
inc esi
add rbx, 0x20
cmp esi, dword [r15]
jl 0x1402edf30
mov dword [rbp - 0x18], 1
xor esi, esi
dec dword [r13 + 0x44]
mov r14, qword [rsp + 0x68]
mov eax, dword [r13 + 0x44]
mov dword [rsp + 0x70], eax
test r14, r14
je 0x1402ee079
mov ebx, 0x40
cmp bx, word [r14 + 0x1a4]
jbe 0x1402edfce
cmp dword [r14 + 0x1a0], 0
jne 0x1402edfb6
inc dword [r14 + 0x1b4]
mov edx, ebx
mov rcx, r14
call fcn.1402555f0
jmp 0x1402ee083
mov word [rdx + 2], si
jmp 0x1402edf67
cmp byte [r14 + 0x67], 0
je 0x1402ee06c
mov r12, rsi
mov qword [rsp + 0x50], rsi
jmp 0x1402ee08b
mov r12, qword [r14 + 0x1d8]
mov qword [rsp + 0x50], r12
test r12, r12
je 0x1402edff6
mov rax, qword [r12]
mov qword [r14 + 0x1d8], rax
inc dword [r14 + 0x1b0]
jmp 0x1402ee08b
mov r12, qword [r14 + 0x1d0]
mov qword [rsp + 0x50], r12
test r12, r12
je 0x1402ee01b
mov rax, qword [r12]
mov qword [r14 + 0x1d0], rax
inc dword [r14 + 0x1b0]
jmp 0x1402ee08b
mov r12, qword [r14 + 0x1c8]
mov qword [rsp + 0x50], r12
test r12, r12
je 0x1402ee040
mov rax, qword [r12]
mov qword [r14 + 0x1c8], rax
inc dword [r14 + 0x1b0]
jmp 0x1402ee08b
mov r12, qword [r14 + 0x1c0]
mov qword [rsp + 0x50], r12
test r12, r12
je 0x1402ee065
mov rax, qword [r12]
inc dword [r14 + 0x1b0]
mov qword [r14 + 0x1c0], rax
jmp 0x1402ee08b
inc dword [r14 + 0x1b8]
mov rdx, rbx
mov rcx, r14
call fcn.1402555f0
jmp 0x1402ee083
mov ecx, 0x40
call fcn.1402dea40
mov r12, rax
mov qword [rsp + 0x50], rax
test r12, r12
je 0x1402ee408
xorps xmm0, xmm0
movups xmmword [r12], xmm0
movups xmmword [r12 + 0x10], xmm0
movups xmmword [r12 + 0x20], xmm0
movups xmmword [r12 + 0x30], xmm0
mov rcx, qword [r13]
test rcx, rcx
je 0x1402ee17e
mov eax, 0x18
cmp ax, word [rcx + 0x1a4]
jbe 0x1402ee0f6
cmp dword [rcx + 0x1a0], 0
jne 0x1402ee0e4
inc dword [rcx + 0x1b4]
mov edx, eax
call fcn.1402555f0
jmp 0x1402ee188
cmp byte [rcx + 0x67], 0
je 0x1402ee174
mov rdx, rsi
jmp 0x1402ee18b
mov rdx, qword [rcx + 0x1d8]
test rdx, rdx
je 0x1402ee114
mov rax, qword [rdx]
mov qword [rcx + 0x1d8], rax
inc dword [rcx + 0x1b0]
jmp 0x1402ee18b
mov rdx, qword [rcx + 0x1d0]
test rdx, rdx
je 0x1402ee132
mov rax, qword [rdx]
mov qword [rcx + 0x1d0], rax
inc dword [rcx + 0x1b0]
jmp 0x1402ee18b
mov rdx, qword [rcx + 0x1c8]
test rdx, rdx
je 0x1402ee150
mov rax, qword [rdx]
mov qword [rcx + 0x1c8], rax
inc dword [rcx + 0x1b0]
jmp 0x1402ee18b
mov rdx, qword [rcx + 0x1c0]
test rdx, rdx
je 0x1402ee16e
mov rax, qword [rdx]
inc dword [rcx + 0x1b0]
mov qword [rcx + 0x1c0], rax
jmp 0x1402ee18b
inc dword [rcx + 0x1b8]
mov rdx, rax
call fcn.1402555f0
jmp 0x1402ee188
mov ecx, 0x18
call fcn.1402dea40
mov rdx, rax
test rdx, rdx
je 0x1402ee1b5
mov rcx, qword [r13 + 0xb8]
lea rax, [0x140246040]
mov qword [rdx], rcx
mov qword [r13 + 0xb8], rdx
mov qword [rdx + 8], r12
mov qword [rdx + 0x10], rax
jmp 0x1402ee408
mov rsi, qword [r12 + 0x20]
mov rbx, qword [r13]
test rsi, rsi
je 0x1402ee282
test rbx, rbx
je 0x1402ee227
cmp qword [rbx + 0x300], 0
je 0x1402ee1e6
mov rdx, rsi
mov rcx, rbx
call fcn.14028faa0
jmp 0x1402ee282
cmp rsi, qword [rbx + 0x1f0]
jae 0x1402ee227
cmp rsi, qword [rbx + 0x1e0]
jb 0x1402ee20b
mov rax, qword [rbx + 0x1d8]
mov qword [rsi], rax
mov qword [rbx + 0x1d8], rsi
jmp 0x1402ee282
cmp rsi, qword [rbx + 0x1e8]
jb 0x1402ee227
mov rax, qword [rbx + 0x1c8]
mov qword [rsi], rax
mov qword [rbx + 0x1c8], rsi
jmp 0x1402ee282
cmp dword [0x14066e1b0], 0
je 0x1402ee279
mov rcx, qword [0x140682a00]
test rcx, rcx
je 0x1402ee242
call qword [0x14066e230]
mov rcx, rsi
call qword [0x14066e1e8]
dec qword [0x140682998]
movsxd rcx, eax
sub qword [0x140682950], rcx
mov rcx, rsi
call qword [0x14066e1d8]
mov rcx, qword [0x140682a00]
test rcx, rcx
je 0x1402ee282
call qword [0x14066e240]
jmp 0x1402ee282
mov rcx, rsi
call qword [0x14066e1d8]
mov rsi, qword [r12 + 0x30]
test rsi, rsi
je 0x1402ee34b
test rbx, rbx
je 0x1402ee2f0
cmp qword [rbx + 0x300], 0
je 0x1402ee2af
mov rdx, rsi
mov rcx, rbx
call fcn.14028faa0
jmp 0x1402ee350
cmp rsi, qword [rbx + 0x1f0]
jae 0x1402ee2f0
cmp rsi, qword [rbx + 0x1e0]
jb 0x1402ee2d4
mov rax, qword [rbx + 0x1d8]
mov qword [rsi], rax
mov qword [rbx + 0x1d8], rsi
jmp 0x1402ee350
cmp rsi, qword [rbx + 0x1e8]
jb 0x1402ee2f0
mov rax, qword [rbx + 0x1c8]
mov qword [rsi], rax
mov qword [rbx + 0x1c8], rsi
jmp 0x1402ee350
cmp dword [0x14066e1b0], 0
je 0x1402ee342
mov rcx, qword [0x140682a00]
test rcx, rcx
je 0x1402ee30b
call qword [0x14066e230]
mov rcx, rsi
call qword [0x14066e1e8]
dec qword [0x140682998]
movsxd rcx, eax
sub qword [0x140682950], rcx
mov rcx, rsi
call qword [0x14066e1d8]
mov rcx, qword [0x140682a00]
test rcx, rcx
je 0x1402ee34b
call qword [0x14066e240]
jmp 0x1402ee34b
mov rcx, rsi
call qword [0x14066e1d8]
test rbx, rbx
je 0x1402ee3ad
cmp qword [rbx + 0x300], 0
je 0x1402ee36a
mov rdx, r12
mov rcx, rbx
call fcn.14028faa0
jmp 0x1402ee408
cmp r12, qword [rbx + 0x1f0]
jae 0x1402ee3ad
cmp r12, qword [rbx + 0x1e0]
jb 0x1402ee390
mov rax, qword [rbx + 0x1d8]
mov qword [r12], rax
mov qword [rbx + 0x1d8], r12
jmp 0x1402ee408
cmp r12, qword [rbx + 0x1e8]
jb 0x1402ee3ad
mov rax, qword [rbx + 0x1c8]
mov qword [r12], rax
mov qword [rbx + 0x1c8], r12
jmp 0x1402ee408
cmp dword [0x14066e1b0], 0
je 0x1402ee3ff
mov rcx, qword [0x140682a00]
test rcx, rcx
je 0x1402ee3c8
call qword [0x14066e230]
mov rcx, r12
call qword [0x14066e1e8]
dec qword [0x140682998]
movsxd rcx, eax
sub qword [0x140682950], rcx
mov rcx, r12
call qword [0x14066e1d8]
mov rcx, qword [0x140682a00]
test rcx, rcx
je 0x1402ee408
call qword [0x14066e240]
jmp 0x1402ee408
mov rcx, r12
call qword [0x14066e1d8]
cmp byte [r14 + 0x67], 0
jne 0x1402f01d3
mov rax, qword [rbp + 0xe8]
xorps xmm0, xmm0
xorps xmm1, xmm1
xor r8d, r8d
mov eax, dword [rax + 0x10]
mov dword [r12 + 0x3c], eax
mov rax, qword [rsp + 0x48]
mov qword [rbp + 0x18], rax
mov eax, dword [r13 + 0x38]
inc eax
mov qword [rbp + 0x10], r13
mov qword [rbp + 0x20], r12
movdqu xmmword [rbp + 0x28], xmm0
movdqu xmmword [rbp + 0x38], xmm1
mov dword [r12 + 0x10], eax
test r15, r15
je 0x1402ee45b
mov eax, dword [r15]
jmp 0x1402ee45e
mov eax, r8d
mov r14, qword [rbp - 0x60]
mov dword [r12 + 0xc], eax
mov qword [r12 + 0x18], r15
test r14, r14
je 0x1402ee4e9
cmp dword [r14], 0
lea rbx, [r14 + 8]
mov esi, r8d
jle 0x1402ee4e9
lea rdi, [0x1402472c0]
lea r12, [0x140309b30]
lea r15, [0x140309b20]
nop dword [rax]
nop word [rax + rax]
mov rdx, qword [rbx]
lea rax, [rbp + 0x10]
mov qword [rbp - 0x40], rdi
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x30], r15
mov dword [rbp - 0x28], r8d
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x48], r8
test rdx, rdx
je 0x1402ee4d0
lea rcx, [rbp - 0x48]
call fcn.140321250
xor r8d, r8d
inc esi
add rbx, 0x20
cmp esi, dword [r14]
jl 0x1402ee4a0
mov rdi, qword [rbp - 0x58]
mov r12, qword [rsp + 0x50]
mov r15, qword [rsp + 0x60]
mov r14, qword [rbp - 0x80]
test r14, r14
je 0x1402ee56b
cmp dword [r14], 0
lea rbx, [r14 + 8]
mov esi, r8d
jle 0x1402ee56b
lea rdi, [0x1402472c0]
lea r13, [0x140309b30]
lea r12, [0x140309b20]
nop dword [rax]
nop dword [rax + rax]
mov rdx, qword [rbx]
lea rax, [rbp + 0x10]
mov qword [rbp - 0x40], rdi
mov qword [rbp - 0x38], r13
mov qword [rbp - 0x30], r12
mov dword [rbp - 0x28], r8d
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x48], r8
test rdx, rdx
je 0x1402ee550
lea rcx, [rbp - 0x48]
call fcn.140321250
xor r8d, r8d
inc esi
add rbx, 0x20
cmp esi, dword [r14]
jl 0x1402ee520
mov rdi, qword [rbp - 0x58]
mov r12, qword [rsp + 0x50]
mov r13, qword [rbp + 0xe0]
mov rcx, qword [rbp + 0x50]
test rcx, rcx
je 0x1402ee601
test r15, r15
je 0x1402ee5c4
mov rbx, qword [rbp + 0xe8]
lea rax, [0x140288a30]
xorps xmm0, xmm0
mov qword [rbp - 0x28], r8
movdqu xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x48], r13
mov rdx, qword [rbx + 0x40]
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x20], rbx
test rdx, rdx
je 0x1402ee5bc
lea rcx, [rbp - 0x48]
call fcn.140321250
mov rcx, qword [rbp + 0x50]
xor r8d, r8d
mov rax, qword [rbx + 0x30]
mov qword [rbp - 0x50], rax
lea rax, [0x1402472c0]
mov dword [rbp - 0x28], r8d
mov qword [rbp - 0x40], rax
mov rdx, rcx
lea rax, [0x140309b30]
mov qword [rbp - 0x48], r8
mov qword [rbp - 0x38], rax
lea rcx, [rbp - 0x48]
lea rax, [0x140309b20]
mov qword [rbp - 0x30], rax
lea rax, [rbp + 0x10]
mov qword [rbp - 0x20], rax
call fcn.140321250
mov rsi, qword [rbp + 0xe8]
mov eax, dword [r12 + 0x28]
mov dword [r12 + 0x2c], eax
cmp qword [rsi + 0x38], 0
jne 0x1402ee73f
cmp qword [rsi + 0x40], 0
jne 0x1402ee73f
cmp dword [r12 + 0x38], 1
jne 0x1402ee73f
mov rax, qword [r12 + 0x30]
mov r9, qword [rax]
mov r11, qword [r9 + 0x20]
test r11, r11
je 0x1402ee73f
cmp dword [r11], 1
jne 0x1402ee73f
test dword [r9 + 4], 0x1000000
jne 0x1402ee73f
mov r14, qword [rsp + 0x68]
test dword [r14 + 0x60], 0x10000
jne 0x1402ee73f
mov r9, qword [r9 + 8]
lea r10, [0x14052a5cc]
mov rdx, r9
sub r10, r9
nop word [rax + rax]
movzx eax, byte [rdx]
movzx r8d, byte [rdx + r10]
cmp eax, r8d
jne 0x1402ee6ba
test eax, eax
jne 0x1402ee6d6
mov rcx, qword [r11 + 8]
call fcn.1402c5360
neg eax
mov byte [rbp + 0xf8], 1
sbb bl, bl
and bl, 2
jmp 0x1402ee70a
lea rbx, [0x140000000]
movzx ecx, byte [rax + rbx + 0x5267e0]
movzx eax, byte [r8 + rbx + 0x5267e0]
cmp ecx, eax
jne 0x1402ee6db
inc rdx
jmp 0x1402ee690
lea r8, [0x14052a5d0]
sub r8, r9
nop word [rax + rax]
movzx eax, byte [r9]
movzx edx, byte [r9 + r8]
cmp eax, edx
jne 0x1402ee726
test eax, eax
jne 0x1402ee73a
mov bl, 1
mov byte [rbp + 0xf8], 2
xor r8d, r8d
mov rdx, r11
mov rcx, r14
call fcn.1402ca190
mov qword [rbp + 0x58], rax
test rax, rax
je 0x1402ee746
mov byte [rax + 0x18], bl
jmp 0x1402ee746
movzx ecx, byte [rax + rbx + 0x5267e0]
movzx eax, byte [rdx + rbx + 0x5267e0]
cmp ecx, eax
jne 0x1402ee73f
inc r9
jmp 0x1402ee6f0
mov byte [rbp + 0xf8], 0
mov edx, dword [r12 + 0x38]
xor r11d, r11d
mov dword [rsp + 0x58], r11d
mov r13d, r11d
test edx, edx
jle 0x1402ee87d
mov rbx, qword [rsp + 0x50]
lea rdi, [0x1402472c0]
mov r12d, r11d
nop dword [rax]
mov rax, qword [rbx + 0x30]
mov r15, qword [r12 + rax]
or dword [rbp + 0x38], 0x20000
mov qword [rbp - 8], r15
mov r14, qword [r15 + 0x20]
test r14, r14
je 0x1402ee7f9
cmp dword [r14], 0
lea rbx, [r14 + 8]
mov esi, r11d
jle 0x1402ee7f4
lea r15, [0x140309b30]
lea r13, [0x140309b20]
nop word [rax + rax]
mov rdx, qword [rbx]
lea rax, [rbp + 0x10]
mov qword [rbp - 0x40], rdi
mov qword [rbp - 0x38], r15
mov qword [rbp - 0x30], r13
mov dword [rbp - 0x28], r11d
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x48], r11
test rdx, rdx
je 0x1402ee7e0
lea rcx, [rbp - 0x48]
call fcn.140321250
xor r11d, r11d
inc esi
add rbx, 0x20
cmp esi, dword [r14]
jl 0x1402ee7b0
mov r15, qword [rbp - 8]
mov r13d, dword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
test dword [r15 + 4], 0x1000000
je 0x1402ee843
mov rax, qword [r15 + 0x40]
mov qword [rbp - 0x40], rdi
mov dword [rbp - 0x28], r11d
mov qword [rbp - 0x48], r11
mov rdx, qword [rax + 0x48]
lea rax, [0x140309b30]
mov qword [rbp - 0x38], rax
lea rax, [0x140309b20]
mov qword [rbp - 0x30], rax
lea rax, [rbp + 0x10]
mov qword [rbp - 0x20], rax
test rdx, rdx
je 0x1402ee843
lea rcx, [rbp - 0x48]
call fcn.140321250
and dword [rbp + 0x38], 0xfffdffff
inc r13d
mov edx, dword [rbx + 0x38]
add r12, 0x20
mov dword [rsp + 0x58], r13d
mov r11d, 0
cmp r13d, edx
jl 0x1402ee770
mov rdi, qword [rbp - 0x58]
mov r12, qword [rsp + 0x50]
mov r15, qword [rsp + 0x60]
mov rsi, qword [rbp + 0xe8]
mov r13, qword [rbp + 0xe0]
mov r14, qword [rsp + 0x68]
mov eax, dword [r13 + 0x38]
mov dword [r12 + 0x14], eax
cmp byte [r14 + 0x67], 0
jne 0x1402f01a7
test r15, r15
je 0x1402efb43
mov qword [rbp - 0x70], r11
mov r15, r11
mov word [rbp + 0xf8], r11w
cmp edx, 1
jne 0x1402ee9a7
mov rax, qword [r12 + 0x30]
cmp dword [rax + 0x14], 0
jl 0x1402ee9a7
mov rax, qword [rax]
test rax, rax
je 0x1402ee9a7
test dword [rax + 4], 0x1000
jne 0x1402ee9a7
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x1402ee9a7
mov rdx, qword [rcx + 8]
test rdx, rdx
je 0x1402ee90f
xor r9d, r9d
xor r8d, r8d
mov rcx, r14
call fcn.14025a900
mov rbx, rax
jmp 0x1402ee912
mov rbx, r11
mov rsi, qword [rsp + 0x60]
xor r8d, r8d
mov rdx, rsi
mov rcx, r14
call fcn.1402ca190
mov qword [rbp - 0x70], rax
mov r15, rax
test rax, rax
jne 0x1402ee946
mov rcx, qword [r13]
mov rdx, rbx
call fcn.1402c9de0
mov r15, rax
mov qword [rbp - 0x70], rax
jmp 0x1402ee990
movsxd rax, dword [rax]
lea ecx, [rax + 1]
cmp dword [r15 + 4], ecx
jge 0x1402ee96a
mov rcx, qword [r13]
mov r8, rbx
mov rdx, r15
call fcn.1402c9cf0
mov r15, rax
mov qword [rbp - 0x70], rax
jmp 0x1402ee990
movups xmm0, xmmword [0x140527638]
shl rax, 5
movups xmm1, xmmword [0x140527648]
mov dword [r15], ecx
movups xmmword [rax + r15 + 8], xmm0
movups xmmword [rax + r15 + 0x18], xmm1
mov qword [rax + r15 + 8], rbx
mov rax, r15
neg rax
sbb bx, bx
and bx, 0x500
mov word [rbp + 0xf8], bx
jmp 0x1402ee9ac
mov rsi, qword [rsp + 0x60]
mov eax, dword [r13 + 0x34]
xor r8d, r8d
mov dword [r12 + 4], eax
mov rdx, rsi
inc dword [r13 + 0x34]
mov rcx, r13
mov r9d, dword [r12 + 0x28]
call fcn.1402dd1d0
movsxd r9, dword [rdi + 0x90]
mov r13, rax
mov edx, dword [r12 + 0xc]
mov r8d, dword [r12 + 4]
mov qword [rbp - 8], rax
mov dword [rbp - 0x80], r9d
cmp dword [rdi + 0x94], r9d
jg 0x1402eea0d
xor eax, eax
mov r9d, edx
mov rcx, rdi
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x77]
call fcn.1402884f0
mov r9d, eax
mov dword [rbp - 0x80], eax
jmp 0x1402eea3f
lea rcx, [r9 + r9*2]
xor r10d, r10d
lea eax, [r9 + 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], r10d
mov qword [rax + rcx*8 + 0x10], r10
mov rcx, qword [rdi]
mov eax, r9d
cmp byte [rcx + 0x67], 0
je 0x1402eea6f
cmp qword [rcx + 0x300], 0
jne 0x1402eeab4
test r13, r13
je 0x1402eeab4
add dword [r13], 0xffffffff
jne 0x1402eeab4
mov rcx, qword [r13 + 0x10]
mov rdx, r13
call fcn.1402c17a0
jmp 0x1402eeab4
test r9d, r9d
jns 0x1402eea7c
mov eax, dword [rdi + 0x90]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x1402eeaa7
mov r9d, 0xfffffff8
mov r8, r13
mov rcx, rdi
call fcn.14031a7f0
jmp 0x1402eeab4
test r13, r13
je 0x1402eeab4
mov qword [rdx + 0x10], r13
mov byte [rdx + 1], 0xf8
mov r8, qword [rbp + 0xe0]
mov r9, qword [rsp + 0x60]
mov eax, dword [r8 + 0x38]
inc eax
mov dword [rbp - 0xc], eax
lea edx, [rax + 1]
mov eax, dword [r8 + 0x44]
dec eax
mov dword [rbp - 0x78], edx
lea r14d, [rdx + 2]
mov dword [rbp - 0x58], eax
mov dword [r8 + 0x38], r14d
lea ebx, [r14 + 1]
mov dword [rbp - 0x10], r14d
lea esi, [rax - 1]
mov dword [r8 + 0x44], esi
mov ecx, dword [r9]
add ecx, r14d
mov dword [rsp + 0x58], esi
mov dword [r8 + 0x38], ecx
lea eax, [rcx + 1]
add ecx, dword [r9]
mov dword [r8 + 0x38], ecx
movsxd rcx, dword [rdi + 0x90]
mov dword [rbp - 0x14], eax
cmp dword [rdi + 0x94], ecx
jg 0x1402eeb3a
xor eax, eax
mov r9d, edx
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, rdi
lea edx, [rax + 0x47]
call fcn.1402884f0
mov r9, qword [rsp + 0x60]
xor r8d, r8d
jmp 0x1402eeb67
lea eax, [rcx + 1]
xor r8d, r8d
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], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov edx, dword [r9]
movsxd rcx, dword [rdi + 0x90]
dec edx
add edx, ebx
cmp dword [rdi + 0x94], ecx
jg 0x1402eeb98
xor r8d, r8d
mov dword [rsp + 0x20], edx
mov r9d, ebx
mov rcx, rdi
lea edx, [r8 + 0x4b]
call fcn.1402884f0
xor r8d, r8d
jmp 0x1402eebc1
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], ebx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r8
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1402eebed
mov dword [rsp + 0x20], r8d
mov r9d, esi
mov r8d, r14d
mov edx, 9
mov rcx, rdi
call fcn.1402884f0
xor r8d, r8d
jmp 0x1402eec1b
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 4], r14d
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov eax, dword [rbp - 0x18]
mov edx, 0x80
movzx esi, byte [rsp + 0x40]
neg eax
mov r14, qword [rsp + 0x60]
mov eax, 0x40
mov rbx, qword [rbp + 0xe0]
sbb cx, cx
and cx, 0x200
mov dword [rsp + 0x38], r8d
cmp sil, 2
mov r9, r14
cmove ax, dx
mov rdx, qword [rsp + 0x48]
or cx, ax
or cx, word [rbp + 0xf8]
mov word [rsp + 0x30], cx
mov rcx, rbx
mov qword [rsp + 0x28], r8
mov r8, qword [rbp - 0x50]
mov qword [rsp + 0x20], r15
call fcn.140309b40
mov qword [rbp - 0x50], rax
mov rcx, rax
test rax, rax
jne 0x1402eecaa
mov r14, qword [rsp + 0x68]
test r15, r15
je 0x1402eec9e
mov rdx, r15
mov rcx, r14
call fcn.14025b200
mov r13, qword [rbp + 0xe0]
jmp 0x1402f01a7
movzx eax, byte [rax + 0x4b]
mov dword [rsp + 0x78], eax
movsx eax, byte [rcx + 0x49]
cmp eax, dword [r14]
jne 0x1402eecc5
xor ebx, ebx
mov r12d, ebx
jmp 0x1402ef03a
test sil, sil
je 0x1402eecde
mov rax, qword [rbp + 0xe8]
lea r9, str.DISTINCT
test byte [rax + 4], 1
je 0x1402eece5
lea r9, str.GROUP_BY
lea r8, str.USE_TEMP_B_TREE_FOR__s
xor edx, edx
mov rcx, rbx
call fcn.140302ac0
mov r15d, dword [r14]
mov r14d, r15d
mov eax, dword [r12 + 0x28]
mov edx, r15d
mov dword [rsp + 0x48], 1
test eax, eax
jle 0x1402eed43
mov r8, qword [r12 + 0x20]
mov r9d, eax
add r8, 0x1a
nop dword [rax]
movsx ecx, word [r8]
lea eax, [r14 + 1]
cmp ecx, edx
lea r8, [r8 + 0x20]
cmovl eax, r14d
mov r14d, eax
lea eax, [rdx + 1]
cmovl eax, edx
mov edx, eax
sub r9, 1
jne 0x1402eed20
cmp r14d, 1
jne 0x1402eed6c
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x1402eed5a
inc dword [rbx + 0x38]
mov r12d, dword [rbx + 0x38]
jmp 0x1402eed94
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov r12d, dword [rbx + rax*4 + 0xd8]
jmp 0x1402eed94
mov ecx, dword [rbx + 0x28]
mov r12d, dword [rbx + 0x2c]
cmp r14d, ecx
jg 0x1402eed87
lea eax, [r14 + r12]
sub ecx, r14d
mov dword [rbx + 0x2c], eax
mov dword [rbx + 0x28], ecx
jmp 0x1402eed94
mov eax, dword [rbx + 0x38]
lea r12d, [rax + 1]
add eax, r14d
mov dword [rbx + 0x38], eax
mov rdx, qword [rsp + 0x60]
xor r9d, r9d
mov r8d, r12d
mov byte [rsp + 0x20], 0
mov rcx, rbx
call fcn.1402c5530
mov rax, qword [rsp + 0x50]
xor ecx, ecx
mov esi, ecx
cmp dword [rax + 0x28], ecx
jle 0x1402eee06
mov ebx, ecx
mov r13, rax
nop
mov rdx, qword [r13 + 0x20]
add rdx, rbx
movsx eax, word [rdx + 0x1a]
cmp eax, r15d
jl 0x1402eedef
movsx r9d, word [rdx + 0x18]
lea eax, [r12 + r15]
mov r8d, dword [rdx + 0x10]
mov rcx, rdi
mov rdx, qword [rdx]
mov dword [rsp + 0x20], eax
call fcn.1402c5ac0
inc r15d
inc esi
add rbx, 0x20
cmp esi, dword [r13 + 0x28]
jl 0x1402eedc0
mov r13, qword [rbp - 8]
mov rbx, qword [rbp + 0xe0]
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x1402eee16
inc dword [rbx + 0x38]
mov ebx, dword [rbx + 0x38]
jmp 0x1402eee25
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov ebx, dword [rbx + rax*4 + 0xd8]
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1402eee50
mov r9d, r14d
mov dword [rsp + 0x20], ebx
mov r8d, r12d
mov edx, 0x61
mov rcx, rdi
call fcn.1402884f0
xor r15d, r15d
jmp 0x1402eee81
lea eax, [rcx + 1]
xor r15d, r15d
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], r12d
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], r15
mov rsi, qword [rsp + 0x50]
movsxd rcx, dword [rdi + 0x90]
mov edx, dword [rsi + 4]
cmp dword [rdi + 0x94], ecx
jg 0x1402eeeb2
mov r8d, edx
mov dword [rsp + 0x20], r15d
mov edx, 0x8b
mov r9d, ebx
mov rcx, rdi
call fcn.1402884f0
jmp 0x1402eeedf
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], edx
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
test ebx, ebx
je 0x1402eef01
mov rcx, qword [rbp + 0xe0]
movzx eax, byte [rcx + 0x1f]
cmp al, 8
jae 0x1402eef01
mov dword [rcx + rax*4 + 0xd8], ebx
mov rbx, rcx
inc byte [rcx + 0x1f]
jmp 0x1402eef08
mov rbx, qword [rbp + 0xe0]
cmp r14d, 1
jne 0x1402eef28
test r12d, r12d
je 0x1402eef36
movzx eax, byte [rbx + 0x1f]
cmp al, 8
jae 0x1402eef36
mov dword [rbx + rax*4 + 0xd8], r12d
inc byte [rbx + 0x1f]
jmp 0x1402eef36
cmp r14d, dword [rbx + 0x28]
jle 0x1402eef36
mov dword [rbx + 0x28], r14d
mov dword [rbx + 0x2c], r12d
mov rcx, qword [rbp - 0x50]
call fcn.14030e0d0
mov edx, dword [rbx + 0x34]
mov dword [rsi + 8], edx
inc dword [rbx + 0x34]
movzx eax, byte [rbx + 0x1f]
mov dword [rsp + 0x74], edx
test al, al
jne 0x1402eef5d
inc dword [rbx + 0x38]
mov r8d, dword [rbx + 0x38]
jmp 0x1402eef6d
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov r8d, dword [rbx + rax*4 + 0xd8]
movsxd rcx, dword [rdi + 0x90]
mov dword [rbp - 0x64], r8d
cmp dword [rdi + 0x94], ecx
jg 0x1402eef9a
mov r9d, r8d
mov dword [rsp + 0x20], r14d
mov r8d, edx
mov rcx, rdi
mov edx, 0x79
call fcn.1402884f0
jmp 0x1402eefc8
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], r14d
mov qword [rax + rcx*8 + 0x10], r15
movsxd rcx, dword [rdi + 0x90]
mov edx, dword [rsi + 4]
cmp dword [rdi + 0x94], ecx
jg 0x1402eeff6
mov r9d, dword [rsp + 0x70]
mov r8d, edx
mov edx, 0x21
mov dword [rsp + 0x20], r15d
mov rcx, rdi
call fcn.1402884f0
jmp 0x1402ef027
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 + 0x70]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0x21
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov r15, qword [rbp - 0x70]
xor ebx, ebx
mov r12d, dword [rsp + 0x48]
mov rcx, qword [rbp - 0x50]
mov byte [rsi + 1], 1
cmp dword [rbp - 0x18], 0
je 0x1402ef233
mov rax, qword [rsp + 0x68]
test byte [rax + 0x60], 4
jne 0x1402ef233
test r12d, r12d
jne 0x1402ef062
test byte [rcx + 0x4c], 8
je 0x1402ef233
mov r9, qword [rdi]
mov qword [rbp + 0x60], rbx
cmp byte [r9 + 0x67], 0
jne 0x1402ef233
movsxd rax, dword [rbp - 0x68]
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov rbx, qword [rax + rcx*8 + 0x10]
lea rsi, [rax + rcx*8]
movsx eax, byte [rax + rcx*8 + 1]
add eax, 0xf
cmp eax, 9
ja case.0x1402ef0b1.9
lea rcx, [0x140000000]
cdqe
mov r8d, dword [rcx + rax*4 + 0x2f01fc]
add r8, rcx
jmp r8
mov rdx, rbx
mov rcx, r9
call fcn.140261360
jmp case.0x1402ef0b1.9
test rbx, rbx
je case.0x1402ef0b1.9
test r9, r9
je 0x1402ef133
cmp qword [r9 + 0x300], 0
je 0x1402ef0ec
mov rdx, rbx
mov rcx, r9
call fcn.14028faa0
jmp case.0x1402ef0b1.9
cmp rbx, qword [r9 + 0x1f0]
jae 0x1402ef133
cmp rbx, qword [r9 + 0x1e0]
jb 0x1402ef114
mov rax, qword [r9 + 0x1d8]
mov qword [rbx], rax
mov qword [r9 + 0x1d8], rbx
jmp case.0x1402ef0b1.9
cmp rbx, qword [r9 + 0x1e8]
jb 0x1402ef133
mov rax, qword [r9 + 0x1c8]
mov qword [rbx], rax
mov qword [r9 + 0x1c8], rbx
jmp case.0x1402ef0b1.9
cmp dword [0x14066e1b0], 0
je 0x1402ef18c
mov rcx, qword [0x140682a00]
test rcx, rcx
je 0x1402ef14e
call qword [0x14066e230]
mov rcx, rbx
call qword [0x14066e1e8]
dec qword [0x140682998]
movsxd rcx, eax
sub qword [0x140682950], rcx
mov rcx, rbx
call qword [0x14066e1d8]
mov rcx, qword [0x140682a00]
test rcx, rcx
je case.0x1402ef0b1.9
call qword [0x14066e240]
jmp case.0x1402ef0b1.9
mov rcx, rbx
call qword [0x14066e1d8]
jmp case.0x1402ef0b1.9
cmp qword [r9 + 0x300], 0
jne case.0x1402ef0b1.9
test rbx, rbx
je case.0x1402ef0b1.9
add dword [rbx], 0xffffffff
jne case.0x1402ef0b1.9
mov rcx, qword [rbx + 0x10]
mov rdx, rbx
call fcn.1402c17a0
jmp case.0x1402ef0b1.9
test byte [rbx + 4], 0x10
je case.0x1402ef0b1.9
mov rdx, rbx
mov rcx, r9
call fcn.1402c17a0
jmp case.0x1402ef0b1.9
cmp qword [r9 + 0x300], 0
jne 0x1402ef209
test rbx, rbx
je case.0x1402ef0b1.9
mov eax, 0x9000
test word [rbx + 0x14], ax
jne 0x1402ef1f3
cmp dword [rbx + 0x20], 0
je 0x1402ef1fb
mov rcx, rbx
call fcn.14031be40
mov rcx, qword [rbx + 0x18]
mov rdx, rbx
call fcn.1402c17a0
jmp case.0x1402ef0b1.9
mov rdx, rbx
mov rcx, r9
call fcn.1402613a0
jmp case.0x1402ef0b1.9
cmp qword [r9 + 0x300], 0
jne case.0x1402ef0b1.9
mov rcx, rbx
call fcn.1403084b0
xor ebx, ebx
mov word [rsi], 0xb8
mov qword [rsi + 0x10], rbx
movsxd r14, dword [rdi + 0x90]
mov dword [rsp + 0x48], r14d
test r12d, r12d
je 0x1402ef275
mov rax, qword [rsp + 0x50]
mov edx, dword [rax + 4]
cmp dword [rdi + 0x94], r14d
jg 0x1402ef2d9
mov eax, dword [rsp + 0x74]
mov r8d, edx
mov r9d, dword [rbp - 0x64]
mov edx, 0x85
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.1402884f0
mov r10d, dword [rsp + 0x74]
mov rax, qword [rsp + 0x60]
xor r9d, r9d
mov ebx, r9d
mov edx, dword [rax]
test edx, edx
jle 0x1402ef380
mov r15d, dword [rbp - 0x14]
lea rsi, [rax + 8]
mov r13, qword [rsp + 0x50]
mov r14, qword [rbp + 0xe0]
lea r8d, [rbx + r15]
test r12d, r12d
je 0x1402ef346
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1402ef316
mov dword [rsp + 0x20], r8d
mov r9d, ebx
mov r8d, r10d
mov edx, 0x5e
mov rcx, rdi
call fcn.1402884f0
jmp 0x1402ef356
mov r8d, dword [rbp - 0x64]
lea rcx, [r14 + r14*2]
mov r10d, dword [rsp + 0x74]
lea eax, [r14 + 1]
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x85
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], rbx
jmp 0x1402ef27a
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], r10d
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r9
jmp 0x1402ef35e
mov byte [r13], 1
mov rcx, r14
mov rdx, qword [rsi]
call fcn.1402c54d0
mov r10d, dword [rsp + 0x74]
xor r9d, r9d
mov rax, qword [rsp + 0x60]
inc ebx
add rsi, 0x20
mov edx, dword [rax]
cmp ebx, edx
jl 0x1402ef2a3
mov r13, qword [rbp - 8]
mov r14d, dword [rsp + 0x48]
mov r15, qword [rbp - 0x70]
test r13, r13
je 0x1402ef38b
inc dword [r13]
mov edx, dword [rax]
movsxd r8, dword [rdi + 0x90]
mov esi, dword [rbp - 0x14]
cmp dword [rdi + 0x94], r8d
jg 0x1402ef3be
mov r8d, dword [rbp - 0x10]
mov r9d, esi
mov dword [rsp + 0x20], edx
inc r8d
mov edx, 0x5a
mov rcx, rdi
call fcn.1402884f0
mov r8d, eax
jmp 0x1402ef3f3
mov r10d, dword [rbp - 0x10]
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
inc r10d
mov dword [rdi + 0x90], eax
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x5a
mov dword [rax + rcx*8 + 4], r10d
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r9
mov rax, qword [rdi]
cmp byte [rax + 0x67], 0
je 0x1402ef4e8
cmp qword [rax + 0x300], 0
jne 0x1402ef530
test r13, r13
je 0x1402ef530
add dword [r13], 0xffffffff
jne 0x1402ef530
mov rcx, qword [r13 + 0x10]
test rcx, rcx
je 0x1402ef48b
cmp qword [rcx + 0x300], 0
je 0x1402ef442
mov rdx, r13
call fcn.14028faa0
jmp 0x1402ef530
cmp r13, qword [rcx + 0x1f0]
jae 0x1402ef48b
cmp r13, qword [rcx + 0x1e0]
jb 0x1402ef46b
mov rax, qword [rcx + 0x1d8]
mov qword [r13], rax
mov qword [rcx + 0x1d8], r13
jmp 0x1402ef530
cmp r13, qword [rcx + 0x1e8]
jb 0x1402ef48b
mov rax, qword [rcx + 0x1c8]
mov qword [r13], rax
mov qword [rcx + 0x1c8], r13
jmp 0x1402ef530
cmp dword [0x14066e1b0], 0
je 0x1402ef4dd
mov rcx, qword [0x140682a00]
test rcx, rcx
je 0x1402ef4a6
call qword [0x14066e230]
mov rcx, r13
call qword [0x14066e1e8]
dec qword [0x140682998]
movsxd rcx, eax
sub qword [0x140682950], rcx
mov rcx, r13
call qword [0x14066e1d8]
mov rcx, qword [0x140682a00]
test rcx, rcx
je 0x1402ef530
call qword [0x14066e240]
jmp 0x1402ef530
mov rcx, r13
call qword [0x14066e1d8]
jmp 0x1402ef530
test r8d, r8d
jns 0x1402ef4f7
mov r8d, dword [rdi + 0x90]
dec r8d
movsxd rax, r8d
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x1402ef523
mov r9d, 0xfffffff8
mov r8, r13
mov rcx, rdi
call fcn.14031a7f0
jmp 0x1402ef530
test r13, r13
je 0x1402ef530
mov qword [rdx + 0x10], r13
mov byte [rdx + 1], 0xf8
movsxd rbx, dword [rdi + 0x90]
lea edx, [rbx + 1]
cmp dword [rdi + 0x94], ebx
jg 0x1402ef55a
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, edx
mov rcx, rdi
lea edx, [r9 + 0xd]
call fcn.1402884f0
jmp 0x1402ef587
mov rax, qword [rdi + 0x88]
lea rcx, [rbx + rbx*2]
mov dword [rdi + 0x90], edx
xor r8d, r8d
mov dword [rax + rcx*8], 0xd
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r8
mov rax, qword [rsp + 0x60]
mov edx, esi
mov r13d, dword [rbp - 0x10]
mov rcx, qword [rbp + 0xe0]
mov r9d, dword [rax]
lea r8d, [r13 + 1]
call fcn.1402c70b0
movsxd rcx, dword [rdi + 0x90]
mov esi, dword [rbp - 0x58]
mov r8d, dword [rbp - 0x78]
cmp dword [rdi + 0x94], ecx
jg 0x1402ef5db
xor eax, eax
mov r9d, esi
inc r8d
mov dword [rsp + 0x20], eax
mov rcx, rdi
lea edx, [rax + 9]
call fcn.1402884f0
mov r8d, dword [rbp - 0x78]
xor r9d, r9d
jmp 0x1402ef60f
lea eax, [rcx + 1]
xor r9d, r9d
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
lea edx, [r8 + 1]
mov dword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1402ef63a
mov dword [rsp + 0x20], r9d
mov edx, 0x31
mov r9d, dword [rsp + 0x70]
mov rcx, rdi
call fcn.1402884f0
xor r9d, r9d
jmp 0x1402ef66c
mov edx, dword [rsp + 0x70]
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x31
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1402ef697
mov dword [rsp + 0x20], r9d
mov r8d, r13d
mov r9d, dword [rsp + 0x58]
mov edx, 9
mov rcx, rdi
call fcn.1402884f0
jmp 0x1402ef6c9
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], 9
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
mov rax, qword [rdi]
mov edx, dword [rdi + 0x90]
cmp byte [rax + 0x67], 0
je 0x1402ef6e1
lea rax, [0x140682d38]
jmp 0x1402ef6fa
lea eax, [rdx - 1]
test ebx, ebx
cmovns eax, ebx
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rax, [rax + rcx*8]
mov r13, qword [rsp + 0x50]
mov ebx, dword [rbp - 0xc]
mov r8, r13
mov r9d, dword [rsp + 0x78]
mov rcx, qword [rbp + 0xe0]
mov dword [rax + 8], edx
mov edx, ebx
call fcn.1403184e0
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1402ef744
xor eax, eax
mov r9d, ebx
mov rcx, rdi
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x47]
lea r8d, [rax + 1]
call fcn.1402884f0
jmp 0x1402ef776
lea eax, [rcx + 1]
xor edx, edx
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], ebx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
test r12d, r12d
je 0x1402ef7db
movsxd rcx, dword [rdi + 0x90]
xor r12d, r12d
mov edx, dword [r13 + 4]
cmp dword [rdi + 0x94], ecx
jg 0x1402ef7ab
mov r8d, edx
mov dword [rsp + 0x20], r12d
lea edx, [r12 + 0x24]
mov r9d, r14d
mov rcx, rdi
call fcn.1402884f0
jmp 0x1402ef820
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x24
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
jmp 0x1402ef820
mov rcx, qword [rbp - 0x50]
call fcn.14030e0d0
mov rcx, qword [rdi]
cmp byte [rcx + 0x67], 0
jne 0x1402ef81d
movsxd rax, dword [rbp - 0x80]
lea rdx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov r8, qword [rax + rdx*8 + 0x10]
lea rbx, [rax + rdx*8]
movsx edx, byte [rax + rdx*8 + 1]
call fcn.140261240
xor r12d, r12d
mov word [rbx], 0xb8
mov qword [rbx + 0x10], r12
jmp 0x1402ef820
xor r12d, r12d
test r15, r15
je 0x1402ef832
mov rcx, qword [rsp + 0x68]
mov rdx, r15
call fcn.14025b200
mov r15d, dword [rbp - 0x78]
movsxd rcx, dword [rdi + 0x90]
lea r14d, [r15 + 1]
cmp dword [rdi + 0x94], ecx
jg 0x1402ef863
mov r9d, esi
mov dword [rsp + 0x20], r12d
mov r8d, r14d
mov edx, 9
mov rcx, rdi
call fcn.1402884f0
jmp 0x1402ef891
lea eax, [rcx + 1]
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 4], r14d
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov edx, dword [rsp + 0x70]
mov rcx, rdi
call fcn.140303200
movsxd rbx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ebx
jg 0x1402ef8c7
mov edx, 0x47
mov dword [rsp + 0x20], r12d
mov r9d, r15d
mov rcx, rdi
lea r8d, [rdx - 0x46]
call fcn.1402884f0
jmp 0x1402ef8f9
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 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], r15d
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1402ef921
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov r8d, r14d
mov rcx, rdi
lea edx, [r9 + 0x43]
call fcn.1402884f0
jmp 0x1402ef94f
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], r12
mov rcx, qword [rdi + 0x18]
not esi
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1402ef96a
mov r8d, esi
mov rdx, rdi
call fcn.14029fba0
jmp 0x1402ef97b
mov rcx, qword [rcx + 0x50]
mov eax, dword [rdi + 0x90]
movsxd r8, esi
mov dword [rcx + r8*4], eax
movsxd rax, dword [rdi + 0x90]
mov r15d, dword [rbp - 0xc]
lea r8d, [rax + 2]
lea esi, [rax + 1]
cmp dword [rdi + 0x94], eax
jg 0x1402ef9af
mov r9d, r8d
mov dword [rsp + 0x20], r12d
mov r8d, r15d
mov edx, 0x31
mov rcx, rdi
call fcn.1402884f0
jmp 0x1402ef9db
lea rcx, [rax + rax*2]
mov dword [rdi + 0x90], esi
mov rax, qword [rdi + 0x88]
mov dword [rax + rcx*8], 0x31
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov r8d, r14d
mov edx, 0x43
mov rcx, rdi
call fcn.1402f8610
mov r12, qword [rbp + 0xe0]
mov rdx, r13
mov rcx, r12
call fcn.14025c5e0
mov rdx, qword [rbp + 0x50]
mov r9d, 0x10
mov r8d, esi
mov rcx, r12
call fcn.1402c9170
mov rdx, qword [rbp + 0xe8]
lea rax, [rbp]
mov dword [rsp + 0x38], ebx
lea r9, [rbp + 0x60]
mov dword [rsp + 0x30], esi
mov r8d, 0xffffffff
mov rsi, qword [rbp + 0xf0]
mov rcx, r12
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rax
call fcn.1402a7750
mov r8d, r14d
mov edx, 0x43
mov rcx, rdi
call fcn.1402f8610
mov rcx, qword [rdi + 0x18]
mov edx, dword [rsp + 0x58]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1402efa77
mov r8d, edx
mov rdx, rdi
call fcn.14029fba0
jmp 0x1402efa88
mov rcx, qword [rcx + 0x50]
mov eax, dword [rdi + 0x90]
movsxd r8, edx
mov dword [rcx + r8*4], eax
mov rdx, r13
mov rcx, r12
call fcn.14029f6d0
movsxd rcx, dword [rdi + 0x90]
xor r12d, r12d
cmp dword [rdi + 0x94], ecx
jg 0x1402efabf
mov r9d, r15d
mov dword [rsp + 0x20], r12d
xor r8d, r8d
lea edx, [r12 + 0x47]
mov rcx, rdi
call fcn.1402884f0
jmp 0x1402efaea
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], r12d
mov qword [rax + rcx*8 + 0x10], r12
lea r8d, [r14 + 1]
mov edx, 0x43
mov rcx, rdi
call fcn.1402f8610
cmp word [rbp + 0xf8], 0
je 0x1402efb33
mov ecx, dword [rsp + 0x78]
test ecx, ecx
je 0x1402efb33
mov rax, qword [r13 + 0x30]
mov edx, ecx
mov r13, qword [rbp + 0xe0]
mov rcx, r13
mov r9d, dword [rax + 0x18]
mov r8d, dword [rax + 0x14]
call fcn.14025cec0
mov ebx, dword [rsp + 0x70]
jmp 0x1402f00b8
mov r13, qword [rbp + 0xe0]
mov ebx, dword [rsp + 0x70]
jmp 0x1402f00b8
cmp qword [rsi + 0x30], 0
jne 0x1402efe43
mov r8, qword [rsi + 0x20]
cmp dword [r8], 1
jne 0x1402efe43
mov r14, qword [rsi + 0x28]
cmp dword [r14], 1
jne 0x1402efe43
cmp qword [r14 + 0x30], 0
jne 0x1402efe43
cmp edx, 1
jne 0x1402efe43
cmp qword [rsi + 0x40], 0
jne 0x1402efe43
mov r14, qword [r14 + 0x28]
cmp byte [r14 + 0x3f], 0
jne 0x1402efe43
mov r8, qword [r8 + 8]
cmp byte [r8], 0xa8
jne 0x1402efe43
cmp qword [r8 + 0x38], r12
jne 0x1402efe43
mov rax, qword [r12 + 0x30]
mov rcx, qword [rax + 8]
test dword [rcx + 4], 0x100
je 0x1402efe43
test dword [r8 + 4], 0x1000004
jne 0x1402efe43
mov rdx, qword [r14 + 0x60]
mov esi, 0xffff8000
test rdx, rdx
je 0x1402efc0b
mov rax, qword [r13]
mov esi, r11d
mov rcx, qword [rax + 0x20]
add rcx, 0x18
cmp qword [rcx], rdx
je 0x1402efc0b
nop word [rax + rax]
inc esi
lea rcx, [rcx + 0x20]
cmp qword [rcx], rdx
jne 0x1402efc00
mov r10, qword [rbp + 0xe0]
mov r15, r11
mov r13d, dword [r13 + 0x34]
mov rcx, r10
mov rbx, r11
lea eax, [r13 + 1]
mov dword [r10 + 0x34], eax
mov rax, qword [r10 + 0xa0]
mov r12d, dword [r14 + 0x28]
test rax, rax
cmovne rcx, rax
mov eax, dword [rcx + 0x74]
bt eax, esi
jb 0x1402efc53
bts eax, esi
mov dword [rcx + 0x74], eax
cmp esi, 1
jne 0x1402efc58
call fcn.1402dfab0
jmp 0x1402efc8a
cmp esi, 1
je 0x1402efc91
mov rax, qword [r10]
movsxd rdx, esi
shl rdx, 5
mov rcx, qword [rax + 0x20]
mov rax, qword [rdx + rcx + 8]
cmp byte [rax + 0x11], 0
je 0x1402efc91
mov rax, qword [r14]
xor r9d, r9d
mov r8d, dword [r14 + 0x28]
mov edx, esi
mov rcx, r10
mov qword [rsp + 0x20], rax
call fcn.14028e0a0
mov r10, qword [rbp + 0xe0]
test byte [r14 + 0x30], 0x80
je 0x1402efcb3
mov rbx, qword [r14 + 0x10]
test rbx, rbx
je 0x1402efcb3
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x1402efcb3
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x1402efca1
mov rax, qword [rbp + 0xe8]
mov rax, qword [rax + 0x28]
test byte [rax + 0x48], 1
jne 0x1402efcff
mov rax, qword [r14 + 0x10]
test rax, rax
je 0x1402efcff
nop dword [rax]
test byte [rax + 0x64], 4
jne 0x1402efcf6
movzx ecx, word [rax + 0x5c]
cmp cx, word [r14 + 0x3c]
jge 0x1402efcf6
cmp qword [rax + 0x48], 0
jne 0x1402efcf6
test rbx, rbx
je 0x1402efcf3
cmp cx, word [rbx + 0x5c]
jge 0x1402efcf6
mov rbx, rax
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x1402efcd0
test rbx, rbx
je 0x1402efd16
mov r12d, dword [rbx + 0x58]
mov rdx, rbx
mov rcx, r10
call fcn.1402dd290
mov r15, rax
mov dword [rsp + 0x28], 1
mov r9d, r12d
mov r8d, r13d
mov dword [rsp + 0x20], esi
mov edx, 0x70
mov rcx, rdi
call fcn.1402f8890
test r15, r15
je 0x1402efd9d
mov rax, qword [rdi]
cmp byte [rax + 0x67], 0
je 0x1402efd61
cmp qword [rax + 0x300], 0
jne 0x1402efd9d
add dword [r15], 0xffffffff
jne 0x1402efd9d
mov rcx, qword [r15 + 0x10]
mov rdx, r15
call fcn.1402c17a0
jmp 0x1402efd9d
movsxd rax, dword [rdi + 0x90]
lea rdx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rdx, [rdx - 3]
cmp byte [rax + rdx*8 + 1], 0
lea rdx, [rax + rdx*8]
je 0x1402efd95
mov r9d, 0xfffffff8
mov r8, r15
mov rcx, rdi
call fcn.14031a7f0
jmp 0x1402efd9d
mov qword [rdx + 0x10], r15
mov byte [rdx + 1], 0xf8
mov rax, qword [rsp + 0x50]
mov r8d, r13d
mov edx, 0x62
mov rcx, rdi
mov rax, qword [rax + 0x30]
mov r9d, dword [rax + 0x10]
call fcn.1402f8680
mov r8d, r13d
mov edx, 0x7a
mov rcx, rdi
call fcn.1402f8610
mov r13, qword [rbp + 0xe0]
cmp byte [r13 + 0x123], 2
jne 0x1402f0069
test rbx, rbx
je 0x1402efe00
test byte [r14 + 0x30], 0x80
je 0x1402efdf4
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x1402efe00
mov rax, qword [rbx]
lea rcx, [0x1405e4ea8]
jmp 0x1402efe10
xor eax, eax
lea rcx, [0x1405e4ea8]
mov dword [rsp + 0x78], eax
mov rax, rcx
cmp dword [rsp + 0x78], 0
lea rdx, str._USING_COVERING_INDEX
mov r9, qword [r14]
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, r13
call fcn.140302ac0
jmp 0x1402f0069
cmp dword [r12 + 0x2c], 0
mov esi, r11d
mov r14, r11
movzx ebx, r11w
je 0x1402efefd
mov r8d, r11d
mov r9d, edx
test edx, edx
jle 0x1402efe98
mov rcx, qword [r12 + 0x30]
nop dword [rax + rax]
mov rax, qword [rcx]
test dword [rax + 4], 0x1000000
jne 0x1402efe89
mov rax, qword [rcx + 8]
mov r9d, edx
test byte [rax + 4], 0x20
jne 0x1402efe98
inc r8d
add rcx, 0x20
mov r9d, edx
cmp r8d, edx
jl 0x1402efe70
cmp r8d, r9d
jne 0x1402eff22
inc dword [r13 + 0x38]
movsxd rcx, dword [rdi + 0x90]
mov esi, dword [r13 + 0x38]
cmp dword [rdi + 0x94], ecx
jg 0x1402efed1
xor r8d, r8d
mov dword [rsp + 0x20], r11d
mov r9d, esi
mov rcx, rdi
lea edx, [r8 + 0x47]
call fcn.1402884f0
jmp 0x1402eff22
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], esi
mov dword [rax + rcx*8 + 0xc], r11d
mov qword [rax + rcx*8 + 0x10], r11
jmp 0x1402eff22
cmp edx, 1
jne 0x1402eff22
mov rax, qword [r12 + 0x30]
cmp dword [rax + 0x14], 0
jl 0x1402eff22
mov rax, qword [rax]
mov r14, qword [rax + 0x20]
mov rax, r14
neg rax
sbb bx, bx
and bx, 0x500
mov rdx, r12
mov rcx, r13
call fcn.14029f6d0
movzx r15d, byte [rbp + 0xf8]
xor ecx, ecx
mov r9, qword [rbp + 0x58]
movzx eax, r15w
mov r8, qword [rbp - 0x50]
or ax, bx
mov rdx, qword [rsp + 0x48]
mov dword [rsp + 0x38], ecx
mov word [rsp + 0x30], ax
mov qword [rsp + 0x28], rcx
mov rcx, r13
mov qword [rsp + 0x20], r14
call fcn.140309b40
mov rbx, rax
test rax, rax
je 0x1402f01a2
movzx r14d, byte [rax + 0x4b]
mov r8, r12
mov r9d, r14d
mov edx, esi
mov rcx, r13
call fcn.1403184e0
test r14d, r14d
je 0x1402effa9
mov rax, qword [r12 + 0x30]
test rax, rax
je 0x1402effa9
mov r9d, dword [rax + 0x18]
mov edx, r14d
mov r8d, dword [rax + 0x14]
mov rcx, r13
call fcn.14025cec0
test esi, esi
je 0x1402f0008
movsxd rcx, dword [rdi + 0x90]
cmp dword [rdi + 0x94], ecx
jg 0x1402effd6
xor eax, eax
mov r9d, esi
mov rcx, rdi
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x47]
lea r8d, [rax + 1]
call fcn.1402884f0
jmp 0x1402f0008
lea eax, [rcx + 1]
xor edx, edx
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], esi
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
test r15b, r15b
je 0x1402f0056
test byte [rbx + 0x4c], 4
je 0x1402f0056
cmp byte [rbx + 0x49], 0
je 0x1402f0056
movzx edx, byte [rbx + 0x48]
sub rdx, 1
js 0x1402f004b
imul rcx, rdx, 0x70
add rcx, rbx
nop word [rax + rax]
mov rax, qword [rcx + 0x3d0]
test byte [rax + 0x38], 4
jne 0x1402f00da
sub rcx, 0x70
sub rdx, 1
jns 0x1402f0030
mov edx, dword [rbx + 0x3c]
mov rcx, rdi
call fcn.140303200
mov rcx, rbx
call fcn.14030e0d0
mov rdx, r12
mov rcx, r13
call fcn.14025c5e0
mov ebx, dword [rsp + 0x70]
xor r12d, r12d
mov rdx, qword [rbp + 0x50]
mov r8d, ebx
mov rcx, r13
mov qword [rbp + 0x60], r12
lea r9d, [r12 + 0x10]
call fcn.1402c9170
mov rsi, qword [rbp + 0xf0]
lea r8d, [r12 - 1]
mov rdx, qword [rbp + 0xe8]
xor r9d, r9d
mov dword [rsp + 0x38], ebx
mov rcx, r13
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], r12
call fcn.1402a7750
mov rcx, qword [rdi + 0x18]
not ebx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1402f00e5
mov r8d, ebx
mov rdx, rdi
call fcn.14029fba0
mov rbx, qword [rbp + 0xe8]
jmp 0x1402f00fc
mov edx, dword [rcx + 0x380]
jmp 0x1402f004e
movsxd rdx, ebx
mov rbx, qword [rbp + 0xe8]
mov rcx, qword [rcx + 0x50]
mov eax, dword [rdi + 0x90]
mov dword [rcx + rdx*4], eax
cmp byte [rsp + 0x5c], 3
jne 0x1402f011b
lea r9, str.DISTINCT
xor edx, edx
lea r8, str.USE_TEMP_B_TREE_FOR__s
mov rcx, r13
call fcn.140302ac0
cmp qword [rbp + 0x60], 0
je 0x1402f0164
cmp dword [rbp + 0x68], 0
lea rax, str.RIGHT_PART_OF_ORDER_BY
lea r9, str.ORDER_BY
mov rcx, r13
cmovg r9, rax
lea r8, str.USE_TEMP_B_TREE_FOR__s
xor edx, edx
call fcn.140302ac0
mov rax, qword [rbp - 0x60]
lea r8, [rbp + 0x60]
mov rdx, rbx
mov qword [rsp + 0x20], rsi
mov rcx, r13
mov r9d, dword [rax]
call fcn.140283820
mov rcx, qword [rdi + 0x18]
mov edx, dword [rbp + 0x48]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1402f0182
mov r8d, edx
mov rdx, rdi
call fcn.14029fba0
jmp 0x1402f0193
mov r8, qword [rcx + 0x50]
mov eax, dword [rdi + 0x90]
movsxd r9, edx
mov dword [r8 + r9*4], eax
cmp dword [r13 + 0x30], 0
mov eax, r12d
setg al
mov dword [rsp + 0x78], eax
mov r14, qword [rsp + 0x68]
mov rax, qword [rbp + 0x58]
test rax, rax
je 0x1402f01d3
mov rdx, rax
mov rcx, r14
call fcn.14025b200
mov rcx, r13
call fcn.140302c00
mov eax, dword [rsp + 0x78]
jmp 0x1402ecd2d
mov r13, qword [rbp + 0xe0]
mov rcx, r13
call fcn.140302c00
mov eax, dword [rsp + 0x78]
jmp 0x1402ecd2d
mov eax, 1
add rsp, 0x1a8
pop r14
pop r13
pop r12
pop rdi
pop rbx
pop rbp
ret