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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0xa0]
sub rsp, 0x1a0
mov rax, qword [0x180167010]
xor rax, rsp
mov qword [rbp + 0x98], rax
mov r12, qword [rcx + 0x10]
xor esi, esi
mov rax, qword [rcx]
mov rbx, r8
mov qword [rbp - 0x70], rbx
mov r15d, 1
mov qword [rsp + 0x58], rdx
mov rdi, rdx
mov qword [rsp + 0x40], rcx
mov r14, rcx
mov qword [rbp - 0x28], r15
mov qword [rbp - 0x18], rsi
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x48], r12
test r12, r12
jne 0x1800ec848
cmp qword [rcx + 0xb0], rsi
jne 0x1800ec83b
test byte [rax + 0x60], 8
jne 0x1800ec83b
mov byte [rcx + 0x23], r15b
call fcn.180085670
mov r12, rax
mov qword [rsp + 0x48], rax
test rdi, rdi
je 0x1800f008f
cmp dword [r14 + 0x30], esi
jne 0x1800f008f
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov rcx, r14
lea edx, [r9 + 0x15]
call fcn.1800b42d0
test eax, eax
jne 0x1800f008f
cmp byte [rbx], 6
mov qword [rsp + 0x1f8], r13
lea r13, [fcn.1800a1cb0]
ja 0x1800ec8dc
mov rbx, qword [rdi + 0x48]
test rbx, rbx
je 0x1800ec8cd
mov rax, qword [0x1801673c0]
test rax, rax
je 0x1800ec942
mov ecx, 0x12c
call rax
mov rcx, qword [r14]
test eax, eax
je 0x1800ec945
call fcn.18005b7f0
mov rcx, qword [r14]
mov rdx, rbx
call fcn.1800a1b90
mov qword [rdi + 0x48], rsi
and dword [rdi + 4], 0xfffffffe
or dword [rdi + 4], 0x400000
mov rbx, qword [rbp - 0x70]
xor r8d, r8d
mov rdx, rdi
mov rcx, r14
call fcn.1800eaa50
lea r8, [0x18016bc10]
cmp dword [r14 + 0x30], esi
jne 0x1800f0058
mov r10d, dword [rdi + 4]
bt r10d, 0x17
jae 0x1800ec993
mov rdx, qword [rdi + 0x28]
lea r11, [rdx + 8]
mov rcx, r11
call fcn.1800ec6e0
test eax, eax
je 0x1800ec98a
mov r8, qword [r11 + 0x18]
test r8, r8
jne 0x1800ec92e
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.18005ee20
jmp 0x1800f0051
mov rcx, qword [r14]
test rcx, rcx
je 0x1800ec956
mov edx, 0x18
call fcn.18005b220
jmp 0x1800ec960
mov ecx, 0x18
call fcn.18005aba0
mov rcx, rax
test rax, rax
je 0x1800ec8be
mov rax, qword [r14 + 0xc8]
mov qword [rcx], rax
mov qword [r14 + 0xc8], rcx
mov qword [rcx + 8], rbx
mov qword [rcx + 0x10], r13
jmp 0x1800ec8c9
btr r10d, 0x17
mov dword [rdi + 4], r10d
cmp byte [rbx], 9
jne 0x1800ec9a3
mov rdx, rdi
mov rcx, r14
call fcn.1800e2d10
mov rdx, rdi
mov rcx, r14
call fcn.18010fbf0
test eax, eax
jne 0x1800f0051
mov eax, dword [rdi + 4]
mov edx, esi
mov r13, qword [rdi + 0x28]
xorps xmm0, xmm0
shr eax, 3
xorps xmm1, xmm1
and eax, r15d
mov qword [rbp + 0x28], rsi
mov dword [rbp - 0x78], eax
mov rax, qword [rdi + 0x48]
mov qword [rbp], rax
movdqu xmmword [rbp + 8], xmm0
mov dword [rsp + 0x50], edx
movdqu xmmword [rbp + 0x18], xmm1
cmp qword [rdi + 0x50], rdx
jne 0x1800ece44
mov rbx, rsi
mov qword [rsp + 0x78], rbx
nop word [rax + rax]
cmp edx, dword [r13]
jge 0x1800eceab
imul rdi, rbx, 0x68
add rdi, r13
mov qword [rbp - 0x20], rdi
movzx eax, byte [rdi + 0x44]
mov r14, qword [rdi + 0x30]
mov r9, qword [rdi + 0x28]
mov qword [rbp - 0x48], r14
mov qword [rsp + 0x60], r9
test al, 0x48
je 0x1800ecc6e
mov edx, dword [rdi + 0x4c]
mov r8d, eax
mov rax, qword [rsp + 0x58]
and r8d, 0x40
mov rcx, qword [rax + 0x30]
call fcn.1800aa5b0
test eax, eax
je 0x1800ecc65
mov rax, qword [rsp + 0x70]
test dword [rax + 0x60], 0x2000
jne 0x1800ecc65
movzx eax, byte [rdi + 0x44]
test al, 8
je 0x1800ecb38
test al, 0x10
je 0x1800eca7e
and al, 0xf7
mov byte [rdi + 0x44], al
jmp 0x1800ecb38
mov r9, qword [rsp + 0x58]
and al, 0xd7
mov ebx, dword [rdi + 0x4c]
mov byte [rdi + 0x44], al
mov r9, qword [r9 + 0x30]
test r9, r9
je 0x1800ecb33
test ebx, ebx
js 0x1800ecab7
mov eax, dword [r9 + 4]
test r15b, al
je 0x1800ecac0
cmp dword [r9 + 0x34], ebx
jne 0x1800ecac0
and eax, 0xfffffffc
or eax, 2
mov dword [r9 + 4], eax
jmp 0x1800ecac0
and dword [r9 + 4], 0xfffffffc
mov eax, dword [r9 + 4]
movzx ecx, byte [r9]
cmp cl, 0xa7
jne 0x1800ecad9
cmp dword [r9 + 0x2c], ebx
jne 0x1800ecb14
btr eax, 0x15
mov dword [r9 + 4], eax
jmp 0x1800ecb14
cmp cl, 0xac
jne 0x1800ecb14
mov rax, qword [r9 + 0x20]
test rax, rax
je 0x1800ecb14
mov r11d, esi
cmp dword [rax], esi
jle 0x1800ecb14
mov r10, rsi
mov rcx, qword [r9 + 0x20]
xor r8d, r8d
mov edx, ebx
mov rcx, qword [r10 + rcx + 8]
call fcn.1800df400
mov rax, qword [r9 + 0x20]
lea r10, [r10 + 0x20]
inc r11d
cmp r11d, dword [rax]
jl 0x1800ecaf1
mov rcx, qword [r9 + 0x10]
xor r8d, r8d
mov edx, ebx
call fcn.1800df400
mov r9, qword [r9 + 0x18]
test r9, r9
jne 0x1800eca98
movzx eax, byte [rdi + 0x44]
mov rbx, qword [rsp + 0x78]
test al, 0x40
je 0x1800ecc65
mov r14d, dword [rsp + 0x50]
lea rcx, [rbx + 1]
mov eax, dword [r13]
inc r14d
cmp r14d, eax
jge 0x1800ecc3c
mov r12, qword [rsp + 0x58]
lea rdi, [r13 + 0x44]
imul rax, rcx, 0x68
add rdi, rax
nop dword [rax]
movzx eax, byte [rdi]
test al, 0x10
je 0x1800ecc1a
test al, 8
je 0x1800ecb88
and al, 0xef
mov byte [rdi], al
jmp 0x1800ecc1a
mov ebx, dword [rdi + 8]
and al, 0xcf
mov byte [rdi], al
mov r9, qword [r12 + 0x30]
test r9, r9
je 0x1800ecc1a
nop dword [rax]
test ebx, ebx
js 0x1800ecbc0
test byte [r9 + 4], r15b
je 0x1800ecbc5
cmp dword [r9 + 0x34], ebx
jne 0x1800ecbc5
mov eax, dword [r9 + 4]
and eax, 0xfffffffc
or eax, 2
mov dword [r9 + 4], eax
jmp 0x1800ecbc5
and dword [r9 + 4], 0xfffffffc
cmp byte [r9], 0xac
jne 0x1800ecc03
mov rax, qword [r9 + 0x20]
test rax, rax
je 0x1800ecc03
mov r11d, esi
cmp dword [rax], esi
jle 0x1800ecc03
mov r10, rsi
nop
mov rcx, qword [r9 + 0x20]
mov r8d, r15d
mov edx, ebx
mov rcx, qword [r10 + rcx + 8]
call fcn.1800df400
mov rax, qword [r9 + 0x20]
lea r10, [r10 + 0x20]
inc r11d
cmp r11d, dword [rax]
jl 0x1800ecbe0
mov rcx, qword [r9 + 0x10]
mov r8d, r15d
mov edx, ebx
call fcn.1800df400
mov r9, qword [r9 + 0x18]
test r9, r9
jne 0x1800ecba0
mov eax, dword [r13]
inc r14d
add rdi, 0x68
cmp r14d, eax
jl 0x1800ecb70
mov r12, qword [rsp + 0x48]
mov rdi, qword [rbp - 0x20]
mov rbx, qword [rsp + 0x78]
sub eax, r15d
movsxd rdx, eax
js 0x1800ecc61
imul rax, rdx, 0x68
lea rcx, [r13 + 0x44]
add rcx, rax
nop
and byte [rcx], 0xbf
test byte [rcx], 0x10
jne 0x1800ecc61
sub rcx, 0x68
sub rdx, r15
jns 0x1800ecc50
mov r14, qword [rbp - 0x48]
mov edx, dword [rsp + 0x50]
mov r9, qword [rsp + 0x60]
test r14, r14
je 0x1800ece1e
mov rax, qword [r14 + 0x20]
movsx r8d, word [r9 + 0x36]
mov ecx, dword [rax]
cmp r8d, ecx
jne 0x1800ece8b
test dword [rdi + 0x48], 0x100
je 0x1800ecca2
mov rax, qword [rdi + 0x68]
cmp byte [rax + 0x12], sil
je 0x1800ece1e
mov eax, dword [r14 + 4]
mov rdi, qword [rsp + 0x58]
test al, 8
jne 0x1800ece23
mov rbx, qword [r14 + 0x48]
test rbx, rbx
je 0x1800ecdb0
cmp qword [rdi + 0x48], rsi
jne 0x1800eccd0
cmp dword [r13], r15d
jle 0x1800ecd93
cmp qword [r14 + 0x60], rsi
jne 0x1800ecd93
bt eax, 0x1b
jb 0x1800ecd93
test dword [rdi + 4], 0x8000000
jne 0x1800ecd93
mov rax, qword [rsp + 0x70]
test dword [rax + 0x60], 0x40000
jne 0x1800ecd93
mov rax, qword [0x1801673c0]
test rax, rax
je 0x1800ecd3d
mov ecx, 0x12c
call rax
mov rdi, qword [rsp + 0x40]
mov rcx, qword [rdi]
test eax, eax
je 0x1800ecd45
call fcn.18005b7f0
mov rcx, qword [rdi]
mov rdx, rbx
call fcn.1800a1b90
mov rdi, qword [rsp + 0x58]
mov qword [r14 + 0x48], rsi
jmp 0x1800ecdb0
mov rdi, qword [rsp + 0x40]
mov rcx, qword [rdi]
test rcx, rcx
je 0x1800ecd56
mov edx, 0x18
call fcn.18005b220
jmp 0x1800ecd60
mov ecx, 0x18
call fcn.18005aba0
mov rcx, rax
test rax, rax
je 0x1800ecd27
mov rax, qword [rdi + 0xc8]
mov qword [rcx], rax
lea rax, [fcn.1800a1cb0]
mov qword [rdi + 0xc8], rcx
mov rdi, qword [rsp + 0x58]
mov qword [rcx + 0x10], rax
mov qword [rcx + 8], rbx
mov qword [r14 + 0x48], rsi
jmp 0x1800ecdb0
test edx, edx
jne 0x1800ecdb0
test dword [rdi + 4], 0x40000
je 0x1800ecdb0
cmp dword [r13], r15d
je 0x1800ece17
test byte [r13 + 0xac], 0x22
jne 0x1800ece17
mov r14, qword [rsp + 0x40]
mov rdx, rdi
mov r9d, dword [rbp - 0x78]
mov rcx, r14
mov r8d, dword [rsp + 0x50]
call fcn.1800e7ba0
test eax, eax
je 0x1800ecde8
cmp dword [r14 + 0x30], esi
jne 0x1800f0051
mov dword [rsp + 0x50], 0xffffffff
mov qword [rsp + 0x78], 0xffffffffffffffff
mov rax, qword [rsp + 0x70]
mov r13, qword [rdi + 0x28]
cmp byte [rax + 0x67], sil
jne 0x1800f0051
mov rax, qword [rbp - 0x70]
mov edx, dword [rsp + 0x50]
mov rbx, qword [rsp + 0x78]
cmp byte [rax], 8
jbe 0x1800ece28
mov rax, qword [rdi + 0x48]
mov qword [rbp], rax
jmp 0x1800ece28
mov rbx, qword [rsp + 0x78]
jmp 0x1800ece23
mov rdi, qword [rsp + 0x58]
mov r14, qword [rsp + 0x40]
inc edx
inc rbx
mov dword [rsp + 0x50], edx
mov qword [rsp + 0x78], rbx
cmp qword [rdi + 0x50], rsi
je 0x1800eca00
mov rbx, qword [rbp - 0x70]
mov r8, rbx
mov rdx, rdi
mov rcx, r14
call fcn.1800e46d0
mov r8d, eax
cmp qword [rdi + 0x58], rsi
jne 0x1800f000d
movsxd rcx, dword [r14 + 0x140]
test ecx, ecx
je 0x1800f0006
mov rdx, qword [r14 + 0x10]
mov rax, qword [rdx]
cmp byte [rax + 0x67], sil
je 0x1800efff4
lea rax, [0x18016bc10]
jmp 0x1800f0003
mov r14, qword [rsp + 0x40]
lea rdx, str.expected__d_columns_for__s_but_got__d
mov r9, qword [r9]
mov dword [rsp + 0x20], ecx
mov rcx, r14
call fcn.18005ee20
jmp 0x1800f0051
mov rax, qword [rdi + 0x30]
mov rbx, r13
mov qword [rsp + 0x60], rbx
test rax, rax
je 0x1800ed002
cmp byte [rax], 0x2c
mov qword [rsp + 0x60], rbx
jne 0x1800ed002
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x60], rbx
test dword [rax + 0x60], 0x8000
jne 0x1800ed002
mov rax, qword [r14]
lea r13, [0x1800e8a00]
add rax, 0x67
mov qword [rbp + 0x30], r14
mov qword [rbp + 0x38], rax
lea r12, [fcn.180001930]
mov qword [rsp + 0x60], rbx
nop word [rax + rax]
mov rax, qword [rdi + 0x28]
mov qword [rbp + 0x40], rsi
mov qword [rbp + 0x50], rsi
mov dword [rbp + 0x48], esi
test rax, rax
je 0x1800ecf35
cmp dword [rax], esi
jle 0x1800ecf35
test byte [rax + 0x44], 0x40
mov dword [rbp + 0x4c], 3
jne 0x1800ecf39
mov dword [rbp + 0x4c], r15d
mov rdx, qword [rdi + 0x30]
lea rcx, [rbp + 0x30]
call fcn.1800e87b0
cmp dword [rbp + 0x40], esi
je 0x1800ecff4
mov rdx, qword [rdi + 0x30]
lea rax, [rbp + 0x30]
mov qword [rbp + 0x88], rsi
mov qword [rbp + 0x68], r14
mov qword [rbp + 0x70], r13
mov qword [rbp + 0x78], r12
mov qword [rbp + 0x80], rsi
mov qword [rbp + 0x90], rax
test rdx, rdx
je 0x1800ecf86
lea rcx, [rbp + 0x68]
call fcn.18009ad00
mov rax, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x50]
mov rcx, qword [rax]
test rdx, rdx
je 0x1800ecff4
test rcx, rcx
je 0x1800ecfec
cmp rdx, qword [rcx + 0x1f0]
jae 0x1800ecfdc
cmp rdx, qword [rcx + 0x1e0]
jb 0x1800ecfc0
mov rax, qword [rcx + 0x1d8]
mov qword [rdx], rax
mov qword [rcx + 0x1d8], rdx
jmp 0x1800ecff4
cmp rdx, qword [rcx + 0x1e8]
jb 0x1800ecfdc
mov rax, qword [rcx + 0x1c8]
mov qword [rdx], rax
mov qword [rcx + 0x1c8], rdx
jmp 0x1800ecff4
cmp qword [rcx + 0x308], rsi
je 0x1800ecfec
call fcn.18005ae00
jmp 0x1800ecff4
mov rcx, rdx
call fcn.18005ad90
cmp dword [rbp + 0x44], esi
jne 0x1800ecf10
mov r12, qword [rsp + 0x48]
mov r13, qword [rsp + 0x70]
test dword [r13 + 0x60], 0x201
jne 0x1800ed033
mov rdx, rdi
mov rcx, r14
call fcn.1800ec350
test eax, eax
je 0x1800ed033
cmp byte [r13 + 0x67], sil
jne 0x1800f0051
mov rbx, qword [rdi + 0x28]
mov qword [rsp + 0x60], rbx
lea r9, [0x18013df0b]
mov edi, esi
mov dword [rsp + 0x50], esi
cmp dword [rbx], esi
jle 0x1800ed986
mov rax, rsi
mov qword [rbp - 0x60], rax
nop
imul rax, rax, 0x68
lea r13, [rbx + 8]
add r13, rax
cmp qword [r13 + 0x50], rsi
jne 0x1800ed0eb
mov r8, qword [r13 + 0x10]
test r8, r8
je 0x1800ed0eb
mov rcx, qword [r14]
mov r10, qword [rcx + 0x200]
test r10, r10
je 0x1800ed0eb
cmp byte [rcx + 0xc5], sil
jne 0x1800ed0eb
cmp byte [r14 + 0x134], sil
jne 0x1800ed0eb
mov rdx, qword [r13 + 8]
mov rax, qword [r14 + 0x178]
mov rcx, qword [rcx + 0x208]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
mov edx, 0x14
call r10
cmp eax, 1
jne 0x1800ed0d1
lea rdx, str.not_authorized
mov rcx, r14
call fcn.18005ee20
mov dword [r14 + 0x18], 0x17
jmp 0x1800ed0eb
test eax, 0xfffffffd
je 0x1800ed0eb
lea rdx, str.authorizer_malfunction
mov rcx, r14
call fcn.18005ee20
mov dword [r14 + 0x18], r15d
mov r11, qword [r13 + 0x28]
mov qword [rsp + 0x78], r11
test r11, r11
je 0x1800ed966
cmp dword [r13 + 0x30], esi
jne 0x1800ed966
mov rcx, qword [rsp + 0x58]
lea rdx, [rsp + 0x68]
mov dword [rsp + 0x68], esi
call fcn.18009f970
mov eax, dword [rsp + 0x68]
add dword [r14 + 0x13c], eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x60]
mov eax, ecx
bt ecx, 0xc
jb 0x1800ed171
test dword [r13 + 0x40], 0x100
je 0x1800ed14e
mov rdx, qword [r13 + 0x60]
cmp byte [rdx + 0x12], sil
je 0x1800ed171
cmp dword [rdx], 2
jge 0x1800ed171
mov rax, qword [rsp + 0x58]
mov r9, rbx
mov rdx, r11
mov dword [rsp + 0x20], edi
mov rcx, r14
mov r8, qword [rax + 0x30]
call fcn.1800e8a90
mov rcx, qword [rsp + 0x70]
mov eax, dword [rcx + 0x60]
bt eax, 0x1a
jb 0x1800ed298
test dword [r13 + 0x40], 0x108
jne 0x1800ed298
mov r14, qword [r13 + 0x28]
mov r8, qword [r13 + 0x20]
mov rax, r14
test r14, r14
je 0x1800ed1ce
nop dword [rax]
test byte [rax + 4], 9
jne 0x1800ed293
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x1800ed1bc
cmp byte [rax], 0x87
jne 0x1800ed293
cmp qword [rax + 0x70], rsi
jne 0x1800ed293
mov rax, rcx
test rcx, rcx
jne 0x1800ed1a0
mov rcx, qword [r14 + 0x48]
mov rbx, qword [r13 + 0x50]
test rcx, rcx
je 0x1800ed210
movsxd rdx, dword [rcx]
test rdx, rdx
jle 0x1800ed210
add rcx, 0x20
movzx eax, word [rcx]
test ax, ax
je 0x1800ed206
dec ax
cmp ax, 0x40
jb 0x1800ed1ff
mov eax, 0x3f
jmp 0x1800ed202
movzx eax, ax
bts rbx, rax
add rcx, 0x20
sub rdx, 1
jne 0x1800ed1e7
movsx rdi, word [r8 + 0x36]
mov r10d, esi
mov r11, rsi
test rdi, rdi
jle 0x1800ed28f
mov r9, r15
mov r8, rsi
movabs r12, 0x8000000000000000
cmp r10d, 0x3f
mov rax, r12
cmovb rax, r9
test rax, rbx
jne 0x1800ed278
mov rcx, r14
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rcx + 0x20]
mov rdx, qword [rax + r8 + 8]
cmp byte [rdx], 0x79
je 0x1800ed26f
and dword [rdx + 4], 0xfff7dfff
mov byte [rdx], 0x79
or dword [rcx + 4], 0x1000000
mov rcx, qword [rcx + 0x50]
test rcx, rcx
jne 0x1800ed250
inc r10d
rol r9, 1
inc r11
add r8, 0x20
cmp r11, rdi
jl 0x1800ed230
mov r12, qword [rsp + 0x48]
mov edi, dword [rsp + 0x50]
mov r14, qword [rsp + 0x40]
mov rax, qword [r13 + 0x10]
mov ebx, edi
mov r15, qword [r14 + 0x178]
mov qword [r14 + 0x178], rax
test dword [r13 + 0x40], 0x100
mov rax, qword [rsp + 0x58]
mov r14d, dword [rax + 4]
je 0x1800ed2dd
mov rax, qword [r13 + 0x60]
movzx ecx, byte [rax + 0x12]
test cl, cl
je 0x1800ed379
cmp dword [rax], 2
jl 0x1800ed2dd
cmp cl, 2
jne 0x1800ed379
mov rcx, qword [rsp + 0x60]
test byte [rcx + 0x44], 0x40
jne 0x1800ed37e
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
test dword [rax + 0x60], 0x2000000
jne 0x1800ed37e
mov r8d, dword [rsp + 0x50]
mov rdx, r13
mov edi, dword [rcx]
inc r8d
mov r9d, edi
call fcn.1800ec0e0
test rax, rax
jne 0x1800ed375
cmp qword [rbp - 0x60], rsi
jne 0x1800ed34d
cmp edi, 1
je 0x1800ed3ce
mov rcx, qword [rsp + 0x60]
test byte [rcx + 0xac], 2
jne 0x1800ed3ce
bt r14d, 0x1c
jae 0x1800ed3ce
mov edi, dword [rsp + 0x50]
jmp 0x1800ed37e
bt r14d, 0x1c
jb 0x1800ed375
test byte [r13 + 0x3c], 0x22
lea rax, [r13 + 0x3c]
jne 0x1800ed375
nop
test ebx, ebx
je 0x1800ed3ce
sub rax, 0x68
dec ebx
cmp qword [rax - 0x14], rsi
jne 0x1800ed375
test byte [rax], 0x22
je 0x1800ed360
mov edi, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x60]
test dword [r13 + 0x40], 0x100
je 0x1800ed600
mov rbx, qword [r13 + 0x60]
mov edx, dword [rbx + 4]
test edx, edx
jle 0x1800ed600
movsxd rcx, dword [r12 + 0x90]
mov r8d, dword [rbx + 8]
cmp dword [r12 + 0x94], ecx
jg 0x1800ed555
mov r9d, edx
mov dword [rsp + 0x20], esi
mov edx, 0xa
mov rcx, r12
call fcn.1800859d0
jmp 0x1800ed585
movsxd rdi, dword [r12 + 0x90]
mov r14, qword [rsp + 0x40]
lea ebx, [rdi + 1]
inc dword [r14 + 0x38]
mov edx, dword [r14 + 0x38]
mov dword [r13 + 0x34], edx
movsxd rcx, dword [r12 + 0x90]
cmp dword [r12 + 0x94], ecx
jg 0x1800ed414
xor r9d, r9d
mov dword [rsp + 0x20], ebx
mov r8d, edx
mov rcx, r12
lea edx, [r9 + 0xb]
call fcn.1800859d0
jmp 0x1800ed443
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0xb
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rsi
mov eax, dword [r13 + 0x34]
lea r8, str.CO_ROUTINE___S
mov r9, r13
mov dword [rbp + 0x34], eax
mov edx, 1
mov dword [r13 + 0x30], ebx
mov rcx, r14
mov byte [rbp + 0x30], 0xd
mov qword [rbp + 0x38], rsi
mov qword [rbp + 0x48], rsi
mov dword [rbp + 0x40], esi
call fcn.180086160
mov rbx, qword [rsp + 0x78]
lea r8, [rbp + 0x30]
mov rdx, rbx
mov rcx, r14
call fcn.1800ec7c0
movzx eax, word [rbx + 2]
mov rcx, qword [r13 + 0x20]
mov word [rcx + 0x3a], ax
or dword [r13 + 0x40], 0x20
mov eax, dword [rbp + 0x3c]
mov edx, dword [r13 + 0x34]
mov dword [r13 + 0x38], eax
movsxd rcx, dword [r12 + 0x90]
cmp dword [r12 + 0x94], ecx
jg 0x1800ed4ce
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov r8d, edx
mov rcx, r12
lea edx, [r9 + 0x44]
call fcn.1800859d0
jmp 0x1800ed4fa
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x44
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], rsi
mov rax, qword [r12 + 0x18]
mov byte [rax + 0x1f], sil
mov rax, qword [r12 + 0x18]
mov dword [rax + 0x28], esi
mov rax, qword [r12]
mov edx, dword [r12 + 0x90]
cmp byte [rax + 0x67], sil
je 0x1800ed534
lea rax, [0x18016bc10]
mov dword [rax + 8], edx
mov byte [r14 + 0x1f], sil
mov dword [r14 + 0x28], esi
jmp 0x1800ed923
mov rax, qword [r12 + 0x88]
lea rcx, [rdi + rdi*2]
mov dword [rax + rcx*8 + 8], edx
mov byte [r14 + 0x1f], sil
mov dword [r14 + 0x28], esi
lea rax, [rax + rcx*8]
jmp 0x1800ed923
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 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], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov edx, dword [rbx + 0xc]
mov r8d, dword [r13 + 0x44]
cmp r8d, edx
je 0x1800ed5e9
movsxd rcx, dword [r12 + 0x90]
cmp dword [r12 + 0x94], ecx
jg 0x1800ed5b9
mov r9d, edx
mov dword [rsp + 0x20], esi
mov edx, 0x73
mov rcx, r12
call fcn.1800859d0
jmp 0x1800ed5e9
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 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], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov rdx, qword [rsp + 0x78]
movzx eax, word [rbx + 0x10]
mov r14, qword [rsp + 0x40]
mov word [rdx + 2], ax
jmp 0x1800ed923
mov r9d, edi
xor r8d, r8d
mov rdx, r13
call fcn.1800ec0e0
mov rbx, rax
test rax, rax
je 0x1800ed6f7
mov edx, dword [rax + 0x30]
test edx, edx
je 0x1800ed67d
movsxd rcx, dword [r12 + 0x90]
mov r8d, dword [rax + 0x34]
cmp dword [r12 + 0x94], ecx
jg 0x1800ed64d
mov r9d, edx
mov dword [rsp + 0x20], esi
mov edx, 0xa
mov rcx, r12
call fcn.1800859d0
jmp 0x1800ed67d
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 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], esi
mov qword [rax + rcx*8 + 0x10], rsi
movsxd rcx, dword [r12 + 0x90]
mov edx, dword [rbx + 0x44]
mov r8d, dword [r13 + 0x44]
cmp dword [r12 + 0x94], ecx
jg 0x1800ed6ac
mov r9d, edx
mov dword [rsp + 0x20], esi
mov edx, 0x73
mov rcx, r12
call fcn.1800859d0
jmp 0x1800ed6dc
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 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], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov rax, qword [rbx + 0x28]
mov rdx, qword [rsp + 0x78]
mov r14, qword [rsp + 0x40]
movzx ecx, word [rax + 2]
mov word [rdx + 2], cx
jmp 0x1800ed923
mov rax, qword [rsp + 0x40]
mov ebx, esi
inc dword [rax + 0x38]
mov eax, dword [rax + 0x38]
mov dword [r13 + 0x34], eax
movsxd rdi, dword [r12 + 0x90]
cmp dword [r12 + 0x94], edi
jg 0x1800ed734
xor r9d, r9d
mov dword [rsp + 0x20], esi
xor r8d, r8d
mov rcx, r12
lea edx, [r9 + 9]
call fcn.1800859d0
mov edi, eax
jmp 0x1800ed75d
lea rcx, [rdi + rdi*2]
lea eax, [rdi + 1]
mov dword [r12 + 0x90], eax
mov rax, qword [r12 + 0x88]
mov qword [rax + rcx*8], 9
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], rsi
or dword [r13 + 0x40], 0x10
lea r14d, [rdi + 1]
test byte [r13 + 0x40], 8
mov dword [r13 + 0x30], r14d
jne 0x1800ed7c6
movsxd rbx, dword [r12 + 0x90]
cmp dword [r12 + 0x94], ebx
jg 0x1800ed79d
xor r9d, r9d
mov dword [rsp + 0x20], esi
xor r8d, r8d
mov rcx, r12
lea edx, [r9 + 0xf]
call fcn.1800859d0
mov ebx, eax
jmp 0x1800ed7c6
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
mov dword [r12 + 0x90], eax
mov rax, qword [r12 + 0x88]
mov qword [rax + rcx*8], 0xf
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], rsi
mov eax, dword [r13 + 0x44]
lea r8, str.MATERIALIZE___S
mov rcx, qword [rsp + 0x40]
mov r9, r13
mov edx, 1
mov dword [rbp + 0x34], eax
mov byte [rbp + 0x30], 0xc
mov qword [rbp + 0x38], rsi
mov qword [rbp + 0x48], rsi
mov dword [rbp + 0x40], esi
call fcn.180086160
mov rdx, qword [rsp + 0x78]
lea r8, [rbp + 0x30]
mov rcx, qword [rsp + 0x40]
call fcn.1800ec7c0
mov r8, qword [rsp + 0x78]
mov rcx, qword [r13 + 0x20]
movzx eax, word [r8 + 2]
mov word [rcx + 0x3a], ax
test ebx, ebx
je 0x1800ed84f
mov rax, qword [r12]
mov edx, dword [r12 + 0x90]
cmp byte [rax + 0x67], sil
je 0x1800ed839
lea rax, [0x18016bc10]
jmp 0x1800ed84c
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
movsxd rcx, dword [r12 + 0x90]
mov edx, dword [r13 + 0x34]
cmp dword [r12 + 0x94], ecx
jg 0x1800ed883
mov r8d, edx
mov dword [rsp + 0x20], esi
mov edx, 0x43
mov r9d, r14d
mov rcx, r12
call fcn.1800859d0
mov r8, qword [rsp + 0x78]
jmp 0x1800ed8b3
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov rax, qword [r12]
mov edx, dword [r12 + 0x90]
cmp byte [rax + 0x67], sil
je 0x1800ed8ce
lea rax, [0x18016bc10]
jmp 0x1800ed8e1
movsxd rax, edi
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
lea rax, [rax + rcx*8]
mov r14, qword [rsp + 0x40]
mov dword [rax + 8], edx
mov byte [r14 + 0x1f], sil
mov dword [r14 + 0x28], esi
mov eax, dword [r13 + 0x40]
and eax, 0x108
cmp eax, 0x100
jne 0x1800ed923
mov eax, dword [r13 + 0x30]
mov rcx, qword [r13 + 0x60]
mov dword [rcx + 4], eax
mov eax, dword [r13 + 0x34]
mov dword [rcx + 8], eax
mov eax, dword [r13 + 0x44]
mov dword [rcx + 0xc], eax
movzx eax, word [r8 + 2]
mov word [rcx + 0x10], ax
mov rax, qword [rsp + 0x70]
cmp byte [rax + 0x67], sil
jne 0x1800f0044
mov rcx, qword [rsp + 0x58]
lea rdx, [rsp + 0x68]
mov dword [rsp + 0x68], esi
call fcn.18009f970
mov edx, dword [rsp + 0x68]
sub dword [r14 + 0x13c], edx
mov edi, dword [rsp + 0x50]
mov rbx, qword [rsp + 0x60]
mov qword [r14 + 0x178], r15
mov r15d, 1
mov rax, qword [rbp - 0x60]
lea r9, [0x18013df0b]
inc rax
inc edi
mov dword [rsp + 0x50], edi
mov qword [rbp - 0x60], rax
cmp edi, dword [rbx]
jl 0x1800ed050
mov rbx, qword [rsp + 0x58]
movzx eax, byte [rbx + 4]
mov r12, qword [rbx + 0x20]
and al, 1
mov r15, qword [rbx + 0x30]
mov r13, qword [rbx + 0x38]
mov r14, qword [rbx + 0x40]
mov byte [rbp - 0x10], al
mov eax, dword [rbx + 4]
and al, 9
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x30], r13
mov qword [rbp - 0x20], r14
cmp al, 1
jne 0x1800eda00
mov rcx, qword [rbp]
mov r8d, 0xffffffff
mov rdx, r12
call fcn.1800aa020
test eax, eax
jne 0x1800eda00
cmp qword [rbx + 0x70], rsi
jne 0x1800eda00
mov rcx, qword [rsp + 0x70]
xor r8d, r8d
and dword [rbx + 4], 0xfffffffe
mov rdx, r12
call fcn.1800a0eb0
or dword [rbx + 4], 8
mov r13, rax
mov qword [rbp - 0x30], rax
mov qword [rbx + 0x38], rax
mov byte [rbp - 0x10], 2
mov rcx, qword [rbp]
test rcx, rcx
je 0x1800edb1c
mov rbx, qword [rsp + 0x40]
mov rdx, rcx
mov r9d, dword [r12]
mov rcx, rbx
xor r8d, r8d
call fcn.1800e1d90
mov r8d, dword [rbx + 0x34]
mov rdi, rax
mov r10, qword [rsp + 0x48]
mov dword [rbp + 0xc], r8d
lea ecx, [r8 + 1]
mov dword [rbx + 0x34], ecx
mov rcx, qword [rbp]
mov r9d, dword [r12]
movsxd rbx, dword [r10 + 0x90]
mov edx, dword [rcx]
inc edx
add r9d, edx
cmp dword [r10 + 0x94], ebx
jg 0x1800eda74
mov edx, 0x76
mov dword [rsp + 0x20], esi
mov rcx, r10
call fcn.1800859d0
mov r10, qword [rsp + 0x48]
mov ebx, eax
jmp 0x1800edaa3
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
mov dword [r10 + 0x90], eax
mov rax, qword [r10 + 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], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov rcx, qword [r10]
mov eax, ebx
cmp byte [rcx + 0x67], sil
je 0x1800edac5
mov r8, rdi
mov edx, 0xfffffff8
call fcn.1800868c0
mov dword [rbp + 0x18], ebx
mov rbx, qword [rsp + 0x58]
jmp 0x1800edb23
test ebx, ebx
jns 0x1800edad2
mov eax, dword [r10 + 0x90]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r10 + 0x88]
cmp byte [rax + rcx*8 + 1], sil
lea rdx, [rax + rcx*8]
je 0x1800edb05
mov r9d, 0xfffffff8
mov r8, rdi
mov rcx, r10
call fcn.180086ae0
mov dword [rbp + 0x18], ebx
mov rbx, qword [rsp + 0x58]
jmp 0x1800edb23
test rdi, rdi
je 0x1800edb12
mov qword [rdx + 0x10], rdi
mov byte [rdx + 1], 0xf8
mov dword [rbp + 0x18], ebx
mov rbx, qword [rsp + 0x58]
jmp 0x1800edb23
mov dword [rbp + 0x18], 0xffffffff
mov rax, qword [rbp - 0x70]
cmp byte [rax], 0xc
jne 0x1800edc88
mov r10, qword [rsp + 0x48]
mov edx, dword [r12]
mov r8d, dword [rax + 4]
movsxd rcx, dword [r10 + 0x90]
cmp dword [r10 + 0x94], ecx
jg 0x1800edb63
mov r9d, edx
mov dword [rsp + 0x20], esi
mov edx, 0x76
mov rcx, r10
call fcn.1800859d0
jmp 0x1800edb91
lea eax, [rcx + 1]
mov dword [r10 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 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], esi
mov qword [rax + rcx*8 + 0x10], rsi
test dword [rbx + 4], 0x800
je 0x1800edc88
mov ecx, dword [r12]
lea eax, [rcx - 1]
movsxd rdi, eax
test eax, eax
jle 0x1800edc61
mov r15, qword [rsp + 0x70]
lea rbx, [r12 + 8]
mov rax, rdi
shl rax, 5
add rbx, rax
test byte [rbx + 0x14], 0x40
jne 0x1800edc5d
mov rdx, qword [rbx]
test rdx, rdx
je 0x1800edbde
mov rcx, r15
call fcn.1800a06d0
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1800edc43
cmp rcx, qword [r15 + 0x1f0]
jae 0x1800edc28
cmp rcx, qword [r15 + 0x1e0]
jb 0x1800edc0c
mov rax, qword [r15 + 0x1d8]
mov qword [rcx], rax
mov qword [r15 + 0x1d8], rcx
jmp 0x1800edc43
cmp rcx, qword [r15 + 0x1e8]
jb 0x1800edc28
mov rax, qword [r15 + 0x1c8]
mov qword [rcx], rax
mov qword [r15 + 0x1c8], rcx
jmp 0x1800edc43
cmp qword [r15 + 0x308], rsi
je 0x1800edc3e
mov rdx, rcx
mov rcx, r15
call fcn.18005ae00
jmp 0x1800edc43
call fcn.18005ad90
mov ecx, dword [r12]
dec rdi
dec ecx
sub rbx, 0x20
mov dword [r12], ecx
test rdi, rdi
jg 0x1800edbc4
mov r15, qword [rbp - 0x50]
mov edx, esi
test ecx, ecx
jle 0x1800edc88
lea rcx, [r12 + 8]
nop dword [rax]
test byte [rcx + 0x14], 0x40
jne 0x1800edc7c
mov rax, qword [rcx]
mov byte [rax], 0x79
inc edx
add rcx, 0x20
cmp edx, dword [r12]
jl 0x1800edc70
mov rbx, qword [rsp + 0x40]
mov eax, 0x4000
mov rdi, qword [rsp + 0x58]
dec dword [rbx + 0x44]
mov r8d, dword [rbx + 0x44]
mov dword [rsp + 0x78], r8d
test dword [rdi + 4], eax
jne 0x1800edcb1
mov eax, 0x140
mov word [rdi + 2], ax
cmp qword [rdi + 0x60], rsi
je 0x1800edcc2
mov rdx, rdi
mov rcx, rbx
call fcn.1800e3930
cmp dword [rdi + 8], esi
jne 0x1800edcfd
cmp dword [rbp + 0x18], esi
jl 0x1800edcfd
mov r10, qword [rsp + 0x48]
mov rax, qword [r10]
cmp byte [rax + 0x67], sil
je 0x1800edce3
lea rax, [0x18016bc10]
jmp 0x1800edcf6
movsxd rax, dword [rbp + 0x18]
lea rcx, [rax + rax*2]
mov rax, qword [r10 + 0x88]
lea rax, [rax + rcx*8]
mov byte [rax], 0x77
or byte [rbp + 0x24], 1
test byte [rdi + 4], 1
je 0x1800ede24
mov eax, dword [rbx + 0x34]
xor r9d, r9d
mov dword [rbp - 0xc], eax
xor r8d, r8d
inc eax
mov rcx, rbx
mov dword [rbx + 0x34], eax
mov rdx, qword [rdi + 0x20]
call fcn.1800e1d90
mov r10, qword [rsp + 0x48]
mov rdi, rax
mov edx, dword [rbp - 0xc]
movsxd rbx, dword [r10 + 0x90]
cmp dword [r10 + 0x94], ebx
jg 0x1800edd5e
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov r8d, edx
mov rcx, r10
lea edx, [r9 + 0x76]
call fcn.1800859d0
mov r10, qword [rsp + 0x48]
mov ebx, eax
jmp 0x1800edd88
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
mov dword [r10 + 0x90], eax
mov rax, qword [r10 + 0x88]
mov dword [rax + rcx*8], 0x76
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], rsi
mov rcx, qword [r10]
mov eax, ebx
cmp byte [rcx + 0x67], sil
je 0x1800edda7
mov r8, rdi
mov edx, 0xfffffff8
call fcn.1800868c0
mov r10, qword [rsp + 0x48]
jmp 0x1800eddf1
test ebx, ebx
jns 0x1800eddb4
mov eax, dword [r10 + 0x90]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r10 + 0x88]
cmp byte [rax + rcx*8 + 1], sil
lea rdx, [rax + rcx*8]
je 0x1800edde4
mov r9d, 0xfffffff8
mov r8, rdi
mov rcx, r10
call fcn.180086ae0
mov r10, qword [rsp + 0x48]
jmp 0x1800eddf1
test rdi, rdi
je 0x1800eddf1
mov qword [rdx + 0x10], rdi
mov byte [rdx + 1], 0xf8
mov dword [rbp - 8], ebx
movsxd rax, dword [r10 + 0x90]
test eax, eax
jle 0x1800ede14
lea rcx, [rax + rax*2]
mov edx, 8
mov rax, qword [r10 + 0x88]
mov word [rax + rcx*8 - 0x16], dx
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
mov byte [rbp - 0xf], 3
jmp 0x1800ede28
mov byte [rbp - 0xf], sil
cmp dword [rbp - 0x78], esi
jne 0x1800ee175
test r13, r13
jne 0x1800ee175
movzx eax, byte [rbp - 0x10]
mov ecx, 0x4000
mov r14, qword [rdi + 0x70]
neg al
movzx eax, word [rdi + 4]
sbb bx, bx
and ax, cx
and bx, 0x100
or bx, ax
test r14, r14
je 0x1800ede6d
mov rcx, qword [rsp + 0x40]
mov rdx, rdi
call fcn.180110cc0
movsx eax, word [rdi + 2]
mov r8, r15
mov r9, qword [rbp]
mov rdx, qword [rsp + 0x60]
mov dword [rsp + 0x38], eax
mov rax, qword [rdi + 0x20]
mov word [rsp + 0x30], bx
mov rbx, qword [rsp + 0x40]
mov rcx, rbx
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rax
call fcn.18010c440
mov rdi, rax
test rax, rax
je 0x1800f0039
mov r10, qword [rsp + 0x58]
movzx eax, word [rax + 0x48]
cmp ax, word [r10 + 2]
jge 0x1800edec2
mov word [r10 + 2], ax
cmp byte [rbp - 0x10], sil
je 0x1800eded8
movzx ecx, byte [rdi + 0x43]
movzx eax, byte [rbp - 0xf]
test cl, cl
cmovne eax, ecx
mov byte [rbp - 0xf], al
mov rdx, qword [rbp]
test rdx, rdx
je 0x1800edf2e
movsx eax, byte [rdi + 0x41]
test al, al
jns 0x1800edef1
mov r8d, esi
mov dword [rbp + 8], esi
jmp 0x1800edef7
mov r8d, eax
mov dword [rbp + 8], eax
test byte [rdi + 0x44], 4
jne 0x1800edf02
mov eax, dword [rdi + 0x30]
jmp 0x1800edf20
movzx eax, byte [rdi + 0x40]
imul rcx, rax, 0x70
cmp qword [rcx + rdi + 0x328], rsi
je 0x1800edf19
mov eax, dword [rdi + 0x30]
jmp 0x1800edf20
mov eax, dword [rcx + rdi + 0x300]
mov dword [rbp + 0x20], eax
cmp r8d, dword [rdx]
cmove rdx, rsi
mov qword [rbp], rdx
movsxd rax, dword [rbp + 0x18]
mov r13, qword [rsp + 0x48]
test eax, eax
js 0x1800edf7b
test rdx, rdx
jne 0x1800edf7b
mov rcx, qword [r13]
cmp byte [rcx + 0x67], sil
jne 0x1800edf7b
lea rdx, [rax + rax*2]
mov rax, qword [r13 + 0x88]
mov r8, qword [rax + rdx*8 + 0x10]
lea rbx, [rax + rdx*8]
movsx edx, byte [rax + rdx*8 + 1]
call fcn.1800868c0
mov r10, qword [rsp + 0x58]
mov word [rbx], 0xbb
mov qword [rbx + 0x10], rsi
mov rbx, qword [rsp + 0x40]
mov rdx, r10
test r14, r14
je 0x1800ee12c
mov rax, qword [rsp + 0x40]
mov r8, rdi
mov ebx, dword [rbx + 0x44]
mov rcx, rax
inc dword [rax + 0x38]
mov r12d, dword [rax + 0x38]
lea r15d, [rbx - 1]
sub ebx, 2
mov dword [rsp + 0x20], r15d
mov r9d, r12d
lea r14d, [rbx - 1]
mov dword [rax + 0x44], r14d
call fcn.180114ce0
movsxd rcx, dword [r13 + 0x90]
cmp dword [r13 + 0x94], ecx
jg 0x1800edfe0
xor r8d, r8d
mov dword [rsp + 0x20], esi
mov r9d, r14d
mov rcx, r13
lea edx, [r8 + 9]
call fcn.1800859d0
jmp 0x1800ee00b
lea eax, [rcx + 1]
mov dword [r13 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r13 + 0x88]
mov qword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov rcx, qword [r13 + 0x18]
not r15d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1800ee027
mov r8d, r15d
mov rdx, r13
call fcn.180086420
jmp 0x1800ee038
mov rcx, qword [rcx + 0x50]
mov eax, dword [r13 + 0x90]
movsxd rdx, r15d
mov dword [rcx + rdx*4], eax
mov r15, qword [rbp - 0x70]
lea rax, [rbp - 0x10]
mov rdi, qword [rsp + 0x58]
lea r9, [rbp]
mov rcx, qword [rsp + 0x40]
mov rdx, rdi
mov dword [rsp + 0x38], r14d
mov r8d, 0xffffffff
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rax
mov dword [rbp + 0x20], esi
call fcn.1800e0ae0
mov rcx, qword [r13 + 0x18]
not ebx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1800ee08d
mov r8d, ebx
mov rdx, r13
call fcn.180086420
jmp 0x1800ee09e
mov rcx, qword [rcx + 0x50]
mov eax, dword [r13 + 0x90]
movsxd rdx, ebx
mov dword [rcx + rdx*4], eax
movsxd rcx, dword [r13 + 0x90]
cmp dword [r13 + 0x94], ecx
jg 0x1800ee0c6
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov r8d, r12d
mov rcx, r13
lea edx, [r9 + 0x43]
call fcn.1800859d0
jmp 0x1800ee0f1
lea eax, [rcx + 1]
mov dword [r13 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r13 + 0x88]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], r12d
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], rsi
mov rcx, qword [r13 + 0x18]
not r14d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1800ee11a
mov r8d, r14d
mov r14, qword [rsp + 0x48]
mov rdx, r14
call fcn.180086420
mov rbx, qword [rsp + 0x40]
jmp 0x1800eff43
mov rbx, qword [rsp + 0x40]
movsxd rdx, r14d
mov r14, qword [rsp + 0x48]
jmp 0x1800eff35
mov eax, dword [rdi + 0x34]
lea r9, [rbp]
mov r15, qword [rbp - 0x70]
mov r8d, 0xffffffff
mov dword [rsp + 0x38], eax
mov rcx, rbx
mov eax, dword [rdi + 0x30]
mov dword [rsp + 0x30], eax
lea rax, [rbp - 0x10]
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rax
call fcn.1800e0ae0
mov rcx, rdi
call fcn.18010d640
mov r14, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
jmp 0x1800eff47
mov dword [rbp - 0x64], esi
mov dword [rbp - 0x68], esi
mov dword [rbp - 0x58], esi
test r13, r13
je 0x1800ee240
mov rcx, qword [rdi + 0x20]
mov eax, dword [rcx]
test eax, eax
jle 0x1800ee1ad
add rcx, 0x22
nop word [rax + rax]
dec eax
mov word [rcx], si
lea rcx, [rcx + 0x20]
test eax, eax
jg 0x1800ee1a0
mov eax, dword [r13]
test eax, eax
jle 0x1800ee1cd
lea rcx, [r13 + 0x22]
nop dword [rax]
dec eax
mov word [rcx], si
lea rcx, [rcx + 0x20]
test eax, eax
jg 0x1800ee1c0
cmp word [rdi + 2], 0x42
jle 0x1800ee1dd
mov eax, 0x42
mov word [rdi + 2], ax
mov rcx, qword [rbp]
test rcx, rcx
je 0x1800ee244
mov eax, dword [r13]
cmp eax, dword [rcx]
jne 0x1800ee244
mov r8d, esi
test eax, eax
jle 0x1800ee21e
mov rdx, rsi
nop dword [rax + rax]
mov rax, qword [rbp]
lea rdx, [rdx + 0x20]
inc r8d
movzx ecx, byte [rdx + rax - 8]
and cl, 1
mov byte [rdx + r13 - 8], cl
cmp r8d, dword [r13]
jl 0x1800ee200
mov rdx, qword [rbp]
mov r8d, 0xffffffff
mov rcx, r13
call fcn.1800aa020
mov r15d, 1
test eax, eax
jne 0x1800ee24a
mov dword [rbp - 0x58], r15d
jmp 0x1800ee24a
mov word [rdi + 2], si
mov r15d, 1
dec dword [rbx + 0x44]
mov edx, 0x38
mov eax, dword [rbx + 0x44]
mov rcx, qword [rsp + 0x70]
mov dword [rbp - 0x7c], eax
call fcn.18005b220
mov rdi, rax
test rax, rax
je 0x1800ee43b
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm0
movups xmmword [rdi + 0x20], xmm0
mov qword [rdi + 0x30], rax
mov rax, qword [0x1801673c0]
test rax, rax
je 0x1800ee2e6
mov ecx, 0x12c
call rax
mov rcx, qword [rbx]
test eax, eax
je 0x1800ee2e9
call fcn.18005b7f0
mov rcx, qword [rdi + 0x18]
mov rbx, qword [rbx]
test rcx, rcx
je 0x1800ee368
test rbx, rbx
je 0x1800ee363
cmp rcx, qword [rbx + 0x1f0]
jae 0x1800ee34d
cmp rcx, qword [rbx + 0x1e0]
jb 0x1800ee331
mov rax, qword [rbx + 0x1d8]
mov qword [rcx], rax
mov qword [rbx + 0x1d8], rcx
jmp 0x1800ee368
mov rcx, qword [rbx]
test rcx, rcx
je 0x1800ee2fa
mov edx, 0x18
call fcn.18005b220
jmp 0x1800ee304
mov ecx, 0x18
call fcn.18005aba0
mov rcx, rax
test rax, rax
je 0x1800ee2a1
mov rax, qword [rbx + 0xc8]
mov qword [rcx], rax
lea rax, [0x1800ec1e0]
mov qword [rbx + 0xc8], rcx
mov qword [rcx + 0x10], rax
mov qword [rcx + 8], rdi
jmp 0x1800ee43b
cmp rcx, qword [rbx + 0x1e8]
jb 0x1800ee34d
mov rax, qword [rbx + 0x1c8]
mov qword [rcx], rax
mov qword [rbx + 0x1c8], rcx
jmp 0x1800ee368
cmp qword [rbx + 0x308], rsi
je 0x1800ee363
mov rdx, rcx
mov rcx, rbx
call fcn.18005ae00
jmp 0x1800ee368
call fcn.18005ad90
mov rcx, qword [rdi + 0x28]
test rcx, rcx
je 0x1800ee3d2
test rbx, rbx
je 0x1800ee3cd
cmp rcx, qword [rbx + 0x1f0]
jae 0x1800ee3b7
cmp rcx, qword [rbx + 0x1e0]
jb 0x1800ee39b
mov rax, qword [rbx + 0x1d8]
mov qword [rcx], rax
mov qword [rbx + 0x1d8], rcx
jmp 0x1800ee3d7
cmp rcx, qword [rbx + 0x1e8]
jb 0x1800ee3b7
mov rax, qword [rbx + 0x1c8]
mov qword [rcx], rax
mov qword [rbx + 0x1c8], rcx
jmp 0x1800ee3d7
cmp qword [rbx + 0x308], rsi
je 0x1800ee3cd
mov rdx, rcx
mov rcx, rbx
call fcn.18005ae00
jmp 0x1800ee3d7
call fcn.18005ad90
test rbx, rbx
je 0x1800ee42e
cmp rdi, qword [rbx + 0x1f0]
jae 0x1800ee418
cmp rdi, qword [rbx + 0x1e0]
jb 0x1800ee3fc
mov rax, qword [rbx + 0x1d8]
mov qword [rdi], rax
mov qword [rbx + 0x1d8], rdi
jmp 0x1800ee436
cmp rdi, qword [rbx + 0x1e8]
jb 0x1800ee418
mov rax, qword [rbx + 0x1c8]
mov qword [rdi], rax
mov qword [rbx + 0x1c8], rdi
jmp 0x1800ee436
cmp qword [rbx + 0x308], rsi
je 0x1800ee42e
mov rdx, rdi
mov rcx, rbx
call fcn.18005ae00
jmp 0x1800ee436
mov rcx, rdi
call fcn.18005ad90
mov rbx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x70]
cmp byte [rax + 0x67], sil
jne 0x1800f004c
mov rax, qword [rsp + 0x58]
xorps xmm0, xmm0
xorps xmm1, xmm1
mov eax, dword [rax + 0x10]
mov dword [rdi + 0x34], eax
mov rax, qword [rsp + 0x60]
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x30], rbx
mov qword [rbp + 0x40], rdi
movdqu xmmword [rbp + 0x48], xmm0
movdqu xmmword [rbp + 0x58], xmm1
test r13, r13
je 0x1800ee481
mov eax, dword [r13]
jmp 0x1800ee483
mov eax, esi
mov rdx, r12
mov word [rdi + 2], ax
lea rcx, [rbp + 0x30]
mov qword [rdi + 0x10], r13
call fcn.1800ab030
mov rdx, qword [rbp]
lea rcx, [rbp + 0x30]
call fcn.1800ab030
test r14, r14
je 0x1800ee53d
test r13, r13
je 0x1800ee4f8
mov r12, qword [rsp + 0x58]
lea rax, [0x1800ebeb0]
xorps xmm0, xmm0
mov qword [rbp + 0x88], rsi
movdqu xmmword [rbp + 0x78], xmm0
mov qword [rbp + 0x68], rbx
mov rdx, qword [r12 + 0x40]
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x90], r12
test rdx, rdx
je 0x1800ee4ef
lea rcx, [rbp + 0x68]
call fcn.18009ad00
mov rax, qword [r12 + 0x30]
mov qword [rbp - 0x50], rax
lea rax, [0x1800aacd0]
mov dword [rbp + 0x88], esi
mov qword [rbp + 0x70], rax
lea rcx, [rbp + 0x68]
lea rax, [0x18009b050]
mov qword [rbp + 0x68], rsi
mov qword [rbp + 0x78], rax
mov rdx, r14
lea rax, [0x18009b060]
mov qword [rbp + 0x80], rax
lea rax, [rbp + 0x30]
mov qword [rbp + 0x90], rax
call fcn.18009ad00
mov r14, qword [rsp + 0x58]
mov eax, dword [rdi + 0x20]
mov dword [rdi + 0x24], eax
cmp qword [r14 + 0x38], rsi
jne 0x1800ee575
cmp qword [r14 + 0x40], rsi
jne 0x1800ee575
cmp dword [rdi + 0x30], 1
jne 0x1800ee575
mov rdx, qword [rdi + 0x28]
lea r8, [rbp - 0x18]
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rdx]
call fcn.1800e8de0
movzx r12d, al
jmp 0x1800ee578
xor r12b, r12b
lea rdx, [rbp + 0x30]
mov rcx, rdi
call fcn.1800eab80
mov r10, qword [rsp + 0x70]
cmp byte [r10 + 0x67], sil
jne 0x1800effd9
test r13, r13
je 0x1800ef81e
cmp dword [rdi + 0x30], 1
mov r12, rsi
mov qword [rbp - 0x38], rsi
mov word [rsp + 0x50], si
jne 0x1800ee6a7
mov rax, qword [rdi + 0x28]
cmp dword [rax + 0x10], esi
jl 0x1800ee6a7
mov rax, qword [rax]
test rax, rax
je 0x1800ee6a7
test dword [rax + 4], 0x1000
jne 0x1800ee6a7
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x1800ee6a7
mov rdx, qword [rcx + 8]
test rdx, rdx
je 0x1800ee606
xor r9d, r9d
xor r8d, r8d
mov rcx, r10
call fcn.1800a0a30
mov r10, qword [rsp + 0x70]
mov rbx, rax
jmp 0x1800ee609
mov rbx, rsi
xor r8d, r8d
mov rdx, r13
mov rcx, r10
call fcn.1800a0eb0
mov qword [rbp - 0x38], rax
mov r12, rax
test rax, rax
jne 0x1800ee63c
mov rdx, rbx
mov rbx, qword [rsp + 0x40]
mov rcx, qword [rbx]
call fcn.1800a15e0
mov r12, rax
mov qword [rbp - 0x38], rax
jmp 0x1800ee691
movsxd rax, dword [rax]
lea ecx, [rax + 1]
cmp dword [r12 + 4], ecx
jge 0x1800ee665
mov r8, rbx
mov rdx, r12
mov rbx, qword [rsp + 0x40]
mov rcx, qword [rbx]
call fcn.1800a16c0
mov r12, rax
mov qword [rbp - 0x38], rax
jmp 0x1800ee691
movups xmm0, xmmword [0x180140568]
shl rax, 5
movups xmm1, xmmword [0x180140578]
mov dword [r12], ecx
movups xmmword [rax + r12 + 8], xmm0
movups xmmword [rax + r12 + 0x18], xmm1
mov qword [rax + r12 + 8], rbx
mov rbx, qword [rsp + 0x40]
mov rax, r12
neg rax
sbb r14w, r14w
and r14w, 0x500
mov word [rsp + 0x50], r14w
mov eax, dword [rbx + 0x34]
xor r8d, r8d
mov dword [rdi + 4], eax
mov rdx, r13
inc dword [rbx + 0x34]
mov rcx, rbx
mov r9d, dword [rdi + 0x20]
call fcn.1800e1d90
mov r10, qword [rsp + 0x48]
mov rbx, rax
movzx edx, word [rdi + 2]
mov r8d, dword [rdi + 4]
mov qword [rbp - 0x28], rax
movsxd r9, dword [r10 + 0x90]
mov dword [rbp - 0x3c], r9d
cmp dword [r10 + 0x94], r9d
jg 0x1800ee70b
mov r9d, edx
mov dword [rsp + 0x20], esi
mov edx, 0x77
mov rcx, r10
call fcn.1800859d0
mov r10, qword [rsp + 0x48]
mov r9d, eax
mov dword [rbp - 0x3c], eax
jmp 0x1800ee73a
lea rcx, [r9 + r9*2]
lea eax, [r9 + 1]
mov dword [r10 + 0x90], eax
mov rax, qword [r10 + 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], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov rcx, qword [r10]
mov eax, r9d
cmp byte [rcx + 0x67], sil
je 0x1800ee75a
mov r8, rbx
mov edx, 0xfffffff8
call fcn.1800868c0
mov r10, qword [rsp + 0x48]
jmp 0x1800ee7a5
test r9d, r9d
jns 0x1800ee768
mov eax, dword [r10 + 0x90]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r10 + 0x88]
cmp byte [rax + rcx*8 + 1], sil
lea rdx, [rax + rcx*8]
je 0x1800ee798
mov r9d, 0xfffffff8
mov r8, rbx
mov rcx, r10
call fcn.180086ae0
mov r10, qword [rsp + 0x48]
jmp 0x1800ee7a5
test rbx, rbx
je 0x1800ee7a5
mov qword [rdx + 0x10], rbx
mov byte [rdx + 1], 0xf8
mov r8, qword [rsp + 0x40]
mov eax, dword [r8 + 0x38]
inc eax
mov dword [rbp - 0x78], eax
lea edx, [rax + 1]
mov eax, dword [r8 + 0x44]
dec eax
mov dword [rbp - 0x74], edx
lea r15d, [rdx + 2]
mov dword [rbp - 0x40], eax
mov dword [r8 + 0x38], r15d
lea ebx, [r15 + 1]
mov dword [rbp - 0x80], r15d
lea r14d, [rax - 1]
mov dword [r8 + 0x44], r14d
mov ecx, dword [r13]
add ecx, r15d
mov dword [rsp + 0x68], r14d
mov dword [r8 + 0x38], ecx
lea eax, [rcx + 1]
add ecx, dword [r13]
mov dword [r8 + 0x38], ecx
movsxd rcx, dword [r10 + 0x90]
mov dword [rbp - 0x54], eax
cmp dword [r10 + 0x94], ecx
jg 0x1800ee825
xor r8d, r8d
mov dword [rsp + 0x20], esi
mov r9d, edx
mov rcx, r10
lea edx, [r8 + 0x47]
call fcn.1800859d0
mov r10, qword [rsp + 0x48]
jmp 0x1800ee84f
lea eax, [rcx + 1]
mov dword [r10 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 0x88]
mov qword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov edx, dword [r13]
movsxd rcx, dword [r10 + 0x90]
dec edx
add edx, ebx
cmp dword [r10 + 0x94], ecx
jg 0x1800ee884
xor r8d, r8d
mov dword [rsp + 0x20], edx
mov r9d, ebx
mov rcx, r10
lea edx, [r8 + 0x4b]
call fcn.1800859d0
mov r10, qword [rsp + 0x48]
jmp 0x1800ee8ae
lea eax, [rcx + 1]
mov dword [r10 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 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], rsi
movsxd rcx, dword [r10 + 0x90]
cmp dword [r10 + 0x94], ecx
jg 0x1800ee8d7
mov r9d, r14d
mov dword [rsp + 0x20], esi
mov r8d, r15d
mov edx, 0xa
mov rcx, r10
call fcn.1800859d0
jmp 0x1800ee906
lea eax, [rcx + 1]
mov dword [r10 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 0x88]
mov dword [rax + rcx*8], 0xa
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov eax, dword [rbp - 0x58]
mov edx, 0x80
mov rbx, qword [rsp + 0x58]
neg eax
mov r14, qword [rsp + 0x40]
mov eax, 0x40
mov r8, qword [rbp - 0x50]
sbb cx, cx
and cx, 0x200
mov dword [rsp + 0x38], esi
cmp byte [rbp - 0x10], 2
mov r9, r13
cmove ax, dx
mov rdx, qword [rsp + 0x60]
or cx, ax
or cx, word [rsp + 0x50]
mov word [rsp + 0x30], cx
mov rcx, r14
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r12
call fcn.18010c440
mov qword [rbp - 0x48], rax
mov r15, rax
test rax, rax
jne 0x1800ee98c
test r12, r12
je 0x1800ee97c
mov rcx, qword [rsp + 0x70]
mov rdx, r12
call fcn.1800a1b90
mov r10, qword [rsp + 0x70]
mov r15d, 1
jmp 0x1800effde
cmp qword [r14 + 0x60], rsi
je 0x1800ee9e9
mov r9d, dword [rdi + 0x24]
mov dword [rdi + 0x20], r9d
cmp word [rdi + 2], si
jbe 0x1800ee9dd
mov rax, qword [rbx + 0x38]
mov r8d, esi
mov ecx, dword [rax]
dec ecx
test r9d, r9d
jle 0x1800ee9d6
mov rdx, qword [rdi + 0x18]
add rdx, 0x16
nop dword [rax + rax]
movsx eax, word [rdx]
lea rdx, [rdx + 0x18]
cmp eax, ecx
cmovle eax, ecx
inc r8d
mov ecx, eax
cmp r8d, r9d
jl 0x1800ee9c0
inc cx
mov word [rdi + 2], cx
lea rdx, [rbp + 0x30]
mov rcx, rdi
call fcn.1800eab80
mov eax, dword [r14 + 0x38]
mov ecx, esi
inc eax
mov dword [rdi + 0xc], eax
mov eax, dword [rdi + 0x30]
add eax, dword [rdi + 0x20]
add dword [r14 + 0x38], eax
movsx edx, byte [r15 + 0x41]
movzx eax, byte [r15 + 0x43]
test dl, dl
mov dword [rbp - 0x50], eax
cmovns ecx, edx
cmp ecx, dword [r13]
jne 0x1800eea1e
mov r13d, esi
jmp 0x1800eed93
cmp byte [rbp - 0x10], sil
je 0x1800eea31
test byte [rbx + 4], 1
lea r9, str.DISTINCT
je 0x1800eea38
lea r9, str.GROUP_BY
lea r8, str.USE_TEMP_B_TREE_FOR__s
xor edx, edx
mov rcx, r14
call fcn.180086160
mov r12d, dword [r13]
mov r15d, r12d
mov eax, dword [rdi + 0x20]
mov edx, r12d
mov dword [rsp + 0x60], 1
test eax, eax
jle 0x1800eea93
mov r8, qword [rdi + 0x18]
mov r9d, eax
add r8, 0x16
nop dword [rax]
movsx ecx, word [r8]
lea eax, [r15 + 1]
cmp ecx, edx
lea r8, [r8 + 0x18]
cmovl eax, r15d
mov r15d, eax
lea eax, [rdx + 1]
cmovl eax, edx
mov edx, eax
sub r9, 1
jne 0x1800eea70
cmp r15d, 1
jne 0x1800eeabf
movzx eax, byte [r14 + 0x1f]
test al, al
jne 0x1800eeaac
inc dword [r14 + 0x38]
mov r13d, dword [r14 + 0x38]
jmp 0x1800eeaec
dec al
movzx eax, al
mov byte [r14 + 0x1f], al
mov r13d, dword [r14 + rax*4 + 0xe8]
jmp 0x1800eeaec
mov ecx, dword [r14 + 0x28]
mov r13d, dword [r14 + 0x2c]
cmp r15d, ecx
jg 0x1800eeadd
lea eax, [r15 + r13]
sub ecx, r15d
mov dword [r14 + 0x2c], eax
mov dword [r14 + 0x28], ecx
jmp 0x1800eeaec
mov eax, dword [r14 + 0x38]
lea r13d, [rax + 1]
add eax, r15d
mov dword [r14 + 0x38], eax
mov rdx, qword [rbp - 0x30]
xor r9d, r9d
mov r8d, r13d
mov byte [rsp + 0x20], sil
mov rcx, r14
call fcn.1800a8ca0
mov r14d, esi
mov byte [rdi], 1
cmp dword [rdi + 0x20], esi
jle 0x1800eeb51
mov rbx, rsi
mov rsi, qword [rsp + 0x40]
nop word [rax + rax]
mov rdx, qword [rdi + 0x18]
movsx eax, word [rdx + rbx + 0x16]
cmp eax, r12d
jl 0x1800eeb42
mov rdx, qword [rdx + rbx + 8]
lea r8d, [r12 + r13]
mov rcx, rsi
call fcn.1800a8ab0
inc r12d
inc r14d
add rbx, 0x18
cmp r14d, dword [rdi + 0x20]
jl 0x1800eeb20
xor esi, esi
mov r14, qword [rsp + 0x40]
mov byte [rdi], 0
movzx eax, byte [r14 + 0x1f]
test al, al
jne 0x1800eeb6c
inc dword [r14 + 0x38]
mov ebx, dword [r14 + 0x38]
jmp 0x1800eeb7d
dec al
movzx eax, al
mov byte [r14 + 0x1f], al
mov ebx, dword [r14 + rax*4 + 0xe8]
mov r12, qword [rsp + 0x48]
movsxd rcx, dword [r12 + 0x90]
cmp dword [r12 + 0x94], ecx
jg 0x1800eebad
mov r9d, r15d
mov dword [rsp + 0x20], ebx
mov r8d, r13d
mov edx, 0x61
mov rcx, r12
call fcn.1800859d0
jmp 0x1800eebde
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x61
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rsi
movsxd rcx, dword [r12 + 0x90]
mov edx, dword [rdi + 4]
cmp dword [r12 + 0x94], ecx
jg 0x1800eec0c
mov r8d, edx
mov dword [rsp + 0x20], esi
mov edx, 0x8b
mov r9d, ebx
mov rcx, r12
call fcn.1800859d0
jmp 0x1800eec3b
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 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], esi
mov qword [rax + rcx*8 + 0x10], rsi
test ebx, ebx
je 0x1800eec54
movzx eax, byte [r14 + 0x1f]
cmp al, 8
jae 0x1800eec54
mov dword [r14 + rax*4 + 0xe8], ebx
inc byte [r14 + 0x1f]
mov rbx, r14
cmp r15d, 1
jne 0x1800eec77
test r13d, r13d
je 0x1800eec85
movzx eax, byte [rbx + 0x1f]
cmp al, 8
jae 0x1800eec85
mov dword [rbx + rax*4 + 0xe8], r13d
inc byte [rbx + 0x1f]
jmp 0x1800eec85
cmp r15d, dword [rbx + 0x28]
jle 0x1800eec85
mov dword [rbx + 0x28], r15d
mov dword [rbx + 0x2c], r13d
mov rcx, qword [rbp - 0x48]
call fcn.18010d640
mov r14d, dword [rbx + 0x34]
mov dword [rdi + 8], r14d
inc dword [rbx + 0x34]
movzx eax, byte [rbx + 0x1f]
mov dword [rbp - 0x64], r14d
test al, al
jne 0x1800eecad
inc dword [rbx + 0x38]
mov edx, dword [rbx + 0x38]
jmp 0x1800eecbc
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov edx, dword [rbx + rax*4 + 0xe8]
movsxd rcx, dword [r12 + 0x90]
mov dword [rbp - 0x68], edx
cmp dword [r12 + 0x94], ecx
jg 0x1800eeceb
mov r9d, edx
mov dword [rsp + 0x20], r15d
mov edx, 0x79
mov r8d, r14d
mov rcx, r12
call fcn.1800859d0
jmp 0x1800eed1c
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x79
mov dword [rax + rcx*8 + 4], r14d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], rsi
movsxd rcx, dword [r12 + 0x90]
mov edx, dword [rdi + 4]
cmp dword [r12 + 0x94], ecx
jg 0x1800eed4b
mov r9d, dword [rbp - 0x7c]
mov r8d, edx
mov edx, 0x22
mov dword [rsp + 0x20], esi
mov rcx, r12
call fcn.1800859d0
jmp 0x1800eed7d
lea eax, [rcx + 1]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rbp - 0x7c]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0x22
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov r12, qword [rbp - 0x38]
mov r13d, dword [rsp + 0x60]
mov r15, qword [rbp - 0x48]
mov r14, qword [rsp + 0x40]
mov byte [rdi + 1], 1
cmp qword [r14 + 0x60], 0
je 0x1800eedf3
cmp dword [rdi + 0x30], 0
lea rax, [0x1800eaca0]
xorps xmm0, xmm0
mov qword [rbp + 0x70], rax
xorps xmm1, xmm1
mov qword [rbp + 0x68], rsi
movdqu xmmword [rbp + 0x78], xmm0
mov r14d, esi
movdqu xmmword [rbp + 0x88], xmm1
jle 0x1800eedf3
mov rbx, rsi
nop dword [rax + rax]
mov rax, qword [rdi + 0x28]
mov rdx, qword [rbx + rax]
test rdx, rdx
je 0x1800eede6
lea rcx, [rbp + 0x68]
call fcn.18009ad00
inc r14d
add rbx, 0x20
cmp r14d, dword [rdi + 0x30]
jl 0x1800eedd0
cmp dword [rbp - 0x58], 0
je 0x1800eee4d
mov rax, qword [rsp + 0x70]
test byte [rax + 0x60], 4
jne 0x1800eee4d
test r13d, r13d
jne 0x1800eee10
test byte [r15 + 0x44], 8
je 0x1800eee4d
mov r11, qword [rsp + 0x48]
mov qword [rbp], rsi
mov rcx, qword [r11]
cmp byte [rcx + 0x67], 0
jne 0x1800eee52
movsxd rax, dword [rbp + 0x18]
lea rdx, [rax + rax*2]
mov rax, qword [r11 + 0x88]
mov r8, qword [rax + rdx*8 + 0x10]
lea rbx, [rax + rdx*8]
movsx edx, byte [rax + rdx*8 + 1]
call fcn.1800868c0
mov word [rbx], 0xbb
mov qword [rbx + 0x10], rsi
mov r11, qword [rsp + 0x48]
movsxd r15, dword [r11 + 0x90]
mov dword [rsp + 0x60], r15d
test r13d, r13d
je 0x1800eeecb
mov edx, dword [rdi + 4]
cmp dword [r11 + 0x94], r15d
jg 0x1800eee93
mov r8d, dword [rbp - 0x64]
mov rcx, r11
mov r9d, dword [rbp - 0x68]
mov dword [rsp + 0x20], r8d
mov r8d, edx
mov edx, 0x85
call fcn.1800859d0
mov r11, qword [rsp + 0x48]
jmp 0x1800eeecb
mov r8d, dword [rbp - 0x68]
lea rcx, [r15 + r15*2]
lea eax, [r15 + 1]
mov dword [r11 + 0x90], eax
mov rax, qword [r11 + 0x88]
mov dword [rax + rcx*8 + 8], r8d
mov r8d, dword [rbp - 0x64]
mov dword [rax + rcx*8 + 0xc], r8d
mov dword [rax + rcx*8], 0x85
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 0x10], rsi
mov rax, qword [rbp - 0x30]
mov ebx, esi
mov edx, dword [rax]
test edx, edx
jle 0x1800eef7d
mov r12d, dword [rbp - 0x64]
lea r14, [rax + 8]
mov r15d, dword [rbp - 0x54]
lea r8d, [r15 + rbx]
test r13d, r13d
je 0x1800eef4b
movsxd rcx, dword [r11 + 0x90]
cmp dword [r11 + 0x94], ecx
jg 0x1800eef1a
mov dword [rsp + 0x20], r8d
mov r9d, ebx
mov r8d, r12d
mov edx, 0x5e
mov rcx, r11
call fcn.1800859d0
jmp 0x1800eef5b
lea eax, [rcx + 1]
mov dword [r11 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r11 + 0x88]
mov dword [rax + rcx*8], 0x5e
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], rsi
jmp 0x1800eef60
mov rcx, qword [rsp + 0x40]
mov byte [rdi], 1
mov rdx, qword [r14]
call fcn.1800a8ab0
mov r11, qword [rsp + 0x48]
mov rax, qword [rbp - 0x30]
inc ebx
add r14, 0x20
mov edx, dword [rax]
cmp ebx, edx
jl 0x1800eeee7
mov r15d, dword [rsp + 0x60]
mov r12, qword [rbp - 0x38]
mov r10, qword [rbp - 0x28]
test r10, r10
je 0x1800eef8b
inc dword [r10]
mov edx, dword [rax]
movsxd r8, dword [r11 + 0x90]
mov r14d, dword [rbp - 0x54]
cmp dword [r11 + 0x94], r8d
jg 0x1800eefc3
mov r8d, dword [rbp - 0x80]
mov r9d, r14d
mov dword [rsp + 0x20], edx
inc r8d
mov edx, 0x5a
mov rcx, r11
call fcn.1800859d0
mov r10, qword [rbp - 0x28]
mov r8d, eax
jmp 0x1800eeffa
mov r9d, dword [rbp - 0x80]
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
inc r9d
mov dword [r11 + 0x90], eax
mov rax, qword [r11 + 0x88]
mov dword [rax + rcx*8], 0x5a
mov dword [rax + rcx*8 + 4], r9d
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rsi
mov r11, qword [rsp + 0x48]
mov rcx, qword [r11]
cmp byte [rcx + 0x67], 0
je 0x1800ef01c
mov r8, r10
mov edx, 0xfffffff8
call fcn.1800868c0
mov r11, qword [rsp + 0x48]
jmp 0x1800ef069
test r8d, r8d
jns 0x1800ef02b
mov r8d, dword [r11 + 0x90]
dec r8d
movsxd rax, r8d
lea rcx, [rax + rax*2]
mov rax, qword [r11 + 0x88]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x1800ef05c
mov r9d, 0xfffffff8
mov r8, r10
mov rcx, r11
call fcn.180086ae0
mov r11, qword [rsp + 0x48]
jmp 0x1800ef069
test r10, r10
je 0x1800ef069
mov qword [rdx + 0x10], r10
mov byte [rdx + 1], 0xf8
movsxd rbx, dword [r11 + 0x90]
lea edx, [rbx + 1]
cmp dword [r11 + 0x94], ebx
jg 0x1800ef094
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, edx
mov rcx, r11
lea edx, [r9 + 0xe]
call fcn.1800859d0
jmp 0x1800ef0be
mov rax, qword [r11 + 0x88]
lea rcx, [rbx + rbx*2]
mov dword [r11 + 0x90], edx
mov dword [rax + rcx*8], 0xe
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rsi
mov rax, qword [rbp - 0x30]
mov edx, dword [rax]
mov rax, qword [rsp + 0x40]
mov r10, qword [rax + 0x10]
movsxd rcx, dword [r10 + 0x90]
cmp dword [r10 + 0x94], ecx
jg 0x1800ef0fa
mov r9d, dword [rbp - 0x80]
mov r8d, r14d
mov dword [rsp + 0x20], edx
inc r9d
mov edx, 0x4f
mov rcx, r10
call fcn.1800859d0
jmp 0x1800ef130
mov r8d, dword [rbp - 0x80]
lea eax, [rcx + 1]
mov dword [r10 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 0x88]
inc r8d
mov dword [rax + rcx*8], 0x4f
mov dword [rax + rcx*8 + 4], r14d
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rsi
mov r10, qword [rsp + 0x48]
mov r14d, dword [rbp - 0x40]
mov r8d, dword [rbp - 0x74]
movsxd rcx, dword [r10 + 0x90]
cmp dword [r10 + 0x94], ecx
jg 0x1800ef16f
mov r9d, r14d
mov dword [rsp + 0x20], esi
inc r8d
mov edx, 0xa
mov rcx, r10
call fcn.1800859d0
mov r8d, dword [rbp - 0x74]
mov r10, qword [rsp + 0x48]
jmp 0x1800ef1a1
lea eax, [rcx + 1]
mov dword [r10 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 0x88]
lea edx, [r8 + 1]
mov dword [rax + rcx*8], 0xa
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
movsxd rcx, dword [r10 + 0x90]
cmp dword [r10 + 0x94], ecx
jg 0x1800ef1cd
mov r9d, dword [rbp - 0x7c]
mov edx, 0x3b
mov rcx, r10
mov dword [rsp + 0x20], esi
call fcn.1800859d0
mov r10, qword [rsp + 0x48]
jmp 0x1800ef1fe
mov edx, dword [rbp - 0x7c]
lea eax, [rcx + 1]
mov dword [r10 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 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], esi
mov qword [rax + rcx*8 + 0x10], rsi
movsxd rcx, dword [r10 + 0x90]
cmp dword [r10 + 0x94], ecx
jg 0x1800ef22f
mov r9d, dword [rsp + 0x68]
mov edx, 0xa
mov r8d, dword [rbp - 0x80]
mov rcx, r10
mov dword [rsp + 0x20], esi
call fcn.1800859d0
mov r10, qword [rsp + 0x48]
jmp 0x1800ef263
mov edx, dword [rbp - 0x80]
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], edx
mov edx, dword [rsp + 0x68]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0xa
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov rax, qword [r10]
mov edx, dword [r10 + 0x90]
cmp byte [rax + 0x67], 0
je 0x1800ef27c
lea rax, [0x18016bc10]
jmp 0x1800ef28b
mov rax, qword [r10 + 0x88]
lea rcx, [rbx + rbx*2]
lea rax, [rax + rcx*8]
mov ebx, dword [rbp - 0x78]
mov r8, rdi
mov r9d, dword [rbp - 0x50]
mov rcx, qword [rsp + 0x40]
mov dword [rax + 8], edx
mov edx, ebx
call fcn.1800eb600
mov r10, qword [rsp + 0x48]
movsxd rcx, dword [r10 + 0x90]
cmp dword [r10 + 0x94], ecx
jg 0x1800ef2d8
mov edx, 0x47
mov dword [rsp + 0x20], esi
mov r9d, ebx
mov rcx, r10
lea r8d, [rdx - 0x46]
call fcn.1800859d0
mov r10, qword [rsp + 0x48]
jmp 0x1800ef309
lea eax, [rcx + 1]
mov dword [r10 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 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], esi
mov qword [rax + rcx*8 + 0x10], rsi
test r13d, r13d
je 0x1800ef36a
movsxd rcx, dword [r10 + 0x90]
mov edx, dword [rdi + 4]
cmp dword [r10 + 0x94], ecx
jg 0x1800ef33a
mov r8d, edx
mov dword [rsp + 0x20], esi
mov edx, 0x25
mov r9d, r15d
mov rcx, r10
call fcn.1800859d0
jmp 0x1800ef3ac
lea eax, [rcx + 1]
mov dword [r10 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 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], esi
mov qword [rax + rcx*8 + 0x10], rsi
jmp 0x1800ef3ac
mov rcx, qword [rbp - 0x48]
call fcn.18010d640
mov r8, qword [rsp + 0x48]
mov rcx, qword [r8]
cmp byte [rcx + 0x67], 0
jne 0x1800ef3ac
movsxd rax, dword [rbp - 0x3c]
lea rdx, [rax + rax*2]
mov rax, qword [r8 + 0x88]
mov r8, qword [rax + rdx*8 + 0x10]
lea rbx, [rax + rdx*8]
movsx edx, byte [rax + rdx*8 + 1]
call fcn.1800868c0
mov word [rbx], 0xbb
mov qword [rbx + 0x10], rsi
test r12, r12
je 0x1800ef3be
mov rcx, qword [rsp + 0x70]
mov rdx, r12
call fcn.1800a1b90
mov r10, qword [rsp + 0x48]
mov r13d, dword [rbp - 0x74]
movsxd rcx, dword [r10 + 0x90]
lea r15d, [r13 + 1]
cmp dword [r10 + 0x94], ecx
jg 0x1800ef3f9
mov r9d, r14d
mov dword [rsp + 0x20], esi
mov r8d, r15d
mov edx, 0xa
mov rcx, r10
call fcn.1800859d0
mov r10, qword [rsp + 0x48]
jmp 0x1800ef428
lea eax, [rcx + 1]
mov dword [r10 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 0x88]
mov dword [rax + rcx*8], 0xa
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
movsxd rcx, dword [r10 + 0x90]
mov r12d, dword [rbp - 0x7c]
cmp dword [r10 + 0x94], ecx
jg 0x1800ef459
xor r8d, r8d
mov dword [rsp + 0x20], esi
mov r9d, r12d
mov rcx, r10
lea edx, [r8 + 9]
call fcn.1800859d0
mov r10, qword [rsp + 0x48]
jmp 0x1800ef484
lea eax, [rcx + 1]
mov dword [r10 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 0x88]
mov qword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
movsxd rbx, dword [r10 + 0x90]
cmp dword [r10 + 0x94], ebx
jg 0x1800ef4b3
mov edx, 0x47
mov dword [rsp + 0x20], esi
mov r9d, r13d
mov rcx, r10
lea r8d, [rdx - 0x46]
call fcn.1800859d0
mov r10, qword [rsp + 0x48]
jmp 0x1800ef4e5
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
mov dword [r10 + 0x90], eax
mov rax, qword [r10 + 0x88]
mov dword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
movsxd rcx, dword [r10 + 0x90]
cmp dword [r10 + 0x94], ecx
jg 0x1800ef512
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov r8d, r15d
mov rcx, r10
lea edx, [r9 + 0x43]
call fcn.1800859d0
mov r10, qword [rsp + 0x48]
jmp 0x1800ef541
lea eax, [rcx + 1]
mov dword [r10 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 0x88]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], r15d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rsi
mov rcx, qword [r10 + 0x18]
not r14d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1800ef562
mov r8d, r14d
mov rdx, r10
call fcn.180086420
mov r10, qword [rsp + 0x48]
jmp 0x1800ef573
mov rcx, qword [rcx + 0x50]
mov eax, dword [r10 + 0x90]
movsxd rdx, r14d
mov dword [rcx + rdx*4], eax
movsxd rax, dword [r10 + 0x90]
mov r13d, dword [rbp - 0x78]
lea edx, [rax + 2]
lea r14d, [rax + 1]
cmp dword [r10 + 0x94], eax
jg 0x1800ef5ac
mov r9d, edx
mov dword [rsp + 0x20], esi
mov edx, 0x3b
mov r8d, r13d
mov rcx, r10
call fcn.1800859d0
mov r10, qword [rsp + 0x48]
jmp 0x1800ef5d7
lea rcx, [rax + rax*2]
mov dword [r10 + 0x90], r14d
mov rax, qword [r10 + 0x88]
mov dword [rax + rcx*8], 0x3b
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
movsxd rcx, dword [r10 + 0x90]
cmp dword [r10 + 0x94], ecx
jg 0x1800ef5ff
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov r8d, r15d
mov rcx, r10
lea edx, [r9 + 0x43]
call fcn.1800859d0
jmp 0x1800ef62e
lea eax, [rcx + 1]
mov dword [r10 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 0x88]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], r15d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rsi
mov rcx, qword [rsp + 0x40]
mov rdx, rdi
call fcn.1800eb040
mov rdx, qword [rbp - 0x20]
mov r9d, 0x10
mov rcx, qword [rsp + 0x40]
mov r8d, r14d
call fcn.1800a96d0
mov rax, qword [rbp - 0x70]
lea r9, [rbp]
mov rdx, qword [rsp + 0x58]
mov r8d, 0xffffffff
mov dword [rsp + 0x38], ebx
mov rbx, qword [rsp + 0x40]
mov dword [rsp + 0x30], r14d
mov rcx, rbx
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x10]
mov qword [rsp + 0x20], rax
call fcn.1800e0ae0
mov r14, qword [rsp + 0x48]
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jg 0x1800ef6b6
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov r8d, r15d
mov rcx, r14
lea edx, [r9 + 0x43]
call fcn.1800859d0
jmp 0x1800ef6e5
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], r15d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rsi
mov rcx, qword [r14 + 0x18]
mov edx, dword [rsp + 0x68]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1800ef704
mov r8d, edx
mov rdx, r14
call fcn.180086420
jmp 0x1800ef715
mov rcx, qword [rcx + 0x50]
mov eax, dword [r14 + 0x90]
movsxd rdx, edx
mov dword [rcx + rdx*4], eax
mov rdx, rdi
mov rcx, rbx
call fcn.1800ead00
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jg 0x1800ef748
xor r8d, r8d
mov dword [rsp + 0x20], esi
mov r9d, r13d
mov rcx, r14
lea edx, [r8 + 0x47]
call fcn.1800859d0
jmp 0x1800ef773
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov qword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jg 0x1800ef79c
mov r8d, dword [rbp - 0x80]
xor r9d, r9d
mov rcx, r14
mov dword [rsp + 0x20], esi
lea edx, [r9 + 0x43]
call fcn.1800859d0
jmp 0x1800ef7cd
mov edx, dword [rbp - 0x80]
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 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], rsi
cmp word [rsp + 0x50], 0
je 0x1800ef7f2
mov ecx, dword [rbp - 0x50]
test ecx, ecx
je 0x1800ef7f2
mov rax, qword [rdi + 0x28]
mov edx, ecx
mov rcx, rbx
mov r9d, dword [rax + 0x14]
mov r8d, dword [rax + 0x10]
call fcn.1800e09b0
mov rdi, qword [rsp + 0x58]
mov r15, qword [rbp - 0x70]
mov rcx, qword [r14 + 0x18]
not r12d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1800eff32
mov r8d, r12d
mov rdx, r14
call fcn.180086420
jmp 0x1800eff43
cmp qword [r14 + 0x30], rsi
jne 0x1800efc03
mov r8, qword [r14 + 0x20]
cmp dword [r8], 1
jne 0x1800efc03
mov r15, qword [r14 + 0x28]
cmp dword [r15], 1
jne 0x1800efc03
cmp qword [r15 + 0x30], rsi
jne 0x1800efc03
mov edx, dword [rdi + 0x30]
cmp edx, 1
jne 0x1800efc03
cmp qword [r14 + 0x40], rsi
jne 0x1800efc03
mov r15, qword [r15 + 0x28]
cmp byte [r15 + 0x3f], sil
jne 0x1800efc06
mov r8, qword [r8 + 8]
cmp byte [r8], 0xa8
jne 0x1800efc06
cmp qword [r8 + 0x38], rdi
jne 0x1800efc06
mov rax, qword [rdi + 0x28]
mov rcx, qword [rax + 8]
test dword [rcx + 4], 0x100
je 0x1800efc06
test dword [r8 + 4], 0x1000004
jne 0x1800efc06
mov rdx, qword [r15 + 0x60]
mov r14d, 0xffff8000
test rdx, rdx
je 0x1800ef8dc
mov rax, qword [rbx]
mov r14d, esi
mov rcx, qword [rax + 0x20]
add rcx, 0x18
cmp qword [rcx], rdx
je 0x1800ef8dc
nop
inc r14d
lea rcx, [rcx + 0x20]
cmp qword [rcx], rdx
jne 0x1800ef8d0
mov r13d, dword [rbx + 0x34]
mov r12, rsi
mov r10, qword [rsp + 0x40]
mov rcx, r10
lea eax, [r13 + 1]
mov dword [rbx + 0x34], eax
mov rbx, rsi
mov eax, dword [r15 + 0x28]
mov dword [rsp + 0x68], eax
mov rax, qword [r10 + 0xb0]
test rax, rax
cmovne rcx, rax
mov eax, dword [rcx + 0x84]
bt eax, r14d
jb 0x1800ef92e
bts eax, r14d
mov dword [rcx + 0x84], eax
cmp r14d, 1
jne 0x1800ef934
call fcn.1800bf770
jmp 0x1800ef966
cmp r14d, 1
je 0x1800ef96b
mov rax, qword [r10]
movsxd rdx, r14d
shl rdx, 5
mov rcx, qword [rax + 0x20]
mov rax, qword [rdx + rcx + 8]
cmp byte [rax + 0x11], bl
je 0x1800ef96b
mov rax, qword [r15]
xor r9d, r9d
mov r8d, dword [r15 + 0x28]
mov edx, r14d
mov rcx, r10
mov qword [rsp + 0x20], rax
call fcn.1800b4390
mov r10, qword [rsp + 0x40]
test byte [r15 + 0x30], 0x80
je 0x1800ef992
mov rbx, qword [r15 + 0x10]
test rbx, rbx
je 0x1800ef992
nop dword [rax + rax]
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x1800ef992
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x1800ef980
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
test byte [rax + 0x48], 1
jne 0x1800ef9de
mov rax, qword [r15 + 0x10]
test rax, rax
je 0x1800ef9de
nop word [rax + rax]
test byte [rax + 0x64], 4
jne 0x1800ef9d5
movzx ecx, word [rax + 0x5c]
cmp cx, word [r15 + 0x3c]
jge 0x1800ef9d5
cmp qword [rax + 0x48], rsi
jne 0x1800ef9d5
test rbx, rbx
je 0x1800ef9d2
cmp cx, word [rbx + 0x5c]
jge 0x1800ef9d5
mov rbx, rax
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x1800ef9b0
test rbx, rbx
je 0x1800ef9f8
mov eax, dword [rbx + 0x58]
mov rdx, rbx
mov rcx, r10
mov dword [rsp + 0x68], eax
call fcn.1800c03d0
mov r12, rax
mov r8, qword [rsp + 0x48]
movsxd rcx, dword [r8 + 0x90]
cmp dword [r8 + 0x94], ecx
jg 0x1800efa36
mov r9d, dword [rsp + 0x68]
mov r8d, r13d
mov dword [rsp + 0x28], 1
mov edx, 0x70
mov dword [rsp + 0x20], r14d
mov r14, qword [rsp + 0x48]
mov rcx, r14
call fcn.180085a30
jmp 0x1800efa6f
mov edx, dword [rsp + 0x68]
lea eax, [rcx + 1]
mov dword [r8 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r8 + 0x88]
mov dword [rax + rcx*8 + 0xc], r14d
mov r14, r8
mov dword [rax + rcx*8], 0xfd70
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0x10], 1
test r12, r12
je 0x1800efac8
mov rcx, qword [r14]
cmp byte [rcx + 0x67], sil
je 0x1800efa8c
mov r8, r12
mov edx, 0xfffffff8
call fcn.1800868c0
jmp 0x1800efac8
movsxd rax, dword [r14 + 0x90]
lea rdx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
lea rdx, [rdx - 3]
cmp byte [rax + rdx*8 + 1], sil
lea rdx, [rax + rdx*8]
je 0x1800efac0
mov r9d, 0xfffffff8
mov r8, r12
mov rcx, r14
call fcn.180086ae0
jmp 0x1800efac8
mov qword [rdx + 0x10], r12
mov byte [rdx + 1], 0xf8
mov r12, qword [rsp + 0x40]
mov eax, dword [r12 + 0x38]
inc eax
mov dword [rdi + 0xc], eax
mov eax, dword [rdi + 0x30]
add eax, dword [rdi + 0x20]
add dword [r12 + 0x38], eax
mov edx, dword [rdi + 0xc]
add edx, dword [rdi + 0x20]
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jg 0x1800efb11
mov r9d, edx
mov dword [rsp + 0x20], esi
mov edx, 0x62
mov r8d, r13d
mov rcx, r14
call fcn.1800859d0
jmp 0x1800efb3f
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x62
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jg 0x1800efb67
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov r8d, r13d
mov rcx, r14
lea edx, [r9 + 0x7a]
call fcn.1800859d0
jmp 0x1800efb92
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x7a
mov dword [rax + rcx*8 + 4], r13d
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], rsi
cmp byte [r12 + 0x133], 2
jne 0x1800efede
test rbx, rbx
je 0x1800efbc2
test byte [r15 + 0x30], 0x80
je 0x1800efbb6
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x1800efbc2
mov rax, qword [rbx]
lea rcx, [0x18013df0b]
jmp 0x1800efbcf
lea rcx, [0x18013df0b]
mov dword [rbp - 0x28], esi
mov rax, rcx
cmp dword [rbp - 0x28], esi
lea rdx, str._USING_COVERING_INDEX
mov r9, qword [r15]
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, r12
mov rbx, r12
call fcn.180086160
jmp 0x1800efee1
mov edx, dword [rdi + 0x30]
mov r14d, esi
mov r15, rsi
movzx ebx, si
cmp dword [rdi + 0x24], esi
je 0x1800efda5
mov r8d, esi
mov r9d, edx
test edx, edx
jle 0x1800efc58
mov rcx, qword [rdi + 0x28]
nop word [rax + rax]
mov rax, qword [rcx]
test dword [rax + 4], 0x1000000
jne 0x1800efc49
mov rax, qword [rcx + 8]
mov r9d, edx
test byte [rax + 4], 0x20
jne 0x1800efc58
inc r8d
add rcx, 0x20
mov r9d, edx
cmp r8d, edx
jl 0x1800efc30
cmp r8d, r9d
jne 0x1800efcc1
mov rax, qword [rsp + 0x40]
mov r10, qword [rsp + 0x48]
inc dword [rax + 0x38]
movsxd rcx, dword [r10 + 0x90]
mov r14d, dword [rax + 0x38]
cmp dword [r10 + 0x94], ecx
jg 0x1800efc96
xor r8d, r8d
mov dword [rsp + 0x20], esi
mov r9d, r14d
mov rcx, r10
lea edx, [r8 + 0x47]
call fcn.1800859d0
jmp 0x1800efcc1
lea eax, [rcx + 1]
mov dword [r10 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 0x88]
mov qword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov edx, dword [rdi + 0x30]
mov r13d, 1
mov r8, qword [rsp + 0x40]
mov ecx, dword [rdi + 0x20]
add ecx, edx
mov rdx, rdi
mov eax, dword [r8 + 0x38]
inc eax
mov dword [rdi + 0xc], eax
add dword [r8 + 0x38], ecx
mov rcx, r8
call fcn.1800ead00
mov r9, qword [rbp - 0x18]
mov r8, qword [rbp - 0x50]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x38], esi
movzx eax, r12b
or ax, bx
mov word [rsp + 0x30], ax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
call fcn.18010c440
mov rbx, rax
test rax, rax
je 0x1800effce
movzx r15d, byte [rax + 0x43]
mov r8, rdi
mov rcx, qword [rsp + 0x40]
mov r9d, r15d
mov edx, r14d
call fcn.1800eb600
test r15d, r15d
je 0x1800efd69
mov rax, qword [rdi + 0x28]
test rax, rax
je 0x1800efd69
mov r9d, dword [rax + 0x14]
mov edx, r15d
mov r8d, dword [rax + 0x10]
mov rcx, qword [rsp + 0x40]
call fcn.1800e09b0
test r14d, r14d
je 0x1800efe12
mov r8, qword [rsp + 0x48]
movsxd rcx, dword [r8 + 0x90]
cmp dword [r8 + 0x94], ecx
jg 0x1800efdde
mov r9d, r14d
mov dword [rsp + 0x20], esi
mov r14, qword [rsp + 0x48]
mov r8d, r13d
mov rcx, r14
mov edx, 0x47
call fcn.1800859d0
jmp 0x1800efe17
cmp edx, 1
jne 0x1800efcc4
mov rax, qword [rdi + 0x28]
mov r13d, 1
mov edx, r13d
cmp dword [rax + 0x10], esi
jl 0x1800efcca
mov rax, qword [rax]
mov r15, qword [rax + 0x20]
mov rax, r15
neg rax
sbb bx, bx
and bx, 0x500
jmp 0x1800efcca
lea eax, [rcx + 1]
mov dword [r8 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r8 + 0x88]
mov dword [rax + rcx*8 + 8], r14d
mov r14, r8
mov dword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
jmp 0x1800efe17
mov r14, qword [rsp + 0x48]
test r12b, r12b
je 0x1800efec4
test byte [rbx + 0x44], 4
je 0x1800efec4
cmp byte [rbx + 0x41], sil
je 0x1800efec4
movzx edx, byte [rbx + 0x40]
sub rdx, 1
js 0x1800efe67
imul rcx, rdx, 0x70
add rcx, rbx
nop word [rax + rax]
mov rax, qword [rcx + 0x3c0]
test byte [rax + 0x38], 4
jne 0x1800efe92
sub rcx, 0x70
sub rdx, 1
jns 0x1800efe50
mov edx, dword [rbx + 0x34]
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jg 0x1800efe9a
xor r8d, r8d
mov dword [rsp + 0x20], esi
mov r9d, edx
mov rcx, r14
lea edx, [r8 + 9]
call fcn.1800859d0
jmp 0x1800efec4
mov edx, dword [rcx + 0x370]
jmp 0x1800efe6a
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov qword [rax + rcx*8 + 0x10], rsi
mov dword [rax + rcx*8 + 0xc], esi
mov dword [rax + rcx*8 + 8], edx
mov qword [rax + rcx*8], 9
mov rcx, rbx
call fcn.18010d640
mov rbx, qword [rsp + 0x40]
mov rdx, rdi
mov rcx, rbx
call fcn.1800eb040
jmp 0x1800efee1
mov rbx, r12
mov r12d, dword [rbp - 0x7c]
mov r9d, 0x10
mov rdx, qword [rbp - 0x20]
mov r8d, r12d
mov rcx, rbx
mov qword [rbp], rsi
call fcn.1800a96d0
mov r15, qword [rbp - 0x70]
xor r9d, r9d
mov rdi, qword [rsp + 0x58]
mov rcx, rbx
mov dword [rsp + 0x38], r12d
mov rdx, rdi
mov dword [rsp + 0x30], r12d
lea r8d, [r9 - 1]
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rsi
call fcn.1800e0ae0
jmp 0x1800ef7fb
movsxd rdx, r12d
mov rcx, qword [rcx + 0x50]
mov eax, dword [r14 + 0x90]
mov dword [rcx + rdx*4], eax
mov r12, qword [rbp - 0x60]
cmp byte [rbp - 0xf], 3
jne 0x1800eff65
lea r9, str.DISTINCT
xor edx, edx
lea r8, str.USE_TEMP_B_TREE_FOR__s
mov rcx, rbx
call fcn.180086160
cmp qword [rbp], 0
je 0x1800eff84
mov r9d, dword [r12]
lea r8, [rbp]
mov rdx, rdi
mov qword [rsp + 0x20], r15
mov rcx, rbx
call fcn.1800e1e50
mov rcx, qword [r14 + 0x18]
mov edx, dword [rsp + 0x78]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1800effa3
mov r8d, edx
mov rdx, r14
call fcn.180086420
jmp 0x1800effb5
mov r8, qword [rcx + 0x50]
mov eax, dword [r14 + 0x90]
movsxd r9, edx
mov dword [r8 + r9*4], eax
mov r14, qword [rsp + 0x40]
mov eax, esi
mov r10, qword [rsp + 0x70]
cmp dword [r14 + 0x30], 0
setg al
mov r15d, eax
jmp 0x1800effde
mov r10, qword [rsp + 0x70]
mov r15d, 1
mov r14, qword [rsp + 0x40]
mov rax, qword [rbp - 0x18]
test rax, rax
je 0x1800f0051
mov rdx, rax
mov rcx, r10
call fcn.1800a1b90
jmp 0x1800f0051
mov rax, qword [rdx + 0x88]
lea rcx, [rcx + rcx*2]
lea rax, [rax + rcx*8]
mov esi, dword [rax + 8]
mov dword [r14 + 0x140], esi
mov eax, r8d
mov r13, qword [rsp + 0x1f8]
mov rcx, qword [rbp + 0x98]
xor rcx, rsp
call fcn.18012be40
add rsp, 0x1a0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r15d, 1
mov r14, rbx
jmp 0x1800f0051
mov r15d, 1
jmp 0x1800f0051
mov r14, qword [rsp + 0x40]
lea r8, [0x18016bc10]
movsxd rcx, dword [r14 + 0x140]
test ecx, ecx
je 0x1800f0083
mov rdx, qword [r14 + 0x10]
mov rax, qword [rdx]
cmp byte [rax + 0x67], 0
jne 0x1800f007f
mov rax, qword [rdx + 0x88]
lea rcx, [rcx + rcx*2]
lea r8, [rax + rcx*8]
mov esi, dword [r8 + 8]
mov dword [r14 + 0x140], esi
mov eax, r15d
jmp 0x1800f0010
mov eax, r15d
jmp 0x1800f0018