Function at 0x18007d090
Capabilities:
Reference sql statements

Disassembly:
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0xbf8
mov rax, qword [0x180179140]
xor rax, rsp
mov qword [rsp + 0xbe0], rax
mov rax, qword [rsp + 0xc10]
mov rax, qword [rax + 0x88]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 0
mov rax, qword [rsp + 0xc10]
mov rax, qword [rax]
mov qword [rsp + 0x40], rax
mov byte [rsp + 0xb0], 0
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x64]
mov byte [rsp + 0x48], al
mov dword [rsp + 0xc0], 0
mov qword [rsp + 0x478], 0
mov rax, qword [rsp + 0xc10]
mov rax, qword [rax + 0x68]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x98], 0
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x58], 0
mov rcx, qword [rsp + 0xc10]
call fcn.18008bfd0
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x208], 0
je 0x18007d1bf
mov eax, 4
imul rax, rax, 4
mov rcx, qword [rsp + 0xc10]
mov eax, dword [rcx + rax + 0xd4]
mov dword [rsp + 0x598], eax
xor edx, edx
mov eax, dword [rsp + 0x598]
mov rcx, qword [rsp + 0x40]
div dword [rcx + 0x218]
mov eax, edx
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx + 0x218]
sub ecx, eax
mov eax, ecx
mov eax, eax
mov qword [rsp + 0x230], rax
jmp 0x18007d1cb
mov qword [rsp + 0x230], 0xffffffffffffffff
mov rax, qword [rsp + 0xc10]
cmp dword [rax + 0x34], 7
jne 0x18007d1de
jmp 0x18008817b
mov rax, qword [rsp + 0xc10]
mov dword [rax + 0x34], 0
mov rax, qword [rsp + 0xc10]
mov qword [rax + 0x48], 0
mov rax, qword [rsp + 0xc10]
mov qword [rax + 0xa0], 0
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x290], 0
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x198]
test eax, eax
je 0x18007d233
jmp 0x1800881a6
mov rax, qword [rsp + 0xc10]
movsxd rax, dword [rax + 0x30]
imul rax, rax, 0x18
mov rcx, qword [rsp + 0xb8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
jmp 0x18007d266
mov rax, qword [rsp + 0x38]
add rax, 0x18
mov qword [rsp + 0x38], rax
xor eax, eax
cmp eax, 1
je 0x180087f2b
mov rax, qword [rsp + 0x478]
inc rax
mov qword [rsp + 0x478], rax
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
mov dword [rsp + 0x3e0], eax
cmp dword [rsp + 0x3e0], 0xb4
ja case.0x18007d2bd.88
movsxd rax, dword [rsp + 0x3e0]
lea rcx, [0x180000000]
mov eax, dword [rcx + rax*4 + 0x881d0]
add rax, rcx
jmp rax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
dec eax
cdqe
imul rax, rax, 0x18
mov rcx, qword [rsp + 0xb8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x198]
test eax, eax
je 0x18007d2f6
jmp 0x1800881a6
mov rax, qword [rsp + 0x230]
cmp qword [rsp + 0x478], rax
jb 0x18007d36e
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x208], 0
je 0x18007d36e
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x218]
mov rcx, qword [rsp + 0x230]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x230], rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x210]
mov rax, qword [rsp + 0x40]
call qword [rax + 0x208]
test eax, eax
je 0x18007d36c
mov qword [rsp + 0x230], 0xffffffffffffffff
mov dword [rsp + 0x30], 9
jmp 0x180087f2b
jmp 0x18007d2f6
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov eax, 4
mov rcx, qword [rsp + 0x50]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x38]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, 0x18
idiv rcx
cdqe
mov rcx, qword [rsp + 0x50]
mov qword [rcx], rax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
dec eax
cdqe
imul rax, rax, 0x18
mov rcx, qword [rsp + 0xb8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
imul rax, qword [rax], 0x18
mov rcx, qword [rsp + 0xb8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
dec eax
cdqe
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
mov eax, 4
mov rcx, qword [rsp + 0x58]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x38]
cmp dword [rax + 8], 0
je 0x18007d47a
jmp 0x18007d3c5
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
imul rax, qword [rax], 0x18
mov rcx, qword [rsp + 0xb8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x800], rax
mov rax, qword [rsp + 0x800]
mov eax, dword [rax + 8]
dec eax
cdqe
imul rax, rax, 0x18
mov rcx, qword [rsp + 0xb8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
xor eax, eax
mov rcx, qword [rsp + 0x50]
mov word [rcx + 0x14], ax
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov eax, 4
mov rcx, qword [rsp + 0x50]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x50]
mov eax, dword [rax]
mov dword [rsp + 0x594], eax
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x38]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, 0x18
idiv rcx
cdqe
mov rcx, qword [rsp + 0x50]
mov qword [rcx], rax
movsxd rax, dword [rsp + 0x594]
imul rax, rax, 0x18
mov rcx, qword [rsp + 0xb8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
movzx eax, word [rax + 0x14]
and eax, 1
test eax, eax
jne case.0x18007d2bd.69
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0xc10]
cmp qword [rax + 0x108], 0
je 0x18007d6cb
mov rax, qword [rsp + 0x38]
cmp dword [rax + 4], 0
jne 0x18007d6cb
mov rax, qword [rsp + 0xc10]
mov rax, qword [rax + 0x108]
mov qword [rsp + 0x690], rax
mov rax, qword [rsp + 0xc10]
mov rcx, qword [rsp + 0x690]
mov rcx, qword [rcx + 8]
mov qword [rax + 0x108], rcx
mov rax, qword [rsp + 0xc10]
mov eax, dword [rax + 0x118]
dec eax
mov rcx, qword [rsp + 0xc10]
mov dword [rcx + 0x118], eax
mov rax, qword [rsp + 0xc10]
mov rdx, qword [rax + 0x38]
mov rcx, qword [rsp + 0x40]
call fcn.18006f7d0
mov rcx, qword [rsp + 0x690]
call fcn.18008b000
mov dword [rsp + 0x1f8], eax
mov rax, qword [rsp + 0x38]
cmp dword [rax + 8], 4
jne 0x18007d67f
movsxd rax, dword [rsp + 0x1f8]
imul rax, rax, 0x18
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x88]
mov eax, dword [rcx + rax + 8]
dec eax
mov dword [rsp + 0x1f8], eax
mov rax, qword [rsp + 0xc10]
mov rax, qword [rax + 0x88]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xc10]
mov rax, qword [rax + 0x68]
mov qword [rsp + 0x60], rax
movsxd rax, dword [rsp + 0x1f8]
imul rax, rax, 0x18
mov rcx, qword [rsp + 0xb8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0xc10]
mov rcx, qword [rsp + 0x38]
mov ecx, dword [rcx + 4]
mov dword [rax + 0x34], ecx
mov rax, qword [rsp + 0xc10]
mov rcx, qword [rsp + 0x38]
movzx ecx, byte [rcx + 8]
mov byte [rax + 0xc2], cl
mov rax, qword [rsp + 0xc10]
cmp dword [rax + 0x34], 0
je 0x18007d806
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
test eax, eax
je 0x18007d786
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
dec eax
cdqe
lea rcx, str.NOT_NULL
mov r8, qword [rcx + rax*8]
lea rdx, str._s_constraint_failed
mov rcx, qword [rsp + 0xc10]
call fcn.18007c710
mov rax, qword [rsp + 0x38]
cmp qword [rax + 0x10], 0
je 0x18007d784
mov rax, qword [rsp + 0x38]
mov r9, qword [rax + 0x10]
mov rax, qword [rsp + 0xc10]
mov r8, qword [rax + 0xa8]
lea rdx, str._z:__s
mov rcx, qword [rsp + 0x40]
call fcn.180041ea0
mov rcx, qword [rsp + 0xc10]
mov qword [rcx + 0xa8], rax
jmp 0x18007d7a3
mov rax, qword [rsp + 0x38]
mov r8, qword [rax + 0x10]
lea rdx, [0x180171924]
mov rcx, qword [rsp + 0xc10]
call fcn.18007c710
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x38]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, 0x18
idiv rcx
mov dword [rsp + 0x1f8], eax
mov rax, qword [rsp + 0xc10]
mov rax, qword [rax + 0xa8]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0xc10]
mov r9, qword [rax + 0xf8]
mov r8d, dword [rsp + 0x1f8]
lea rdx, str.abort_at__d_in___s_:__s
mov rax, qword [rsp + 0x38]
mov ecx, dword [rax + 4]
call fcn.18002eee0
mov rcx, qword [rsp + 0xc10]
call fcn.180089200
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 5
jne 0x18007d82f
mov rax, qword [rsp + 0xc10]
mov dword [rax + 0x34], 5
jmp 0x18007d860
mov rax, qword [rsp + 0xc10]
cmp dword [rax + 0x34], 0
je 0x18007d84a
mov dword [rsp + 0x3dc], 1
jmp 0x18007d855
mov dword [rsp + 0x3dc], 0x65
mov eax, dword [rsp + 0x3dc]
mov dword [rsp + 0x30], eax
jmp 0x180088098
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xc10]
call fcn.1800b7030
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
jmp case.0x18007d2bd.88
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xc10]
call fcn.1800b7030
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rax]
mov qword [rcx], rax
jmp case.0x18007d2bd.88
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xc10]
call fcn.1800b7030
mov qword [rsp + 0x58], rax
mov eax, 8
mov rcx, qword [rsp + 0x58]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov rcx, qword [rsp + 0x58]
movsd xmm0, qword [rax]
movsd qword [rcx], xmm0
jmp case.0x18007d2bd.88
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xc10]
call fcn.1800b7030
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax + 0x10]
call fcn.180040e00
mov rcx, qword [rsp + 0x38]
mov dword [rcx + 4], eax
movzx eax, byte [rsp + 0x48]
cmp eax, 1
je 0x18007d9fb
mov qword [rsp + 0x20], 0
mov r9b, 1
mov r8, 0xffffffffffffffff
mov rax, qword [rsp + 0x38]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rsp + 0x58]
call fcn.180089ac0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x18007d973
jmp 0x18008815a
movzx eax, byte [rsp + 0x48]
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.1800897c0
test eax, eax
je 0x18007d98d
jmp 0x18008817b
mov rax, qword [rsp + 0x58]
mov dword [rax + 0x20], 0
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 0x14]
bts eax, 0xd
mov rcx, qword [rsp + 0x58]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x38]
movsx eax, byte [rax + 1]
cmp eax, 0xfffffffa
jne 0x18007d9d0
mov rax, qword [rsp + 0x38]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rsp + 0x40]
call fcn.1800417f0
mov rax, qword [rsp + 0x38]
mov byte [rax + 1], 0xfa
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 8]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 0x10]
mov dword [rax + 4], ecx
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x40]
mov eax, dword [rdx + rax + 0x88]
cmp dword [rcx + 4], eax
jle 0x18007da1f
jmp 0x18008815a
mov rax, qword [rsp + 0x38]
mov byte [rax], 0x4a
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xc10]
call fcn.1800b7030
mov qword [rsp + 0x58], rax
mov eax, 0x2202
mov rcx, qword [rsp + 0x58]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rcx + 0x10]
mov qword [rax + 8], rcx
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x38]
mov ecx, dword [rcx + 4]
mov dword [rax + 0x10], ecx
mov rax, qword [rsp + 0x58]
movzx ecx, byte [rsp + 0x48]
mov byte [rax + 0x16], cl
mov rax, qword [rsp + 0x38]
cmp dword [rax + 0xc], 0
jle 0x18007daca
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
mov rcx, qword [rsp + 0x90]
cmp qword [rcx], rax
jne 0x18007daca
mov eax, 0x2210
mov rcx, qword [rsp + 0x58]
mov word [rcx + 0x14], ax
jmp case.0x18007d2bd.88
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xc10]
call fcn.1800b7030
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
mov ecx, dword [rcx + 8]
mov eax, dword [rax + 0xc]
sub eax, ecx
mov dword [rsp + 0x2b4], eax
mov rax, qword [rsp + 0x38]
cmp dword [rax + 4], 0
je 0x18007db17
mov dword [rsp + 0x3d8], 0x101
jmp 0x18007db22
mov dword [rsp + 0x3d8], 1
movzx eax, word [rsp + 0x3d8]
mov word [rsp + 0x1b8], ax
mov rax, qword [rsp + 0x58]
movzx ecx, word [rsp + 0x1b8]
mov word [rax + 0x14], cx
mov rax, qword [rsp + 0x58]
mov dword [rax + 0x10], 0
cmp dword [rsp + 0x2b4], 0
jle 0x18007dba0
mov rax, qword [rsp + 0x58]
add rax, 0x38
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0x58]
call fcn.180089f90
mov rax, qword [rsp + 0x58]
movzx ecx, word [rsp + 0x1b8]
mov word [rax + 0x14], cx
mov rax, qword [rsp + 0x58]
mov dword [rax + 0x10], 0
mov eax, dword [rsp + 0x2b4]
dec eax
mov dword [rsp + 0x2b4], eax
jmp 0x18007db4f
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 0x14]
and eax, 0xffffffc0
or eax, 1
mov rcx, qword [rsp + 0x58]
mov word [rcx + 0x14], ax
jmp case.0x18007d2bd.88
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xc10]
call fcn.1800b7030
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x38]
cmp qword [rax + 0x10], 0
jne 0x18007dc29
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x58]
call fcn.180089fd0
mov rcx, qword [rsp + 0x58]
call fcn.18008ce10
test eax, eax
je 0x18007dc27
jmp 0x18008817b
jmp 0x18007dc54
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, rax
mov rax, qword [rsp + 0x38]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rsp + 0x58]
call fcn.180089ac0
mov rax, qword [rsp + 0x58]
movzx ecx, byte [rsp + 0x48]
mov byte [rax + 0x16], cl
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 4]
dec eax
cdqe
imul rax, rax, 0x38
mov rcx, qword [rsp + 0xc10]
add rax, qword [rcx + 0x80]
mov qword [rsp + 0x698], rax
mov rcx, qword [rsp + 0x698]
call fcn.180089830
test eax, eax
je 0x18007dca3
jmp 0x18008815a
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 0x14]
and eax, 0x9000
test eax, eax
je 0x18007dcdc
mov rcx, qword [rsp + 0x58]
call fcn.180089f90
mov r8d, 0x18
mov rdx, qword [rsp + 0x698]
mov rcx, qword [rsp + 0x58]
call fcn.18014af30
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 0x14]
and eax, 0xffffafff
mov rcx, qword [rsp + 0x58]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 0x14]
or eax, 0x2040
mov rcx, qword [rsp + 0x58]
mov word [rcx + 0x14], ax
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x2b8], eax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 4]
mov dword [rsp + 0x590], eax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
mov dword [rsp + 0x58c], eax
movsxd rax, dword [rsp + 0x590]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
movsxd rax, dword [rsp + 0x58c]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
call fcn.180089a20
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 0x14]
and eax, 0x4000
test eax, eax
je 0x18007ddc0
mov rcx, qword [rsp + 0x58]
call fcn.18008a0c0
test eax, eax
je 0x18007ddc0
jmp 0x18008817b
mov rax, qword [rsp + 0x50]
add rax, 0x38
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x58]
add rax, 0x38
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x2b8]
dec eax
mov dword [rsp + 0x2b8], eax
cmp dword [rsp + 0x2b8], 0
jne 0x18007dd8c
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x2bc], eax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
xor eax, eax
cmp eax, 1
je 0x18007ded4
mov r8d, 0x4000
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
call fcn.180089980
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 0x14]
and eax, 0x4000
test eax, eax
je 0x18007de89
mov rcx, qword [rsp + 0x58]
call fcn.18008a0c0
test eax, eax
je 0x18007de89
jmp 0x18008817b
mov eax, dword [rsp + 0x2bc]
mov dword [rsp + 0x588], eax
mov eax, dword [rsp + 0x2bc]
dec eax
mov dword [rsp + 0x2bc], eax
cmp dword [rsp + 0x588], 0
jne 0x18007deb3
jmp 0x18007ded4
mov rax, qword [rsp + 0x58]
add rax, 0x38
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x50]
add rax, 0x38
mov qword [rsp + 0x50], rax
jmp 0x18007de44
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov r8d, 0x4000
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
call fcn.180089980
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x50]
mov rdx, qword [rax]
mov rcx, qword [rsp + 0x58]
call fcn.180089df0
jmp case.0x18007d2bd.88
xor edx, edx
mov rcx, qword [rsp + 0xc10]
call fcn.18008c0d0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x18007df9d
jmp 0x180087f2b
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0xc10]
mov eax, dword [rax + 0x2c]
add eax, 2
or eax, 1
mov rcx, qword [rsp + 0xc10]
mov dword [rcx + 0x2c], eax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0xc10]
mov qword [rcx + 0xa0], rax
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x67]
test eax, eax
je 0x18007dff7
jmp 0x18008817b
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x6e]
and eax, 4
test eax, eax
je 0x18007e02e
xor r9d, r9d
mov r8, qword [rsp + 0xc10]
mov rax, qword [rsp + 0x40]
mov rdx, qword [rax + 0x100]
mov ecx, 4
mov rax, qword [rsp + 0x40]
call qword [rax + 0xf8]
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x38]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, 0x18
idiv rcx
inc eax
mov rcx, qword [rsp + 0xc10]
mov dword [rcx + 0x30], eax
mov dword [rsp + 0x30], 0x64
jmp 0x180088098
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
mov word [rsp + 0xdc], ax
movzx eax, word [rsp + 0xdc]
mov rcx, qword [rsp + 0x98]
movzx ecx, word [rcx + 0x14]
or eax, ecx
and eax, 1
test eax, eax
je 0x18007e0fc
mov rcx, qword [rsp + 0x58]
call fcn.180089f90
jmp case.0x18007d2bd.88
movzx eax, word [rsp + 0xdc]
and eax, 0x12
test eax, eax
jne 0x18007e13c
xor r8d, r8d
movzx edx, byte [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
call fcn.18008a170
test eax, eax
je 0x18007e126
jmp 0x18008817b
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
and eax, 0xfffffffd
mov word [rsp + 0xdc], ax
jmp 0x18007e174
movzx eax, word [rsp + 0xdc]
and eax, 0x400
test eax, eax
je 0x18007e174
mov rcx, qword [rsp + 0x50]
call fcn.18008ce10
test eax, eax
je 0x18007e160
jmp 0x18008817b
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
and eax, 0xfffffffd
mov word [rsp + 0xdc], ax
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
mov word [rsp + 0xf4], ax
movzx eax, word [rsp + 0xf4]
and eax, 0x12
test eax, eax
jne 0x18007e1ce
xor r8d, r8d
movzx edx, byte [rsp + 0x48]
mov rcx, qword [rsp + 0x98]
call fcn.18008a170
test eax, eax
je 0x18007e1b5
jmp 0x18008817b
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
and eax, 0xfffffffd
mov word [rsp + 0xf4], ax
jmp 0x18007e20c
movzx eax, word [rsp + 0xf4]
and eax, 0x400
test eax, eax
je 0x18007e20c
mov rcx, qword [rsp + 0x98]
call fcn.18008ce10
test eax, eax
je 0x18007e1f5
jmp 0x18008817b
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
and eax, 0xfffffffd
mov word [rsp + 0xf4], ax
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x10]
mov rcx, qword [rsp + 0x98]
add eax, dword [rcx + 0x10]
cdqe
mov qword [rsp + 0x328], rax
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + rax + 0x88]
cmp qword [rsp + 0x328], rax
jle 0x18007e24e
jmp 0x18008815a
mov rax, qword [rsp + 0x98]
cmp qword [rsp + 0x58], rax
jne 0x18007e26a
mov dword [rsp + 0x3d4], 1
jmp 0x18007e275
mov dword [rsp + 0x3d4], 0
mov eax, dword [rsp + 0x328]
add eax, 3
mov r8d, dword [rsp + 0x3d4]
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.18008abe0
test eax, eax
je 0x18007e29c
jmp 0x18008817b
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 0x14]
and eax, 0xfffff240
or eax, 2
mov rcx, qword [rsp + 0x58]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x98]
cmp qword [rsp + 0x58], rax
je 0x18007e302
mov rax, qword [rsp + 0x98]
movsxd rax, dword [rax + 0x10]
mov r8, rax
mov rax, qword [rsp + 0x98]
mov rdx, qword [rax + 8]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 8]
call fcn.18014af30
mov rax, qword [rsp + 0x98]
movzx ecx, word [rsp + 0xf4]
mov word [rax + 0x14], cx
mov rax, qword [rsp + 0x50]
movsxd rax, dword [rax + 0x10]
mov rcx, qword [rsp + 0x98]
movsxd rcx, dword [rcx + 0x10]
mov rdx, qword [rsp + 0x58]
mov rdx, qword [rdx + 8]
add rdx, rcx
mov rcx, rdx
mov r8, rax
mov rax, qword [rsp + 0x50]
mov rdx, qword [rax + 8]
call fcn.18014af30
mov rax, qword [rsp + 0x50]
movzx ecx, word [rsp + 0xdc]
mov word [rax + 0x14], cx
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 8]
mov rcx, qword [rsp + 0x328]
mov byte [rax + rcx], 0
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 8]
mov rcx, qword [rsp + 0x328]
mov byte [rax + rcx + 1], 0
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 8]
mov rcx, qword [rsp + 0x328]
mov byte [rax + rcx + 2], 0
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 0x14]
bts eax, 9
mov rcx, qword [rsp + 0x58]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x328]
mov dword [rax + 0x10], ecx
mov rax, qword [rsp + 0x58]
movzx ecx, byte [rsp + 0x48]
mov byte [rax + 0x16], cl
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
call fcn.1800b6fa0
mov word [rsp + 0x2a8], ax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
call fcn.1800b6fa0
mov word [rsp + 0x2ac], ax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
mov rcx, qword [rsp + 0x98]
movzx ecx, word [rcx + 0x14]
or eax, ecx
mov word [rsp + 0x2b0], ax
movzx eax, word [rsp + 0x2a8]
movzx ecx, word [rsp + 0x2ac]
and eax, ecx
and eax, 4
test eax, eax
je 0x18007e608
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
mov qword [rsp + 0x140], rax
mov rax, qword [rsp + 0x98]
mov rax, qword [rax]
mov qword [rsp + 0x1c0], rax
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
mov byte [rsp + 0x228], al
cmp byte [rsp + 0x228], 0x6a
je 0x18007e4dc
cmp byte [rsp + 0x228], 0x6b
je 0x18007e4ff
cmp byte [rsp + 0x228], 0x6c
je 0x18007e522
cmp byte [rsp + 0x228], 0x6d
je 0x18007e545
jmp 0x18007e595
mov rdx, qword [rsp + 0x140]
lea rcx, [rsp + 0x1c0]
call fcn.18006f810
test eax, eax
je 0x18007e4fa
jmp 0x18007e621
jmp 0x18007e5d9
mov rdx, qword [rsp + 0x140]
lea rcx, [rsp + 0x1c0]
call fcn.18006f8b0
test eax, eax
je 0x18007e51d
jmp 0x18007e621
jmp 0x18007e5d9
mov rdx, qword [rsp + 0x140]
lea rcx, [rsp + 0x1c0]
call fcn.18006f920
test eax, eax
je 0x18007e540
jmp 0x18007e621
jmp 0x18007e5d9
cmp qword [rsp + 0x140], 0
jne 0x18007e555
jmp 0x18007e7d0
cmp qword [rsp + 0x140], 0xffffffffffffffff
jne 0x18007e579
movabs rax, 0x8000000000000000
cmp qword [rsp + 0x1c0], rax
jne 0x18007e579
jmp 0x18007e621
mov rax, qword [rsp + 0x1c0]
cqo
idiv qword [rsp + 0x140]
mov qword [rsp + 0x1c0], rax
jmp 0x18007e5d9
cmp qword [rsp + 0x140], 0
jne 0x18007e5a5
jmp 0x18007e7d0
cmp qword [rsp + 0x140], 0xffffffffffffffff
jne 0x18007e5bc
mov qword [rsp + 0x140], 1
mov rax, qword [rsp + 0x1c0]
cqo
idiv qword [rsp + 0x140]
mov rax, rdx
mov qword [rsp + 0x1c0], rax
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x1c0]
mov qword [rax], rcx
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 0x14]
and eax, 0xfffff240
or eax, 4
mov rcx, qword [rsp + 0x58]
mov word [rcx + 0x14], ax
jmp 0x18007e7cb
movzx eax, word [rsp + 0x2b0]
and eax, 1
test eax, eax
je 0x18007e621
jmp 0x18007e7d0
mov rcx, qword [rsp + 0x50]
call fcn.18008a420
movsd qword [rsp + 0x380], xmm0
mov rcx, qword [rsp + 0x98]
call fcn.18008a420
movsd qword [rsp + 0x1c8], xmm0
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
mov byte [rsp + 0x224], al
cmp byte [rsp + 0x224], 0x6a
je 0x18007e686
cmp byte [rsp + 0x224], 0x6b
je 0x18007e6a6
cmp byte [rsp + 0x224], 0x6c
je 0x18007e6c6
cmp byte [rsp + 0x224], 0x6d
je 0x18007e6e6
jmp 0x18007e71d
movsd xmm0, qword [rsp + 0x1c8]
addsd xmm0, qword [rsp + 0x380]
movsd qword [rsp + 0x1c8], xmm0
jmp 0x18007e78b
movsd xmm0, qword [rsp + 0x1c8]
subsd xmm0, qword [rsp + 0x380]
movsd qword [rsp + 0x1c8], xmm0
jmp 0x18007e78b
movsd xmm0, qword [rsp + 0x1c8]
mulsd xmm0, qword [rsp + 0x380]
movsd qword [rsp + 0x1c8], xmm0
jmp 0x18007e78b
movsd xmm0, qword [rsp + 0x380]
ucomisd xmm0, qword [0x180153d10]
jp 0x18007e700
jne 0x18007e700
jmp 0x18007e7d0
movsd xmm0, qword [rsp + 0x1c8]
divsd xmm0, qword [rsp + 0x380]
movsd qword [rsp + 0x1c8], xmm0
jmp 0x18007e78b
mov rcx, qword [rsp + 0x50]
call fcn.18008a350
mov qword [rsp + 0x140], rax
mov rcx, qword [rsp + 0x98]
call fcn.18008a350
mov qword [rsp + 0x1c0], rax
cmp qword [rsp + 0x140], 0
jne 0x18007e751
jmp 0x18007e7d0
cmp qword [rsp + 0x140], 0xffffffffffffffff
jne 0x18007e768
mov qword [rsp + 0x140], 1
mov rax, qword [rsp + 0x1c0]
cqo
idiv qword [rsp + 0x140]
mov rax, rdx
cvtsi2sd xmm0, rax
movsd qword [rsp + 0x1c8], xmm0
movsd xmm0, qword [rsp + 0x1c8]
call fcn.180041e10
test eax, eax
je 0x18007e79f
jmp 0x18007e7d0
mov rax, qword [rsp + 0x58]
movsd xmm0, qword [rsp + 0x1c8]
movsd qword [rax], xmm0
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 0x14]
and eax, 0xfffff240
or eax, 8
mov rcx, qword [rsp + 0x58]
mov word [rcx + 0x14], ax
jmp case.0x18007d2bd.88
mov rcx, qword [rsp + 0x58]
call fcn.180089f90
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
cmp dword [rax + 4], 0
je 0x18007e80c
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
xor edx, edx
mov rcx, rax
call fcn.180089df0
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
mov rcx, qword [rsp + 0x98]
movzx ecx, word [rcx + 0x14]
or eax, ecx
and eax, 1
test eax, eax
je 0x18007e898
mov rcx, qword [rsp + 0x58]
call fcn.180089f90
jmp case.0x18007d2bd.88
mov rcx, qword [rsp + 0x98]
call fcn.18008a350
mov qword [rsp + 0x208], rax
mov rcx, qword [rsp + 0x50]
call fcn.18008a350
mov qword [rsp + 0x1d8], rax
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
mov byte [rsp + 0x78], al
movzx eax, byte [rsp + 0x78]
cmp eax, 0x66
jne 0x18007e8f8
mov rax, qword [rsp + 0x1d8]
mov rcx, qword [rsp + 0x208]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x208], rax
jmp 0x18007eaa3
movzx eax, byte [rsp + 0x78]
cmp eax, 0x67
jne 0x18007e925
mov rax, qword [rsp + 0x1d8]
mov rcx, qword [rsp + 0x208]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x208], rax
jmp 0x18007eaa3
cmp qword [rsp + 0x1d8], 0
je 0x18007eaa3
cmp qword [rsp + 0x1d8], 0
jge 0x18007e98d
movzx eax, byte [rsp + 0x78]
mov ecx, 0xd1
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x78], al
cmp qword [rsp + 0x1d8], 0xffffffffffffffc0
jle 0x18007e971
mov rax, qword [rsp + 0x1d8]
neg rax
mov qword [rsp + 0x6a0], rax
jmp 0x18007e97d
mov qword [rsp + 0x6a0], 0x40
mov rax, qword [rsp + 0x6a0]
mov qword [rsp + 0x1d8], rax
cmp qword [rsp + 0x1d8], 0x40
jl 0x18007e9da
cmp qword [rsp + 0x208], 0
jge 0x18007e9ba
movzx eax, byte [rsp + 0x78]
cmp eax, 0x68
je 0x18007e9ba
mov dword [rsp + 0x3d0], 0xffffffff
jmp 0x18007e9c5
mov dword [rsp + 0x3d0], 0
movsxd rax, dword [rsp + 0x3d0]
mov qword [rsp + 0x208], rax
jmp 0x18007eaa3
mov r8d, 8
lea rdx, [rsp + 0x208]
lea rcx, [rsp + 0x308]
call fcn.18014af30
movzx eax, byte [rsp + 0x78]
cmp eax, 0x68
jne 0x18007ea1f
mov rax, qword [rsp + 0x1d8]
movzx ecx, al
mov rax, qword [rsp + 0x308]
shl rax, cl
mov qword [rsp + 0x308], rax
jmp 0x18007ea88
mov rax, qword [rsp + 0x1d8]
movzx ecx, al
mov rax, qword [rsp + 0x308]
shr rax, cl
mov qword [rsp + 0x308], rax
cmp qword [rsp + 0x208], 0
jge 0x18007ea88
mov eax, 0x40
sub rax, qword [rsp + 0x1d8]
mov rcx, 0xffffffffffffffff
mov qword [rsp + 0x808], rcx
movzx ecx, al
mov rax, qword [rsp + 0x808]
shl rax, cl
mov rcx, qword [rsp + 0x308]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x308], rax
mov r8d, 8
lea rdx, [rsp + 0x308]
lea rcx, [rsp + 0x208]
call fcn.18014af30
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x208]
mov qword [rax], rcx
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 0x14]
and eax, 0xfffff240
or eax, 4
mov rcx, qword [rsp + 0x58]
mov word [rcx + 0x14], ax
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
call fcn.18008a3d0
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
mov rcx, qword [rsp + 0x50]
add rax, qword [rcx]
mov rcx, qword [rsp + 0x50]
mov qword [rcx], rax
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
and eax, 4
test eax, eax
jne 0x18007eb85
movzx r8d, byte [rsp + 0x48]
mov dl, 0x43
mov rcx, qword [rsp + 0x50]
call fcn.1800b6da0
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
and eax, 4
test eax, eax
jne 0x18007eb85
mov rax, qword [rsp + 0x38]
cmp dword [rax + 8], 0
jne 0x18007eb80
mov dword [rsp + 0x30], 0x14
jmp 0x180087f2b
jmp 0x18007d3c5
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
and eax, 0xfffff240
or eax, 4
mov rcx, qword [rsp + 0x50]
mov word [rcx + 0x14], ax
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
and eax, 0x24
test eax, eax
je 0x18007ebdb
mov rcx, qword [rsp + 0x50]
call fcn.18008a5b0
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
and eax, 0x400
test eax, eax
je 0x18007ec22
mov rcx, qword [rsp + 0x50]
call fcn.18008ce10
mov dword [rsp + 0x3cc], eax
jmp 0x18007ec2d
mov dword [rsp + 0x3cc], 0
mov eax, dword [rsp + 0x3cc]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x18007ec44
jmp 0x180087f2b
movzx r8d, byte [rsp + 0x48]
mov rax, qword [rsp + 0x38]
movzx edx, byte [rax + 8]
mov rcx, qword [rsp + 0x50]
call fcn.18008a710
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x18007ec6d
jmp 0x180087f2b
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
mov word [rsp + 0x88], ax
mov rax, qword [rsp + 0x90]
movzx eax, word [rax + 0x14]
mov word [rsp + 0x68], ax
movzx eax, word [rsp + 0x88]
movzx ecx, word [rsp + 0x68]
and eax, ecx
and eax, 4
test eax, eax
je 0x18007ed93
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx]
cmp qword [rax], rcx
jle 0x18007ed29
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
mov rcx, qword [0x180170790]
movzx eax, byte [rcx + rax]
test eax, eax
je 0x18007ed1c
jmp 0x18007d3c5
mov dword [rsp + 0xc0], 1
jmp 0x18007ed8e
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx]
cmp qword [rax], rcx
jge 0x18007ed67
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
mov rcx, qword [0x180170780]
movzx eax, byte [rcx + rax]
test eax, eax
je 0x18007ed5a
jmp 0x18007d3c5
mov dword [rsp + 0xc0], 0xffffffff
jmp 0x18007ed8e
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
mov rcx, qword [0x180170788]
movzx eax, byte [rcx + rax]
test eax, eax
je 0x18007ed83
jmp 0x18007d3c5
mov dword [rsp + 0xc0], 0
jmp case.0x18007d2bd.88
movzx eax, word [rsp + 0x88]
movzx ecx, word [rsp + 0x68]
or eax, ecx
and eax, 1
test eax, eax
je 0x18007ee4e
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 0x80
test eax, eax
je 0x18007ee24
movzx eax, word [rsp + 0x88]
movzx ecx, word [rsp + 0x68]
and eax, ecx
and eax, 1
test eax, eax
je 0x18007edf0
movzx eax, word [rsp + 0x68]
and eax, 0x100
test eax, eax
jne 0x18007edf0
mov dword [rsp + 0x1a4], 0
jmp 0x18007ee22
movzx eax, word [rsp + 0x68]
and eax, 1
test eax, eax
je 0x18007ee09
mov dword [rsp + 0x3c8], 0xffffffff
jmp 0x18007ee14
mov dword [rsp + 0x3c8], 1
mov eax, dword [rsp + 0x3c8]
mov dword [rsp + 0x1a4], eax
jmp 0x18007ee49
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 0x10
test eax, eax
je 0x18007ee39
jmp 0x18007d3c5
mov dword [rsp + 0xc0], 1
jmp case.0x18007d2bd.88
jmp 0x18007efca
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 0x47
mov byte [rsp + 0xe8], al
movsx eax, byte [rsp + 0xe8]
cmp eax, 0x43
jl 0x18007eed2
movzx eax, word [rsp + 0x88]
movzx ecx, word [rsp + 0x68]
or eax, ecx
and eax, 2
test eax, eax
je 0x18007eecd
movzx eax, word [rsp + 0x88]
and eax, 0x2e
cmp eax, 2
jne 0x18007eeb1
xor edx, edx
mov rcx, qword [rsp + 0x50]
call fcn.1800b6cc0
mov rax, qword [rsp + 0x90]
movzx eax, word [rax + 0x14]
mov word [rsp + 0x68], ax
movzx eax, word [rsp + 0x68]
and eax, 0x2e
cmp eax, 2
jne 0x18007eecd
xor edx, edx
mov rcx, qword [rsp + 0x90]
call fcn.1800b6cc0
jmp 0x18007efa8
movsx eax, byte [rsp + 0xe8]
cmp eax, 0x42
jne 0x18007efa8
movzx eax, word [rsp + 0x88]
and eax, 2
test eax, eax
jne 0x18007ef58
movzx eax, word [rsp + 0x88]
and eax, 0x2c
test eax, eax
je 0x18007ef58
mov r8b, 1
movzx edx, byte [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
call fcn.18008a170
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
and eax, 0xfffff240
movzx ecx, word [rsp + 0x88]
and ecx, 0xdbf
or eax, ecx
mov word [rsp + 0x88], ax
mov rax, qword [rsp + 0x90]
cmp qword [rsp + 0x50], rax
jne 0x18007ef58
movzx eax, word [rsp + 0x88]
or eax, 2
mov word [rsp + 0x68], ax
movzx eax, word [rsp + 0x68]
and eax, 2
test eax, eax
jne 0x18007efa8
movzx eax, word [rsp + 0x68]
and eax, 0x2c
test eax, eax
je 0x18007efa8
mov r8b, 1
movzx edx, byte [rsp + 0x48]
mov rcx, qword [rsp + 0x90]
call fcn.18008a170
mov rax, qword [rsp + 0x90]
movzx eax, word [rax + 0x14]
and eax, 0xfffff240
movzx ecx, word [rsp + 0x68]
and ecx, 0xdbf
or eax, ecx
mov word [rsp + 0x68], ax
mov rax, qword [rsp + 0x38]
mov r8, qword [rax + 0x10]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x90]
call fcn.18003aeb0
mov dword [rsp + 0x1a4], eax
cmp dword [rsp + 0x1a4], 0
jge 0x18007eff0
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
mov rcx, qword [0x180170780]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x2c0], eax
jmp 0x18007f030
cmp dword [rsp + 0x1a4], 0
jne 0x18007f016
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
mov rcx, qword [0x180170788]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x2c0], eax
jmp 0x18007f030
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
mov rcx, qword [0x180170790]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x2c0], eax
mov eax, dword [rsp + 0x1a4]
mov dword [rsp + 0xc0], eax
mov rax, qword [rsp + 0x90]
movzx ecx, word [rsp + 0x68]
mov word [rax + 0x14], cx
mov rax, qword [rsp + 0x50]
movzx ecx, word [rsp + 0x88]
mov word [rax + 0x14], cx
cmp dword [rsp + 0x2c0], 0
je 0x18007f06f
jmp 0x18007d3c5
jmp case.0x18007d2bd.88
cmp dword [rsp + 0xc0], 0
jne 0x18007f083
jmp 0x18007d3c5
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 1
test eax, eax
jne 0x18007f0ab
mov qword [rsp + 0x5a0], 0
jmp 0x18007f0ca
mov eax, 0x18
imul rax, rax, 0xffffffffffffffff
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx + rax + 0x10]
add rax, 4
mov qword [rsp + 0x5a0], rax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x584], eax
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x5a8], rax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 4]
mov dword [rsp + 0x3c0], eax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
mov dword [rsp + 0x3bc], eax
mov dword [rsp + 0x118], 0
jmp 0x18007f125
mov eax, dword [rsp + 0x118]
inc eax
mov dword [rsp + 0x118], eax
mov eax, dword [rsp + 0x584]
cmp dword [rsp + 0x118], eax
jge 0x18007f2c8
cmp qword [rsp + 0x5a0], 0
je 0x18007f160
movsxd rax, dword [rsp + 0x118]
mov rcx, qword [rsp + 0x5a0]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 0x3c4], eax
jmp 0x18007f16e
mov eax, dword [rsp + 0x118]
mov dword [rsp + 0x3c4], eax
mov eax, dword [rsp + 0x3c4]
mov dword [rsp + 0x22c], eax
movsxd rax, dword [rsp + 0x118]
mov rcx, qword [rsp + 0x5a8]
mov rax, qword [rcx + rax*8 + 0x20]
mov qword [rsp + 0x810], rax
movsxd rax, dword [rsp + 0x118]
mov rcx, qword [rsp + 0x5a8]
mov rcx, qword [rcx + 0x18]
movzx eax, byte [rcx + rax]
and eax, 1
mov dword [rsp + 0x57c], eax
mov eax, dword [rsp + 0x22c]
mov ecx, dword [rsp + 0x3bc]
add ecx, eax
mov eax, ecx
mov eax, eax
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov ecx, dword [rsp + 0x22c]
mov edx, dword [rsp + 0x3c0]
add edx, ecx
mov ecx, edx
mov ecx, ecx
imul rcx, rcx, 0x38
mov rdx, qword [rsp + 0x60]
add rdx, rcx
mov rcx, rdx
mov r8, qword [rsp + 0x810]
mov rdx, rax
call fcn.18003aeb0
mov dword [rsp + 0xc0], eax
cmp dword [rsp + 0xc0], 0
je 0x18007f2c3
movsxd rax, dword [rsp + 0x118]
mov rcx, qword [rsp + 0x5a8]
mov rcx, qword [rcx + 0x18]
movzx eax, byte [rcx + rax]
and eax, 2
test eax, eax
je 0x18007f2a7
mov eax, dword [rsp + 0x22c]
mov ecx, dword [rsp + 0x3c0]
add ecx, eax
mov eax, ecx
mov eax, eax
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
movzx eax, word [rcx + rax + 0x14]
and eax, 1
test eax, eax
jne 0x18007f297
mov eax, dword [rsp + 0x22c]
mov ecx, dword [rsp + 0x3bc]
add ecx, eax
mov eax, ecx
mov eax, eax
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
movzx eax, word [rcx + rax + 0x14]
and eax, 1
test eax, eax
je 0x18007f2a7
mov eax, dword [rsp + 0xc0]
neg eax
mov dword [rsp + 0xc0], eax
cmp dword [rsp + 0x57c], 0
je 0x18007f2c1
mov eax, dword [rsp + 0xc0]
neg eax
mov dword [rsp + 0xc0], eax
jmp 0x18007f2c8
jmp 0x18007f115
jmp case.0x18007d2bd.88
cmp dword [rsp + 0xc0], 0
jge 0x18007f2fc
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 4]
dec eax
cdqe
imul rax, rax, 0x18
mov rcx, qword [rsp + 0xb8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
jmp 0x18007f34e
cmp dword [rsp + 0xc0], 0
jne 0x18007f32b
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
dec eax
cdqe
imul rax, rax, 0x18
mov rcx, qword [rsp + 0xb8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
jmp 0x18007f34e
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
dec eax
cdqe
imul rax, rax, 0x18
mov rcx, qword [rsp + 0xb8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov edx, 2
mov rcx, rax
call fcn.18008a490
mov dword [rsp + 0x178], eax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov edx, 2
mov rcx, rax
call fcn.18008a490
mov dword [rsp + 0x3b8], eax
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
cmp eax, 0x2c
jne 0x18007f3dd
imul eax, dword [rsp + 0x178], 3
add eax, dword [rsp + 0x3b8]
cdqe
lea rcx, [0x18014e130]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x178], eax
jmp 0x18007f400
imul eax, dword [rsp + 0x178], 3
add eax, dword [rsp + 0x3b8]
cdqe
lea rcx, [0x18014e140]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x178], eax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
cmp dword [rsp + 0x178], 2
jne 0x18007f443
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 0x14]
and eax, 0xfffff240
or eax, 1
mov rcx, qword [rsp + 0x58]
mov word [rcx + 0x14], ax
jmp 0x18007f46d
movsxd rax, dword [rsp + 0x178]
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 0x14]
and eax, 0xfffff240
or eax, 4
mov rcx, qword [rsp + 0x58]
mov word [rcx + 0x14], ax
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x38]
mov edx, dword [rcx + 0xc]
mov rcx, rax
call fcn.18008a490
mov rcx, qword [rsp + 0x38]
xor eax, dword [rcx + 0x10]
cdqe
mov rcx, qword [rsp + 0x38]
movsxd rcx, dword [rcx + 8]
imul rcx, rcx, 0x38
mov rdx, qword [rsp + 0x60]
add rdx, rcx
mov rcx, rdx
mov rdx, rax
call fcn.180089df0
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
and eax, 1
test eax, eax
jne 0x18007f552
xor edx, edx
mov rcx, qword [rsp + 0x50]
call fcn.18008a490
test eax, eax
jne 0x18007f530
mov dword [rsp + 0x3b4], 1
jmp 0x18007f53b
mov dword [rsp + 0x3b4], 0
movsxd rax, dword [rsp + 0x3b4]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.180089df0
jmp 0x18007f55c
mov rcx, qword [rsp + 0x58]
call fcn.180089f90
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0x58]
call fcn.180089f90
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
and eax, 1
test eax, eax
jne 0x18007f5d8
mov eax, 4
mov rcx, qword [rsp + 0x58]
mov word [rcx + 0x14], ax
mov rcx, qword [rsp + 0x50]
call fcn.18008a350
not rax
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0xc10]
cmp qword [rax + 0x108], 0
je 0x18007f714
mov rax, qword [rsp + 0xc10]
mov rax, qword [rax + 0x88]
mov rcx, qword [rsp + 0x38]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, 0x18
idiv rcx
mov dword [rsp + 0x1b4], eax
mov rax, qword [rsp + 0xc10]
mov rax, qword [rax + 0x108]
mov qword [rsp + 0x818], rax
xor edx, edx
mov eax, dword [rsp + 0x1b4]
mov ecx, 8
div ecx
mov eax, eax
mov rcx, qword [rsp + 0x818]
mov rcx, qword [rcx + 0x30]
movzx eax, byte [rcx + rax]
mov ecx, dword [rsp + 0x1b4]
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, edx
and eax, ecx
test eax, eax
je 0x18007f675
jmp 0x18007d3c5
mov rax, qword [rsp + 0xc10]
mov rax, qword [rax + 0x108]
mov qword [rsp + 0x820], rax
xor edx, edx
mov eax, dword [rsp + 0x1b4]
mov ecx, 8
div ecx
mov eax, eax
mov rcx, qword [rsp + 0x820]
mov rcx, qword [rcx + 0x30]
mov qword [rsp + 0x828], rcx
mov edx, dword [rsp + 0x1b4]
and edx, 7
mov r8d, 1
movzx ecx, dl
mov edx, r8d
shl edx, cl
mov ecx, edx
mov rdx, qword [rsp + 0x828]
movzx eax, byte [rdx + rax]
or eax, ecx
mov dword [rsp + 0x578], eax
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x108]
xor edx, edx
mov eax, dword [rsp + 0x1b4]
mov r8d, 8
div r8d
mov eax, eax
mov rcx, qword [rcx + 0x30]
mov edx, dword [rsp + 0x578]
mov byte [rcx + rax], dl
jmp 0x18007f73f
mov eax, 0x18
imul rax, rax, 0
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x88]
mov rdx, qword [rsp + 0x38]
mov edx, dword [rdx + 4]
cmp dword [rcx + rax + 4], edx
jne 0x18007f73f
jmp 0x18007d3c5
mov eax, 0x18
imul rax, rax, 0
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x88]
mov rdx, qword [rsp + 0x38]
mov eax, dword [rcx + rax + 4]
mov dword [rdx + 4], eax
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x38]
mov edx, dword [rcx + 0xc]
mov rcx, rax
call fcn.18008a490
mov dword [rsp + 0x574], eax
cmp dword [rsp + 0x574], 0
je 0x18007f7a6
jmp 0x18007d3c5
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
cmp dword [rax + 0xc], 0
jne 0x18007f7c3
mov dword [rsp + 0x3b0], 1
jmp 0x18007f7ce
mov dword [rsp + 0x3b0], 0
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov edx, dword [rsp + 0x3b0]
mov rcx, rax
call fcn.18008a490
test eax, eax
jne 0x18007f806
mov dword [rsp + 0x3ac], 1
jmp 0x18007f811
mov dword [rsp + 0x3ac], 0
mov eax, dword [rsp + 0x3ac]
mov dword [rsp + 0x570], eax
cmp dword [rsp + 0x570], 0
je 0x18007f82e
jmp 0x18007d3c5
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
and eax, 1
test eax, eax
je 0x18007f865
jmp 0x18007d3c5
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
and eax, 1
test eax, eax
jne 0x18007f8b8
mov rcx, qword [rsp + 0x50]
call fcn.180027220
mov rcx, qword [rsp + 0x38]
cmp eax, dword [rcx + 0xc]
je 0x18007f8b8
mov dword [rsp + 0x3a8], 0
jmp 0x18007f8c3
mov dword [rsp + 0x3a8], 1
mov eax, dword [rsp + 0x3a8]
mov dword [rsp + 0x56c], eax
cmp dword [rsp + 0x56c], 0
je 0x18007f8e0
jmp 0x18007d3c5
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
movzx eax, word [rcx + rax + 0x14]
and eax, 1
test eax, eax
jne 0x18007f921
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
movzx eax, word [rcx + rax + 0x14]
and eax, 1
test eax, eax
je 0x18007f943
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.180089f90
jmp 0x18007f965
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
xor edx, edx
mov rcx, rax
call fcn.180089df0
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
and eax, 1
test eax, eax
jne 0x18007f99c
jmp 0x18007d3c5
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 2]
test eax, eax
je 0x18007f9e7
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.180089f90
jmp 0x18007d3c5
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
mov dword [rsp + 0x100], eax
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 0x58]
mov qword [rsp + 0x160], rax
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xc10]
mov ecx, dword [rcx + 0x2c]
cmp dword [rax + 0x20], ecx
je 0x18007fd6e
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 2]
test eax, eax
je 0x18007fb10
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax]
cmp eax, 3
jne 0x18007fad9
mov rax, qword [rsp + 0x80]
movsxd rax, dword [rax + 0x24]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x6a8], rax
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x6a8]
mov ecx, dword [rcx + 0x10]
mov dword [rax + 0x6c], ecx
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x80]
mov ecx, dword [rcx + 0x6c]
mov dword [rax + 0x68], ecx
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x6a8]
mov rcx, qword [rcx + 8]
mov qword [rax + 0x60], rcx
jmp 0x18007fb0b
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xe0], rax
mov rcx, qword [rsp + 0xe0]
call fcn.180089f90
jmp 0x1800804e5
jmp 0x18007fc2d
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x5b0], rax
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 3]
test eax, eax
je 0x18007fbba
mov rax, qword [rsp + 0x80]
cmp qword [rax + 0x10], 0
je 0x18007fb9b
mov eax, dword [rsp + 0x100]
inc eax
mov eax, eax
mov rcx, qword [rsp + 0x80]
mov rcx, qword [rcx + 0x10]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 0x3a4], eax
cmp dword [rsp + 0x3a4], 0
jbe 0x18007fb9b
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x80], rax
mov eax, dword [rsp + 0x3a4]
dec eax
mov dword [rsp + 0x100], eax
jmp 0x18007fa1c
mov rcx, qword [rsp + 0x80]
call fcn.18007c8c0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x18007fbb8
jmp 0x180087f2b
jmp 0x18007fbed
mov rcx, qword [rsp + 0x5b0]
call fcn.180036080
test eax, eax
je 0x18007fbed
mov rcx, qword [rsp + 0x80]
call fcn.18007c870
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x18007fbe8
jmp 0x180087f2b
jmp 0x18007fa1c
mov rcx, qword [rsp + 0x5b0]
call fcn.180037520
mov rcx, qword [rsp + 0x80]
mov dword [rcx + 0x68], eax
mov rax, qword [rsp + 0x80]
add rax, 0x6c
mov rdx, rax
mov rcx, qword [rsp + 0x5b0]
call fcn.1800374f0
mov rcx, qword [rsp + 0x80]
mov qword [rcx + 0x60], rax
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xc10]
mov ecx, dword [rcx + 0x2c]
mov dword [rax + 0x20], ecx
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
mov rcx, qword [rcx + 0x60]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x3a0], eax
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x160]
mov edx, dword [rsp + 0x3a0]
mov dword [rcx + rax], edx
cmp dword [rsp + 0x3a0], 0x80
jae 0x18007fc9c
mov rax, qword [rsp + 0x80]
mov dword [rax + 0x40], 1
jmp 0x18007fcc3
mov rdx, qword [rsp + 0x160]
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax + 0x60]
call fcn.18006db30
movzx eax, al
mov rcx, qword [rsp + 0x80]
mov dword [rcx + 0x40], eax
xor eax, eax
mov rcx, qword [rsp + 0x80]
mov word [rcx + 0x4a], ax
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x160]
mov eax, dword [rdx + rax]
cmp dword [rcx + 0x6c], eax
jae 0x18007fd53
mov rax, qword [rsp + 0x80]
mov qword [rax + 0x60], 0
mov rax, qword [rsp + 0x80]
mov dword [rax + 0x6c], 0
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x160]
cmp dword [rcx + rax], 0x18003
ja 0x18007fd4c
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x160]
mov rdx, qword [rsp + 0x80]
mov edx, dword [rdx + 0x68]
cmp dword [rcx + rax], edx
jbe 0x18007fd51
jmp 0x1800804ea
jmp 0x18007fd6c
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 0x60]
mov qword [rsp + 0x268], rax
jmp 0x18007fe6a
jmp 0x18007fda5
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax + 0x30]
call fcn.180036080
test eax, eax
je 0x18007fda5
mov rcx, qword [rsp + 0x80]
call fcn.18007c870
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x18007fda0
jmp 0x180087f2b
jmp 0x18007fa1c
mov rax, qword [rsp + 0x80]
movzx eax, word [rax + 0x4a]
cmp eax, dword [rsp + 0x100]
ja 0x1800801a1
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x160]
mov eax, dword [rdx + rax]
cmp dword [rcx + 0x40], eax
jae 0x180080121
mov rax, qword [rsp + 0x80]
cmp qword [rax + 0x60], 0
jne 0x18007fe56
mov r8d, 0x38
xor edx, edx
lea rcx, [rsp + 0xaf0]
call fcn.18014b5d0
mov eax, 4
imul rax, rax, 0
lea r8, [rsp + 0xaf0]
mov rcx, qword [rsp + 0x160]
mov edx, dword [rcx + rax]
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax + 0x30]
call fcn.18008a950
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x18007fe44
jmp 0x180087f2b
mov rax, qword [rsp + 0xaf8]
mov qword [rsp + 0x268], rax
jmp 0x18007fe6a
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 0x60]
mov qword [rsp + 0x268], rax
mov rax, qword [rsp + 0x80]
movzx eax, word [rax + 0x4a]
mov dword [rsp + 0x10c], eax
movsxd rax, dword [rsp + 0x10c]
mov rcx, qword [rsp + 0x160]
mov eax, dword [rcx + rax*4]
mov qword [rsp + 0x2a0], rax
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 0x40]
mov rcx, qword [rsp + 0x268]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1f0], rax
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x160]
mov eax, dword [rcx + rax]
mov rcx, qword [rsp + 0x268]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x488], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x1f0]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0xa0], eax
movsxd rax, dword [rsp + 0x10c]
mov rcx, qword [rsp + 0x80]
mov edx, dword [rsp + 0xa0]
mov dword [rcx + rax*4 + 0x70], edx
cmp dword [rsp + 0xa0], 0x80
jae 0x18007ff62
mov rax, qword [rsp + 0x1f0]
inc rax
mov qword [rsp + 0x1f0], rax
movzx ecx, byte [rsp + 0xa0]
call fcn.18007c9b0
movzx eax, al
mov rcx, qword [rsp + 0x2a0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x2a0], rax
jmp 0x18007ffcf
lea rdx, [rsp + 0xa0]
mov rcx, qword [rsp + 0x1f0]
call fcn.18006db30
movzx eax, al
mov rcx, qword [rsp + 0x1f0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1f0], rax
movsxd rax, dword [rsp + 0x10c]
mov rcx, qword [rsp + 0x80]
mov edx, dword [rsp + 0xa0]
mov dword [rcx + rax*4 + 0x70], edx
mov ecx, dword [rsp + 0xa0]
call fcn.18007c970
mov eax, eax
mov rcx, qword [rsp + 0x2a0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x2a0], rax
mov eax, dword [rsp + 0x10c]
inc eax
mov dword [rsp + 0x10c], eax
mov eax, 0xffffffff
mov rcx, qword [rsp + 0x2a0]
and rcx, rax
mov rax, rcx
movsxd rcx, dword [rsp + 0x10c]
mov rdx, qword [rsp + 0x160]
mov dword [rdx + rcx*4], eax
mov eax, dword [rsp + 0x100]
cmp dword [rsp + 0x10c], eax
ja 0x18008002b
mov rax, qword [rsp + 0x488]
cmp qword [rsp + 0x1f0], rax
jb 0x18007fee3
mov rax, qword [rsp + 0x488]
cmp qword [rsp + 0x1f0], rax
jb 0x180080064
mov rax, qword [rsp + 0x488]
cmp qword [rsp + 0x1f0], rax
ja 0x180080079
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 0x68]
cmp qword [rsp + 0x2a0], rax
jne 0x180080079
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 0x68]
cmp qword [rsp + 0x2a0], rax
jbe 0x1800800ce
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x160]
cmp dword [rcx + rax], 0
jne 0x1800800ad
mov dword [rsp + 0x10c], 0
mov rax, qword [rsp + 0x488]
mov qword [rsp + 0x1f0], rax
jmp 0x1800800ce
mov rax, qword [rsp + 0x80]
cmp qword [rax + 0x60], 0
jne 0x1800800c9
lea rcx, [rsp + 0xaf0]
call fcn.18008a9e0
jmp 0x1800804ea
mov rax, qword [rsp + 0x80]
movzx ecx, word [rsp + 0x10c]
mov word [rax + 0x4a], cx
mov rax, qword [rsp + 0x268]
mov rcx, qword [rsp + 0x1f0]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x80]
mov dword [rcx + 0x40], eax
mov rax, qword [rsp + 0x80]
cmp qword [rax + 0x60], 0
jne 0x18008011f
lea rcx, [rsp + 0xaf0]
call fcn.18008a9e0
jmp 0x18008012c
mov dword [rsp + 0xa0], 0
mov rax, qword [rsp + 0x80]
movzx eax, word [rax + 0x4a]
cmp eax, dword [rsp + 0x100]
ja 0x18008019f
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x38]
movsx eax, byte [rax + 1]
cmp eax, 0xfffffff6
jne 0x18008018d
mov r8d, 0x2000
mov rax, qword [rsp + 0x38]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rsp + 0xe0]
call fcn.180089980
jmp 0x18008019a
mov rcx, qword [rsp + 0xe0]
call fcn.180089f90
jmp 0x1800804e5
jmp 0x1800801bb
mov eax, dword [rsp + 0x100]
mov rcx, qword [rsp + 0x80]
mov eax, dword [rcx + rax*4 + 0x70]
mov dword [rsp + 0xa0], eax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0xe0]
movzx eax, word [rax + 0x14]
and eax, 0x9000
test eax, eax
je 0x1800801fd
mov rcx, qword [rsp + 0xe0]
call fcn.180089f90
mov eax, dword [rsp + 0x100]
inc eax
mov eax, eax
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x160]
mov eax, dword [rdx + rax*4]
cmp dword [rcx + 0x6c], eax
jb 0x1800803ba
mov eax, dword [rsp + 0x100]
mov rcx, qword [rsp + 0x160]
mov eax, dword [rcx + rax*4]
mov rcx, qword [rsp + 0x80]
add rax, qword [rcx + 0x60]
mov qword [rsp + 0x268], rax
cmp dword [rsp + 0xa0], 0xc
jae 0x180080275
mov r8, qword [rsp + 0xe0]
mov edx, dword [rsp + 0xa0]
mov rcx, qword [rsp + 0x268]
call fcn.18007c9d0
jmp 0x1800803b5
mov eax, dword [rsp + 0xa0]
sub eax, 0xc
xor edx, edx
mov ecx, 2
div ecx
mov dword [rsp + 0xec], eax
mov rax, qword [rsp + 0xe0]
mov ecx, dword [rsp + 0xec]
mov dword [rax + 0x10], ecx
mov rax, qword [rsp + 0xe0]
movzx ecx, byte [rsp + 0x48]
mov byte [rax + 0x16], cl
mov eax, dword [rsp + 0xec]
add eax, 2
mov rcx, qword [rsp + 0xe0]
cmp dword [rcx + 0x20], eax
jge 0x180080323
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x40]
mov eax, dword [rcx + rax + 0x88]
cmp dword [rsp + 0xec], eax
jle 0x1800802eb
jmp 0x18008815a
mov eax, 1
mov rcx, qword [rsp + 0xe0]
mov word [rcx + 0x14], ax
mov eax, dword [rsp + 0xec]
add eax, 2
xor r8d, r8d
mov edx, eax
mov rcx, qword [rsp + 0xe0]
call fcn.18008abe0
test eax, eax
je 0x180080321
jmp 0x18008817b
jmp 0x18008033b
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xe0]
mov rcx, qword [rcx + 0x28]
mov qword [rax + 8], rcx
movsxd rax, dword [rsp + 0xec]
mov r8, rax
mov rdx, qword [rsp + 0x268]
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rax + 8]
call fcn.18014af30
movsxd rax, dword [rsp + 0xec]
mov rcx, qword [rsp + 0xe0]
mov rcx, qword [rcx + 8]
mov byte [rcx + rax], 0
mov eax, dword [rsp + 0xec]
inc eax
cdqe
mov rcx, qword [rsp + 0xe0]
mov rcx, qword [rcx + 8]
mov byte [rcx + rax], 0
mov eax, dword [rsp + 0xa0]
and eax, 1
mov eax, eax
lea rcx, [0x18014e13c]
mov rdx, qword [rsp + 0xe0]
movzx eax, word [rcx + rax*2]
mov word [rdx + 0x14], ax
jmp 0x1800804e5
mov rax, qword [rsp + 0xe0]
movzx ecx, byte [rsp + 0x48]
mov byte [rax + 0x16], cl
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 0xc0
test eax, eax
je 0x180080406
cmp dword [rsp + 0xa0], 0xc
jb 0x1800803f4
mov eax, dword [rsp + 0xa0]
and eax, 1
test eax, eax
je 0x180080423
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 0x80
test eax, eax
jne 0x180080423
mov ecx, dword [rsp + 0xa0]
call fcn.18007c970
mov dword [rsp + 0xec], eax
cmp dword [rsp + 0xec], 0
jne 0x180080443
mov r8, qword [rsp + 0xe0]
mov edx, dword [rsp + 0xa0]
lea rcx, [0x180153270]
call fcn.18007c9d0
jmp 0x1800804e5
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x40]
mov eax, dword [rcx + rax + 0x88]
cmp dword [rsp + 0xec], eax
jle 0x180080466
jmp 0x18008815a
mov eax, dword [rsp + 0x100]
mov r9, qword [rsp + 0xe0]
mov r8d, dword [rsp + 0xec]
mov rcx, qword [rsp + 0x160]
mov edx, dword [rcx + rax*4]
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax + 0x30]
call fcn.18008a870
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x1800804a9
jmp 0x180087f2b
mov r8, qword [rsp + 0xe0]
mov edx, dword [rsp + 0xa0]
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rax + 8]
call fcn.18007c9d0
mov rax, qword [rsp + 0xe0]
movzx eax, word [rax + 0x14]
btr eax, 0xe
mov rcx, qword [rsp + 0xe0]
mov word [rcx + 0x14], ax
jmp case.0x18007d2bd.88
mov eax, 0x18
imul rax, rax, 0
mov rcx, qword [rsp + 0xb8]
cmp dword [rcx + rax + 0xc], 0
jle 0x180080539
mov eax, 0x18
imul rax, rax, 0
mov rcx, qword [rsp + 0xb8]
mov eax, dword [rcx + rax + 0xc]
dec eax
cdqe
imul rax, rax, 0x18
mov rcx, qword [rsp + 0xb8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
jmp case.0x18007d2bd.88
mov ecx, 0x1638f
call fcn.180040c80
mov dword [rsp + 0x30], eax
jmp 0x180087f2b
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x5b8], rax
mov rax, qword [rsp + 0x5b8]
mov rax, qword [rax + 8]
mov qword [rsp + 0x348], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x104], 0
jmp 0x1800805ab
mov eax, dword [rsp + 0x104]
inc eax
mov dword [rsp + 0x104], eax
mov rax, qword [rsp + 0x5b8]
movsx eax, word [rax + 0x36]
cmp dword [rsp + 0x104], eax
jge 0x1800807d7
movsxd rax, dword [rsp + 0x104]
imul rax, rax, 0x18
mov rcx, qword [rsp + 0x348]
movzx eax, word [rcx + rax + 0x12]
and eax, 0x60
test eax, eax
je 0x180080624
movsxd rax, dword [rsp + 0x104]
imul rax, rax, 0x18
mov rcx, qword [rsp + 0x348]
movzx eax, word [rcx + rax + 0x12]
and eax, 0x20
test eax, eax
je 0x180080606
jmp 0x18008059b
mov rax, qword [rsp + 0x38]
cmp dword [rax + 0xc], 0
je 0x180080624
mov rax, qword [rsp + 0x50]
add rax, 0x38
mov qword [rsp + 0x50], rax
jmp 0x18008059b
movsxd rax, dword [rsp + 0x104]
imul rax, rax, 0x18
movzx r8d, byte [rsp + 0x48]
mov rcx, qword [rsp + 0x348]
movzx edx, byte [rcx + rax + 0xc]
mov rcx, qword [rsp + 0x50]
call fcn.1800b6da0
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
and eax, 1
test eax, eax
jne 0x1800807c4
movsxd rax, dword [rsp + 0x104]
imul rax, rax, 0x18
mov rcx, qword [rsp + 0x348]
mov eax, dword [rcx + rax + 8]
shr eax, 4
and eax, 0xf
mov dword [rsp + 0x200], eax
cmp dword [rsp + 0x200], 2
je 0x1800806bd
cmp dword [rsp + 0x200], 3
je 0x1800806d7
cmp dword [rsp + 0x200], 4
je 0x1800806d7
cmp dword [rsp + 0x200], 5
je 0x18008070b
cmp dword [rsp + 0x200], 6
je 0x1800806f1
jmp 0x1800807c4
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
and eax, 0x10
test eax, eax
jne 0x1800806d2
jmp 0x1800807dc
jmp 0x1800807c4
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
and eax, 4
test eax, eax
jne 0x1800806ec
jmp 0x1800807dc
jmp 0x1800807c4
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
and eax, 2
test eax, eax
jne 0x180080706
jmp 0x1800807dc
jmp 0x1800807c4
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
and eax, 4
test eax, eax
je 0x1800807b2
mov rax, qword [rsp + 0x50]
movabs rcx, 0x7fffffffffff
cmp qword [rax], rcx
jg 0x180080773
mov rax, qword [rsp + 0x50]
movabs rcx, 0xffff800000000000
cmp qword [rax], rcx
jl 0x180080773
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
or eax, 0x20
mov rcx, qword [rsp + 0x50]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
and eax, 0xfffffffb
mov rcx, qword [rsp + 0x50]
mov word [rcx + 0x14], ax
jmp 0x1800807b0
mov rax, qword [rsp + 0x50]
cvtsi2sd xmm0, qword [rax]
mov rax, qword [rsp + 0x50]
movsd qword [rax], xmm0
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
or eax, 8
mov rcx, qword [rsp + 0x50]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
and eax, 0xfffffffb
mov rcx, qword [rsp + 0x50]
mov word [rcx + 0x14], ax
jmp 0x1800807c4
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
and eax, 0x28
test eax, eax
jne 0x1800807c4
jmp 0x1800807dc
mov rax, qword [rsp + 0x50]
add rax, 0x38
mov qword [rsp + 0x50], rax
jmp 0x18008059b
jmp case.0x18007d2bd.88
movsxd rax, dword [rsp + 0x104]
imul rax, rax, 0x18
mov qword [rsp + 0x830], rax
movsxd rcx, dword [rsp + 0x104]
imul rcx, rcx, 0x18
mov rdx, qword [rsp + 0x348]
mov ecx, dword [rdx + rcx + 8]
shr ecx, 4
and ecx, 0xf
dec ecx
mov ecx, ecx
mov qword [rsp + 0x840], rcx
lea rdx, [0x1801707a0]
mov qword [rsp + 0x838], rdx
mov rcx, qword [rsp + 0x50]
call fcn.1800b71d0
mov rcx, qword [rsp + 0x348]
mov rdx, qword [rsp + 0x830]
mov rcx, qword [rcx + rdx]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rsp + 0x5b8]
mov rcx, qword [rcx]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x838]
mov rdx, qword [rsp + 0x840]
mov r9, qword [rcx + rdx*8]
mov r8, rax
lea rdx, str.cannot_store__s_value_in__s_column__s._s
mov rcx, qword [rsp + 0xc10]
call fcn.18007c710
mov dword [rsp + 0x30], 0xc13
jmp 0x180087f2b
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x378], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
xor eax, eax
cmp eax, 1
je 0x1800809f6
mov eax, 1
imul rax, rax, 0
movzx r8d, byte [rsp + 0x48]
mov rcx, qword [rsp + 0x378]
movzx edx, byte [rcx + rax]
mov rcx, qword [rsp + 0x50]
call fcn.1800b6da0
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x378]
movsx eax, byte [rcx + rax]
cmp eax, 0x45
jne 0x1800809b5
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
and eax, 4
test eax, eax
je 0x1800809b5
mov rax, qword [rsp + 0x50]
movabs rcx, 0x7fffffffffff
cmp qword [rax], rcx
jg 0x180080978
mov rax, qword [rsp + 0x50]
movabs rcx, 0xffff800000000000
cmp qword [rax], rcx
jl 0x180080978
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
or eax, 0x20
mov rcx, qword [rsp + 0x50]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
and eax, 0xfffffffb
mov rcx, qword [rsp + 0x50]
mov word [rcx + 0x14], ax
jmp 0x1800809b5
mov rax, qword [rsp + 0x50]
cvtsi2sd xmm0, qword [rax]
mov rax, qword [rsp + 0x50]
movsd qword [rax], xmm0
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
or eax, 8
mov rcx, qword [rsp + 0x50]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
and eax, 0xfffffffb
mov rcx, qword [rsp + 0x50]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x378]
inc rax
mov qword [rsp + 0x378], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x378]
movsx eax, byte [rcx + rax]
test eax, eax
jne 0x1800809e3
jmp 0x1800809f6
mov rax, qword [rsp + 0x50]
add rax, 0x38
mov qword [rsp + 0x50], rax
jmp 0x1800808c2
jmp case.0x18007d2bd.88
mov qword [rsp + 0x110], 0
mov dword [rsp + 0x8c], 0
mov qword [rsp + 0x338], 0
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 4]
mov dword [rsp + 0x2c4], eax
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x340], rax
movsxd rax, dword [rsp + 0x2c4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x498], rax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
mov dword [rsp + 0x2c4], eax
mov eax, dword [rsp + 0x2c4]
dec eax
cdqe
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x498]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x6b0], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
cmp qword [rsp + 0x340], 0
je 0x180080b81
mov rax, qword [rsp + 0x498]
mov qword [rsp + 0x70], rax
mov eax, 1
imul rax, rax, 0
movzx r8d, byte [rsp + 0x48]
mov rcx, qword [rsp + 0x340]
movzx edx, byte [rcx + rax]
mov rcx, qword [rsp + 0x70]
call fcn.1800b6da0
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x340]
movsx eax, byte [rcx + rax]
cmp eax, 0x45
jne 0x180080b43
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 0x14]
and eax, 4
test eax, eax
je 0x180080b43
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 0x14]
or eax, 0x20
mov rcx, qword [rsp + 0x70]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 0x14]
and eax, 0xfffffffb
mov rcx, qword [rsp + 0x70]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x340]
inc rax
mov qword [rsp + 0x340], rax
mov rax, qword [rsp + 0x70]
add rax, 0x38
mov qword [rsp + 0x70], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x340]
movsx eax, byte [rcx + rax]
test eax, eax
jne 0x180080aca
mov rax, qword [rsp + 0x6b0]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 0x14]
and eax, 1
test eax, eax
je 0x180080bdf
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 0x14]
and eax, 0x400
test eax, eax
je 0x180080bbe
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x24], 0xa
jmp 0x180080bca
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x24], 0
mov eax, dword [rsp + 0x8c]
inc eax
mov dword [rsp + 0x8c], eax
jmp 0x180080f61
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 0x14]
and eax, 0x24
test eax, eax
je 0x180080dff
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
mov qword [rsp + 0x370], rax
cmp qword [rsp + 0x370], 0
jge 0x180080c23
mov rax, qword [rsp + 0x370]
not rax
mov qword [rsp + 0x318], rax
jmp 0x180080c33
mov rax, qword [rsp + 0x370]
mov qword [rsp + 0x318], rax
mov eax, dword [rsp + 0x8c]
inc eax
mov dword [rsp + 0x8c], eax
cmp qword [rsp + 0x318], 0x7f
ja 0x180080cb0
mov rax, qword [rsp + 0x370]
and rax, 1
cmp rax, qword [rsp + 0x370]
jne 0x180080c8c
mov rax, qword [rsp + 0xc10]
movzx eax, byte [rax + 0xc3]
cmp eax, 4
jl 0x180080c8c
mov eax, dword [rsp + 0x318]
add eax, 8
mov rcx, qword [rsp + 0x70]
mov dword [rcx + 0x24], eax
jmp 0x180080cab
mov rax, qword [rsp + 0x110]
inc rax
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x24], 1
jmp 0x180080dfa
cmp qword [rsp + 0x318], 0x7fff
ja 0x180080ce3
mov rax, qword [rsp + 0x110]
add rax, 2
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x24], 2
jmp 0x180080dfa
cmp qword [rsp + 0x318], 0x7fffff
ja 0x180080d16
mov rax, qword [rsp + 0x110]
add rax, 3
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x24], 3
jmp 0x180080dfa
cmp qword [rsp + 0x318], 0x7fffffff
ja 0x180080d49
mov rax, qword [rsp + 0x110]
add rax, 4
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x24], 4
jmp 0x180080dfa
movabs rax, 0x7fffffffffff
cmp qword [rsp + 0x318], rax
ja 0x180080d7f
mov rax, qword [rsp + 0x110]
add rax, 6
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x24], 5
jmp 0x180080dfa
mov rax, qword [rsp + 0x110]
add rax, 8
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 0x14]
and eax, 0x20
test eax, eax
je 0x180080dee
mov rax, qword [rsp + 0x70]
cvtsi2sd xmm0, qword [rax]
mov rax, qword [rsp + 0x70]
movsd qword [rax], xmm0
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 0x14]
and eax, 0xffffffdf
mov rcx, qword [rsp + 0x70]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 0x14]
or eax, 8
mov rcx, qword [rsp + 0x70]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x24], 7
jmp 0x180080dfa
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x24], 6
jmp 0x180080f61
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 0x14]
and eax, 8
test eax, eax
je 0x180080e44
mov eax, dword [rsp + 0x8c]
inc eax
mov dword [rsp + 0x8c], eax
mov rax, qword [rsp + 0x110]
add rax, 8
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x24], 7
jmp 0x180080f61
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x17c], eax
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 0x14]
and eax, 2
test eax, eax
je 0x180080e70
mov dword [rsp + 0x394], 1
jmp 0x180080e7b
mov dword [rsp + 0x394], 0
mov eax, dword [rsp + 0x394]
mov ecx, dword [rsp + 0x17c]
lea eax, [rax + rcx*2 + 0xc]
mov dword [rsp + 0xc4], eax
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 0x14]
and eax, 0x400
test eax, eax
je 0x180080f15
mov rax, qword [rsp + 0x70]
mov eax, dword [rax]
mov ecx, dword [rsp + 0xc4]
lea eax, [rcx + rax*2]
mov dword [rsp + 0xc4], eax
cmp qword [rsp + 0x110], 0
je 0x180080ef7
mov rcx, qword [rsp + 0x70]
call fcn.18008ce10
test eax, eax
je 0x180080edc
jmp 0x18008817b
mov rax, qword [rsp + 0x70]
mov eax, dword [rax]
mov ecx, dword [rsp + 0x17c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x17c], eax
jmp 0x180080f15
mov rax, qword [rsp + 0x70]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x338]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x338], rax
mov eax, dword [rsp + 0x17c]
mov rcx, qword [rsp + 0x110]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x110], rax
mov eax, dword [rsp + 0xc4]
mov ecx, eax
call fcn.18006dc70
mov ecx, dword [rsp + 0x8c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x8c], eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0xc4]
mov dword [rax + 0x24], ecx
mov rax, qword [rsp + 0x498]
cmp qword [rsp + 0x70], rax
jne 0x180080f72
jmp 0x180080f8b
mov rax, qword [rsp + 0x70]
sub rax, 0x38
mov qword [rsp + 0x70], rax
xor eax, eax
cmp eax, 1
jne 0x180080b8e
cmp dword [rsp + 0x8c], 0x7e
jg 0x180080fa7
mov eax, dword [rsp + 0x8c]
inc eax
mov dword [rsp + 0x8c], eax
jmp 0x180081000
movsxd rax, dword [rsp + 0x8c]
mov rcx, rax
call fcn.18006dc70
mov dword [rsp + 0x400], eax
mov eax, dword [rsp + 0x400]
mov ecx, dword [rsp + 0x8c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x8c], eax
movsxd rax, dword [rsp + 0x8c]
mov rcx, rax
call fcn.18006dc70
cmp dword [rsp + 0x400], eax
jge 0x180081000
mov eax, dword [rsp + 0x8c]
inc eax
mov dword [rsp + 0x8c], eax
movsxd rax, dword [rsp + 0x8c]
add rax, qword [rsp + 0x110]
mov qword [rsp + 0x490], rax
mov rax, qword [rsp + 0x338]
mov rcx, qword [rsp + 0x490]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x58]
movsxd rcx, dword [rcx + 0x20]
cmp rax, rcx
jg 0x180081050
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 0x28]
mov qword [rax + 8], rcx
jmp 0x1800810a0
mov rax, qword [rsp + 0x338]
mov rcx, qword [rsp + 0x490]
add rcx, rax
mov rax, rcx
mov ecx, 4
imul rcx, rcx, 0
mov rdx, qword [rsp + 0x40]
movsxd rcx, dword [rdx + rcx + 0x88]
cmp rax, rcx
jle 0x180081086
jmp 0x18008815a
mov edx, dword [rsp + 0x490]
mov rcx, qword [rsp + 0x58]
call fcn.18008ae00
test eax, eax
je 0x1800810a0
jmp 0x18008817b
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x490]
mov dword [rax + 0x10], ecx
mov eax, 0x10
mov rcx, qword [rsp + 0x58]
mov word [rcx + 0x14], ax
cmp qword [rsp + 0x338], 0
je 0x1800810ec
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x338]
mov dword [rax], ecx
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 0x14]
bts eax, 0xa
mov rcx, qword [rsp + 0x58]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 8]
mov qword [rsp + 0x130], rax
movsxd rax, dword [rsp + 0x8c]
mov rcx, qword [rsp + 0x130]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x250], rax
cmp dword [rsp + 0x8c], 0x80
jge 0x18008114f
mov rax, qword [rsp + 0x130]
movzx ecx, byte [rsp + 0x8c]
mov byte [rax], cl
mov rax, qword [rsp + 0x130]
inc rax
mov qword [rsp + 0x130], rax
jmp 0x18008117f
movsxd rax, dword [rsp + 0x8c]
mov rdx, rax
mov rcx, qword [rsp + 0x130]
call fcn.18006d5f0
cdqe
mov rcx, qword [rsp + 0x130]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0x498]
mov qword [rsp + 0x70], rax
xor eax, eax
cmp eax, 1
je 0x1800813e9
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x24]
mov dword [rsp + 0xc4], eax
cmp dword [rsp + 0xc4], 7
ja 0x1800812c1
mov rax, qword [rsp + 0x130]
movzx ecx, byte [rsp + 0xc4]
mov byte [rax], cl
mov rax, qword [rsp + 0x130]
inc rax
mov qword [rsp + 0x130], rax
cmp dword [rsp + 0xc4], 0
jne 0x1800811e8
jmp 0x1800812bc
cmp dword [rsp + 0xc4], 7
jne 0x18008120f
mov rax, qword [rsp + 0x70]
mov r8d, 8
mov rdx, rax
lea rcx, [rsp + 0x4a0]
call fcn.18014af30
jmp 0x18008121f
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
mov qword [rsp + 0x4a0], rax
mov eax, dword [rsp + 0xc4]
lea rcx, [0x18014d580]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x1fc], eax
mov eax, dword [rsp + 0x1fc]
mov dword [rsp + 0x17c], eax
xor eax, eax
cmp eax, 1
je 0x18008129f
mov eax, dword [rsp + 0x1fc]
dec eax
mov dword [rsp + 0x1fc], eax
mov rax, qword [rsp + 0x4a0]
and rax, 0xff
mov ecx, dword [rsp + 0x1fc]
mov rdx, qword [rsp + 0x250]
mov byte [rdx + rcx], al
cmp dword [rsp + 0x1fc], 0
jne 0x180081289
jmp 0x18008129f
mov rax, qword [rsp + 0x4a0]
shr rax, 8
mov qword [rsp + 0x4a0], rax
jmp 0x180081246
mov eax, dword [rsp + 0x17c]
mov rcx, qword [rsp + 0x250]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x250], rax
jmp 0x1800813c5
cmp dword [rsp + 0xc4], 0x80
jae 0x18008134b
mov rax, qword [rsp + 0x130]
movzx ecx, byte [rsp + 0xc4]
mov byte [rax], cl
mov rax, qword [rsp + 0x130]
inc rax
mov qword [rsp + 0x130], rax
cmp dword [rsp + 0xc4], 0xe
jb 0x180081349
mov rax, qword [rsp + 0x70]
cmp dword [rax + 0x10], 0
jle 0x180081349
mov rax, qword [rsp + 0x70]
movsxd rax, dword [rax + 0x10]
mov r8, rax
mov rax, qword [rsp + 0x70]
mov rdx, qword [rax + 8]
mov rcx, qword [rsp + 0x250]
call fcn.18014af30
mov rax, qword [rsp + 0x70]
movsxd rax, dword [rax + 0x10]
mov rcx, qword [rsp + 0x250]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x250], rax
jmp 0x1800813c5
mov eax, dword [rsp + 0xc4]
mov edx, eax
mov rcx, qword [rsp + 0x130]
call fcn.18006d5f0
cdqe
mov rcx, qword [rsp + 0x130]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0x70]
cmp dword [rax + 0x10], 0
je 0x1800813c5
mov rax, qword [rsp + 0x70]
movsxd rax, dword [rax + 0x10]
mov r8, rax
mov rax, qword [rsp + 0x70]
mov rdx, qword [rax + 8]
mov rcx, qword [rsp + 0x250]
call fcn.18014af30
mov rax, qword [rsp + 0x70]
movsxd rax, dword [rax + 0x10]
mov rcx, qword [rsp + 0x250]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x250], rax
mov rax, qword [rsp + 0x6b0]
cmp qword [rsp + 0x70], rax
jne 0x1800813d6
jmp 0x1800813e9
mov rax, qword [rsp + 0x70]
add rax, 0x38
mov qword [rsp + 0x70], rax
jmp 0x18008118c
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x6b8], rax
mov rax, qword [rsp + 0x38]
cmp dword [rax + 0xc], 0
je 0x180081435
mov rcx, qword [rsp + 0x6b8]
call fcn.180037b70
mov qword [rsp + 0x5c0], rax
jmp 0x18008146b
mov qword [rsp + 0x5c0], 0
lea r8, [rsp + 0x5c0]
mov rdx, qword [rsp + 0x6b8]
mov rcx, qword [rsp + 0x40]
call fcn.180037fe0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x18008146b
jmp 0x180087f2b
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xc10]
call fcn.1800b7030
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x5c0]
mov qword [rax], rcx
jmp 0x18007d2e2
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 4]
mov dword [rsp + 0x11c], eax
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x4a8], rax
cmp dword [rsp + 0x11c], 0
jne 0x18008164f
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0xe0], 0
jle 0x1800814f4
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, qword [rsp + 0xc10]
call fcn.18007c710
mov dword [rsp + 0x30], 5
jmp 0x18008164a
mov rcx, qword [rsp + 0x4a8]
call fcn.180040e00
mov dword [rsp + 0x390], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x2ec]
mov rcx, qword [rsp + 0x40]
add eax, dword [rcx + 0x2e8]
mov r8d, eax
xor edx, edx
mov rcx, qword [rsp + 0x40]
call fcn.1800772c0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x18008153d
jmp 0x180087f2b
movsxd rax, dword [rsp + 0x390]
add rax, 0x21
mov rdx, rax
mov rcx, qword [rsp + 0x40]
call fcn.180041100
mov qword [rsp + 0x280], rax
cmp qword [rsp + 0x280], 0
je 0x18008164a
mov eax, 0x20
imul rax, rax, 1
mov rcx, qword [rsp + 0x280]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x280]
mov qword [rcx], rax
mov eax, dword [rsp + 0x390]
inc eax
cdqe
mov r8, rax
mov rdx, qword [rsp + 0x4a8]
mov rax, qword [rsp + 0x280]
mov rcx, qword [rax]
call fcn.18014af30
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x65]
test eax, eax
je 0x1800815d6
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x65], 0
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x6d], 1
jmp 0x1800815ee
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x2e8]
inc eax
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x2e8], eax
mov rax, qword [rsp + 0x280]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x2d8]
mov qword [rax + 0x18], rcx
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x280]
mov qword [rax + 0x2d8], rcx
mov rax, qword [rsp + 0x280]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x2f0]
mov qword [rax + 8], rcx
mov rax, qword [rsp + 0x280]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x2f8]
mov qword [rax + 0x10], rcx
jmp 0x180081b1f
mov dword [rsp + 0x180], 0
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x2d8]
mov qword [rsp + 0x1a8], rax
jmp 0x180081684
mov rax, qword [rsp + 0x1a8]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x1a8], rax
cmp qword [rsp + 0x1a8], 0
je 0x1800816bd
mov rdx, qword [rsp + 0x4a8]
mov rax, qword [rsp + 0x1a8]
mov rcx, qword [rax]
call fcn.180040d50
test eax, eax
je 0x1800816bd
mov eax, dword [rsp + 0x180]
inc eax
mov dword [rsp + 0x180], eax
jmp 0x180081670
cmp qword [rsp + 0x1a8], 0
jne 0x1800816f1
mov r8, qword [rsp + 0x4a8]
lea rdx, str.no_such_savepoint:__s
mov rcx, qword [rsp + 0xc10]
call fcn.18007c710
mov dword [rsp + 0x30], 1
jmp 0x180081b1f
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0xe0], 0
jle 0x18008172a
cmp dword [rsp + 0x11c], 1
jne 0x18008172a
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, qword [rsp + 0xc10]
call fcn.18007c710
mov dword [rsp + 0x30], 5
jmp 0x180081b1f
mov rax, qword [rsp + 0x1a8]
cmp qword [rax + 0x18], 0
jne 0x180081753
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x6d]
test eax, eax
je 0x180081753
mov dword [rsp + 0x398], 1
jmp 0x18008175e
mov dword [rsp + 0x398], 0
mov eax, dword [rsp + 0x398]
mov dword [rsp + 0x2cc], eax
cmp dword [rsp + 0x2cc], 0
je 0x180081841
cmp dword [rsp + 0x11c], 1
jne 0x180081841
mov edx, 1
mov rcx, qword [rsp + 0xc10]
call fcn.18008c0d0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x1800817aa
jmp 0x180088098
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x65], 1
mov rcx, qword [rsp + 0xc10]
call fcn.180089200
cmp eax, 5
jne 0x180081812
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x38]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, 0x18
idiv rcx
mov rcx, qword [rsp + 0xc10]
mov dword [rcx + 0x30], eax
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x65], 0
mov dword [rsp + 0x30], 5
mov rax, qword [rsp + 0xc10]
mov ecx, dword [rsp + 0x30]
mov dword [rax + 0x34], ecx
jmp 0x180088098
mov rax, qword [rsp + 0xc10]
mov eax, dword [rax + 0x34]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x180081833
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x65], 0
jmp 0x18008183c
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x6d], 0
jmp 0x1800819e0
mov rax, qword [rsp + 0x40]
mov ecx, dword [rsp + 0x180]
mov eax, dword [rax + 0x2e8]
sub eax, ecx
dec eax
mov dword [rsp + 0x180], eax
cmp dword [rsp + 0x11c], 2
jne 0x180081934
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x2c]
and eax, 1
test eax, eax
je 0x180081888
mov dword [rsp + 0x39c], 1
jmp 0x180081893
mov dword [rsp + 0x39c], 0
mov eax, dword [rsp + 0x39c]
mov dword [rsp + 0x2c8], eax
mov dword [rsp + 0x108], 0
jmp 0x1800818be
mov eax, dword [rsp + 0x108]
inc eax
mov dword [rsp + 0x108], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x28]
cmp dword [rsp + 0x108], eax
jge 0x180081932
cmp dword [rsp + 0x2c8], 0
jne 0x1800818e6
mov dword [rsp + 0x3e4], 1
jmp 0x1800818f1
mov dword [rsp + 0x3e4], 0
movsxd rax, dword [rsp + 0x108]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov r8d, dword [rsp + 0x3e4]
mov edx, 0x204
mov rcx, qword [rcx + rax + 8]
call fcn.1800351d0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x18008192d
jmp 0x180087f2b
jmp 0x1800818ae
jmp 0x18008193f
mov dword [rsp + 0x2c8], 0
mov dword [rsp + 0x108], 0
jmp 0x18008195c
mov eax, dword [rsp + 0x108]
inc eax
mov dword [rsp + 0x108], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x28]
cmp dword [rsp + 0x108], eax
jge 0x1800819ad
movsxd rax, dword [rsp + 0x108]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov r8d, dword [rsp + 0x180]
mov edx, dword [rsp + 0x11c]
mov rcx, qword [rcx + rax + 8]
call fcn.180034bd0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x1800819ab
jmp 0x180087f2b
jmp 0x18008194c
cmp dword [rsp + 0x2c8], 0
je 0x1800819e0
xor edx, edx
mov rcx, qword [rsp + 0x40]
call fcn.180071990
mov rcx, qword [rsp + 0x40]
call fcn.18004a070
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x2c]
or eax, 1
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x2c], eax
cmp dword [rsp + 0x30], 0
je 0x1800819ec
jmp 0x180087f2b
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x1a8]
cmp qword [rax + 0x2d8], rcx
je 0x180081a5a
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x2d8]
mov qword [rsp + 0x6c0], rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x6c0]
mov rcx, qword [rcx + 0x18]
mov qword [rax + 0x2d8], rcx
mov rdx, qword [rsp + 0x6c0]
mov rcx, qword [rsp + 0x40]
call fcn.1800417f0
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x2e8]
dec eax
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x2e8], eax
jmp 0x1800819ec
cmp dword [rsp + 0x11c], 1
jne 0x180081ab2
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x1a8]
mov rcx, qword [rcx + 0x18]
mov qword [rax + 0x2d8], rcx
mov rdx, qword [rsp + 0x1a8]
mov rcx, qword [rsp + 0x40]
call fcn.1800417f0
cmp dword [rsp + 0x2cc], 0
jne 0x180081ab0
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x2e8]
dec eax
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x2e8], eax
jmp 0x180081ae2
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x1a8]
mov rcx, qword [rcx + 8]
mov qword [rax + 0x2f0], rcx
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x1a8]
mov rcx, qword [rcx + 0x10]
mov qword [rax + 0x2f8], rcx
cmp dword [rsp + 0x2cc], 0
je 0x180081af6
cmp dword [rsp + 0x11c], 2
jne 0x180081b1f
mov r8d, dword [rsp + 0x180]
mov edx, dword [rsp + 0x11c]
mov rcx, qword [rsp + 0x40]
call fcn.1800772c0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x180081b1f
jmp 0x180087f2b
cmp dword [rsp + 0x30], 0
je 0x180081b2b
jmp 0x180087f2b
mov rax, qword [rsp + 0xc10]
movzx eax, byte [rax + 0xc5]
cmp eax, 3
jne 0x180081b4c
mov dword [rsp + 0x30], 0x65
jmp 0x180088098
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 4]
mov dword [rsp + 0x1ec], eax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
mov dword [rsp + 0x3ec], eax
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x65]
cmp dword [rsp + 0x1ec], eax
je 0x180081cb6
cmp dword [rsp + 0x3ec], 0
je 0x180081ba9
mov edx, 0x204
mov rcx, qword [rsp + 0x40]
call fcn.180063870
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x65], 1
jmp 0x180081c18
cmp dword [rsp + 0x1ec], 0
je 0x180081be4
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0xe0], 0
jle 0x180081be4
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, qword [rsp + 0xc10]
call fcn.18007c710
mov dword [rsp + 0x30], 5
jmp 0x180087f2b
mov edx, 1
mov rcx, qword [rsp + 0xc10]
call fcn.18008c0d0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x180081c08
jmp 0x180088098
mov rax, qword [rsp + 0x40]
movzx ecx, byte [rsp + 0x1ec]
mov byte [rax + 0x65], cl
mov rcx, qword [rsp + 0xc10]
call fcn.180089200
cmp eax, 5
jne 0x180081c82
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x38]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, 0x18
idiv rcx
mov rcx, qword [rsp + 0xc10]
mov dword [rcx + 0x30], eax
mov eax, 1
sub eax, dword [rsp + 0x1ec]
mov rcx, qword [rsp + 0x40]
mov byte [rcx + 0x65], al
mov dword [rsp + 0x30], 5
mov rax, qword [rsp + 0xc10]
mov ecx, dword [rsp + 0x30]
mov dword [rax + 0x34], ecx
jmp 0x180088098
mov rcx, qword [rsp + 0x40]
call fcn.180063de0
mov rax, qword [rsp + 0xc10]
cmp dword [rax + 0x34], 0
jne 0x180081ca4
mov dword [rsp + 0x30], 0x65
jmp 0x180081cac
mov dword [rsp + 0x30], 1
jmp 0x180088098
cmp dword [rsp + 0x1ec], 0
jne 0x180081ccd
mov dword [rsp + 0x3e8], 1
jmp 0x180081cd8
mov dword [rsp + 0x3e8], 0
cmp dword [rsp + 0x3e8], 0
je 0x180081cf3
lea rax, str.cannot_start_a_transaction_within_a_transaction
mov qword [rsp + 0x6d0], rax
jmp 0x180081d2d
cmp dword [rsp + 0x3ec], 0
je 0x180081d0e
lea rax, str.cannot_rollback___no_transaction_is_active
mov qword [rsp + 0x6c8], rax
jmp 0x180081d1d
lea rax, str.cannot_commit___no_transaction_is_active
mov qword [rsp + 0x6c8], rax
mov rax, qword [rsp + 0x6c8]
mov qword [rsp + 0x6d0], rax
mov rdx, qword [rsp + 0x6d0]
mov rcx, qword [rsp + 0xc10]
call fcn.18007c710
mov dword [rsp + 0x30], 1
jmp 0x180087f2b
mov dword [rsp + 0x2d0], 0
mov rax, qword [rsp + 0x38]
cmp dword [rax + 8], 0
je 0x180081dab
mov rax, qword [rsp + 0x40]
movabs rcx, 0x200100000
mov rax, qword [rax + 0x30]
and rax, rcx
test rax, rax
je 0x180081dab
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x30]
and rax, 0x100000
test rax, rax
je 0x180081d9e
mov dword [rsp + 0x30], 8
jmp 0x180081da6
mov dword [rsp + 0x30], 0xb
jmp 0x180087f2b
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
add rax, qword [rcx + 0x20]
mov qword [rsp + 0x6d8], rax
mov rax, qword [rsp + 0x6d8]
mov rax, qword [rax + 8]
mov qword [rsp + 0x5c8], rax
cmp qword [rsp + 0x5c8], 0
je 0x180081f67
lea r8, [rsp + 0x2d0]
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 8]
mov rcx, qword [rsp + 0x5c8]
call fcn.180034160
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x180081e63
mov eax, dword [rsp + 0x30]
and eax, 0xff
cmp eax, 5
jne 0x180081e5e
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x38]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, 0x18
idiv rcx
mov rcx, qword [rsp + 0xc10]
mov dword [rcx + 0x30], eax
mov rax, qword [rsp + 0xc10]
mov ecx, dword [rsp + 0x30]
mov dword [rax + 0x34], ecx
jmp 0x180088098
jmp 0x180087f2b
mov rax, qword [rsp + 0xc10]
mov eax, dword [rax + 0xc8]
shr eax, 5
and eax, 1
test eax, eax
je 0x180081f67
mov rax, qword [rsp + 0x38]
cmp dword [rax + 8], 0
je 0x180081f67
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x65]
test eax, eax
je 0x180081ead
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0xdc], 1
jle 0x180081f67
mov rax, qword [rsp + 0xc10]
cmp dword [rax + 0x40], 0
jne 0x180081ef4
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x2ec]
inc eax
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x2ec], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x2e8]
mov rcx, qword [rsp + 0x40]
add eax, dword [rcx + 0x2ec]
mov rcx, qword [rsp + 0xc10]
mov dword [rcx + 0x40], eax
mov rax, qword [rsp + 0xc10]
mov eax, dword [rax + 0x40]
dec eax
mov r8d, eax
xor edx, edx
mov rcx, qword [rsp + 0x40]
call fcn.1800772c0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
jne 0x180081f37
mov rax, qword [rsp + 0xc10]
mov edx, dword [rax + 0x40]
mov rcx, qword [rsp + 0x5c8]
call fcn.180034930
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0xc10]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x2f0]
mov qword [rax + 0x58], rcx
mov rax, qword [rsp + 0xc10]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x2f8]
mov qword [rax + 0x60], rcx
cmp dword [rsp + 0x30], 0
jne 0x18008204c
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
test eax, eax
je 0x18008204c
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
cmp dword [rsp + 0x2d0], eax
jne 0x180081fb1
mov rax, qword [rsp + 0x6d8]
mov rax, qword [rax + 0x18]
mov rcx, qword [rsp + 0x38]
mov ecx, dword [rcx + 0x10]
cmp dword [rax + 4], ecx
je 0x18008204c
mov rax, qword [rsp + 0xc10]
mov rdx, qword [rax + 0xa8]
mov rcx, qword [rsp + 0x40]
call fcn.1800417f0
lea rdx, str.database_schema_has_changed
mov rcx, qword [rsp + 0x40]
call fcn.180041370
mov rcx, qword [rsp + 0xc10]
mov qword [rcx + 0xa8], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rcx + rax + 0x18]
mov ecx, dword [rsp + 0x2d0]
cmp dword [rax], ecx
je 0x180082022
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x40]
call fcn.18004a170
mov rax, qword [rsp + 0xc10]
mov eax, dword [rax + 0xc8]
and eax, 0xfffffffc
or eax, 1
mov rcx, qword [rsp + 0xc10]
mov dword [rcx + 0xc8], eax
mov dword [rsp + 0x30], 0x11
cmp dword [rsp + 0x30], 0
je 0x180082058
jmp 0x180087f2b
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 4]
mov dword [rsp + 0x568], eax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x564], eax
movsxd rax, dword [rsp + 0x568]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
lea r8, [rsp + 0x560]
mov edx, dword [rsp + 0x564]
mov rcx, qword [rcx + rax + 8]
call fcn.1800352d0
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xc10]
call fcn.1800b7030
mov qword [rsp + 0x58], rax
movsxd rax, dword [rsp + 0x560]
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
add rax, qword [rcx + 0x20]
mov qword [rsp + 0x5d0], rax
mov rax, qword [rsp + 0x38]
mov r8d, dword [rax + 0xc]
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 8]
mov rax, qword [rsp + 0x5d0]
mov rcx, qword [rax + 8]
call fcn.180035370
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x38]
cmp dword [rax + 8], 1
jne 0x18008216e
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
mov rcx, qword [rsp + 0x38]
mov ecx, dword [rcx + 0xc]
sub ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x5d0]
mov rcx, qword [rcx + 0x18]
mov dword [rcx], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x2c]
or eax, 1
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x2c], eax
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x40]
call fcn.18007b080
jmp 0x180082191
mov rax, qword [rsp + 0x38]
cmp dword [rax + 8], 2
jne 0x180082191
mov rax, qword [rsp + 0x5d0]
mov rax, qword [rax + 0x18]
mov rcx, qword [rsp + 0x38]
movzx ecx, byte [rcx + 0xc]
mov byte [rax + 0x70], cl
mov rax, qword [rsp + 0x38]
cmp dword [rax + 4], 1
jne 0x1800821c7
xor edx, edx
mov rcx, qword [rsp + 0x40]
call fcn.180071990
mov rax, qword [rsp + 0xc10]
mov eax, dword [rax + 0xc8]
and eax, 0xfffffffc
mov rcx, qword [rsp + 0xc10]
mov dword [rcx + 0xc8], eax
cmp dword [rsp + 0x30], 0
je 0x1800821d3
jmp 0x180087f2b
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x168], rax
cmp qword [rsp + 0x168], 0
je case.0x18007d2bd.111
mov rax, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x38]
mov ecx, dword [rcx + 8]
cmp dword [rax + 0x44], ecx
jne case.0x18007d2bd.111
mov rax, qword [rsp + 0x168]
mov rcx, qword [rax + 0x30]
call fcn.180037d90
jmp 0x1800824ce
mov rax, qword [rsp + 0xc10]
mov eax, dword [rax + 0xc8]
and eax, 3
cmp eax, 1
jne 0x180082252
mov dword [rsp + 0x30], 0x204
jmp 0x180087f2b
mov dword [rsp + 0x2d4], 0
mov qword [rsp + 0x4b0], 0
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
mov dword [rsp + 0x244], eax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x3f0], eax
movsxd rax, dword [rsp + 0x3f0]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
add rax, qword [rcx + 0x20]
mov qword [rsp + 0x5d8], rax
mov rax, qword [rsp + 0x5d8]
mov rax, qword [rax + 8]
mov qword [rsp + 0x848], rax
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
cmp eax, 0x71
jne 0x18008231e
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 8
or eax, 4
mov dword [rsp + 0x3f4], eax
mov rax, qword [rsp + 0x5d8]
mov rax, qword [rax + 0x18]
movzx eax, byte [rax + 0x70]
mov rcx, qword [rsp + 0xc10]
movzx ecx, byte [rcx + 0xc3]
cmp eax, ecx
jge 0x18008231c
mov rax, qword [rsp + 0x5d8]
mov rax, qword [rax + 0x18]
mov rcx, qword [rsp + 0xc10]
movzx eax, byte [rax + 0x70]
mov byte [rcx + 0xc3], al
jmp 0x180082329
mov dword [rsp + 0x3f4], 0
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 0x10
test eax, eax
je 0x180082375
mov eax, dword [rsp + 0x244]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
call fcn.18008a3d0
mov rax, qword [rsp + 0x98]
mov eax, dword [rax]
mov dword [rsp + 0x244], eax
mov rax, qword [rsp + 0x38]
movsx eax, byte [rax + 1]
cmp eax, 0xfffffff8
jne 0x1800823a9
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x4b0], rax
mov rax, qword [rsp + 0x4b0]
movzx eax, word [rax + 8]
mov dword [rsp + 0x2d4], eax
jmp 0x1800823c6
mov rax, qword [rsp + 0x38]
movsx eax, byte [rax + 1]
cmp eax, 0xfffffffd
jne 0x1800823c6
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x2d4], eax
xor r9d, r9d
mov r8d, dword [rsp + 0x2d4]
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
call fcn.1800b6a00
mov qword [rsp + 0x168], rax
cmp qword [rsp + 0x168], 0
jne 0x1800823fe
jmp 0x18008817b
mov rax, qword [rsp + 0x168]
movzx ecx, byte [rsp + 0x3f0]
mov byte [rax + 1], cl
mov rax, qword [rsp + 0x168]
mov byte [rax + 2], 1
mov rax, qword [rsp + 0x168]
mov eax, dword [rax + 8]
or eax, 4
mov rcx, qword [rsp + 0x168]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x168]
mov ecx, dword [rsp + 0x244]
mov dword [rax + 0x44], ecx
mov rax, qword [rsp + 0x168]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x4b0]
mov r8d, dword [rsp + 0x3f4]
mov edx, dword [rsp + 0x244]
mov rcx, qword [rsp + 0x848]
call fcn.180035470
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x4b0]
mov qword [rax + 0x38], rcx
mov rax, qword [rsp + 0x38]
movsx eax, byte [rax + 1]
cmp eax, 0xfffffff8
je 0x1800824b0
mov dword [rsp + 0x3f8], 1
jmp 0x1800824bb
mov dword [rsp + 0x3f8], 0
mov rax, qword [rsp + 0x168]
movzx ecx, byte [rsp + 0x3f8]
mov byte [rax + 4], cl
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 3
mov edx, eax
mov rax, qword [rsp + 0x168]
mov rcx, qword [rax + 0x30]
call fcn.180035540
cmp dword [rsp + 0x30], 0
je 0x1800824f9
jmp 0x180087f2b
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x298], rax
mov rax, qword [rsp + 0x298]
movsx eax, word [rax + 0x48]
xor r9d, r9d
mov r8d, eax
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
call fcn.1800b6a00
mov qword [rsp + 0x128], rax
cmp qword [rsp + 0x128], 0
jne 0x18008255e
jmp 0x18008817b
mov rax, qword [rsp + 0x128]
mov byte [rax + 2], 1
mov rax, qword [rsp + 0x128]
mov eax, dword [rax + 8]
or eax, 1
mov rcx, qword [rsp + 0x128]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x298]
mov rcx, qword [rcx + 0x38]
mov qword [rax + 0x38], rcx
mov rax, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x298]
movzx ecx, byte [rcx + 4]
mov byte [rax + 4], cl
mov rax, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x298]
mov ecx, dword [rcx + 0x44]
mov dword [rax + 0x44], ecx
mov rax, qword [rsp + 0x298]
mov eax, dword [rax + 8]
shr eax, 2
and eax, 1
and eax, 1
shl eax, 2
mov rcx, qword [rsp + 0x128]
mov ecx, dword [rcx + 8]
and ecx, 0xfffffffb
or ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x128]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x298]
mov rcx, qword [rcx + 0x10]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0x128]
mov eax, dword [rax + 8]
or eax, 8
mov rcx, qword [rsp + 0x128]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x298]
mov eax, dword [rax + 8]
or eax, 8
mov rcx, qword [rsp + 0x298]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x128]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x128]
mov r9, qword [rax + 0x38]
mov r8d, 4
mov rax, qword [rsp + 0x128]
mov edx, dword [rax + 0x44]
mov rax, qword [rsp + 0x128]
mov rcx, qword [rax + 0x10]
call fcn.180035470
mov dword [rsp + 0x30], eax
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
cmp dword [rax + 0xc], 0
jle 0x1800826d1
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
mov dword [rcx + rax + 0x10], 0
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
lea rdx, [0x18017a464]
mov qword [rcx + rax + 8], rdx
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0xd0], rax
cmp qword [rsp + 0xd0], 0
je 0x18008276f
mov rax, qword [rsp + 0xd0]
mov eax, dword [rax + 8]
shr eax, 3
and eax, 1
test eax, eax
jne 0x18008276f
mov rax, qword [rsp + 0xd0]
movsx eax, word [rax + 0x48]
mov rcx, qword [rsp + 0x38]
cmp dword [rcx + 8], eax
jg 0x18008276f
mov rax, qword [rsp + 0xd0]
mov qword [rax + 0x18], 0
mov rax, qword [rsp + 0xd0]
mov dword [rax + 0x20], 0
xor r8d, r8d
mov rax, qword [rsp + 0xd0]
mov edx, dword [rax + 0x44]
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rax + 0x10]
call fcn.180035100
mov dword [rsp + 0x30], eax
jmp 0x1800829a7
xor r9d, r9d
mov rax, qword [rsp + 0x38]
mov r8d, dword [rax + 8]
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
call fcn.1800b6a00
mov qword [rsp + 0xd0], rax
cmp qword [rsp + 0xd0], 0
jne 0x1800827a8
jmp 0x18008817b
mov rax, qword [rsp + 0xd0]
mov eax, dword [rax + 8]
or eax, 1
mov rcx, qword [rsp + 0xd0]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
or eax, 5
mov rcx, qword [rsp + 0xd0]
add rcx, 0x10
mov edx, dword [0x18014eb88]
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], eax
mov r9, rcx
mov r8, qword [rsp + 0x40]
xor edx, edx
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax]
call fcn.180032fc0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
jne 0x1800829a7
xor r8d, r8d
mov edx, 1
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rax + 0x10]
call fcn.180034160
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
jne 0x18008293f
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x5e0], rax
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x5e0]
mov qword [rax + 0x38], rcx
cmp qword [rsp + 0x5e0], 0
je 0x1800828f0
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
or eax, 2
mov rcx, qword [rsp + 0xd0]
add rcx, 0x44
mov r8d, eax
mov rdx, rcx
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rax + 0x10]
call fcn.180034990
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
jne 0x1800828e2
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x5e0]
mov r8d, 4
mov rax, qword [rsp + 0xd0]
mov edx, dword [rax + 0x44]
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rax + 0x10]
call fcn.180035470
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0xd0]
mov byte [rax + 4], 0
jmp 0x18008293f
mov rax, qword [rsp + 0xd0]
mov dword [rax + 0x44], 1
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 4
mov edx, 1
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rax + 0x10]
call fcn.180035470
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0xd0]
mov byte [rax + 4], 1
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
cmp eax, 8
je 0x18008295a
mov dword [rsp + 0x3fc], 1
jmp 0x180082965
mov dword [rsp + 0x3fc], 0
mov eax, dword [rsp + 0x3fc]
and eax, 1
shl eax, 2
mov rcx, qword [rsp + 0xd0]
mov ecx, dword [rcx + 8]
and ecx, 0xfffffffb
or ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0xd0]
mov dword [rcx + 8], eax
cmp dword [rsp + 0x30], 0
je 0x1800829a7
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rax + 0x10]
call fcn.180033a00
cmp dword [rsp + 0x30], 0
je 0x1800829b3
jmp 0x180087f2b
mov rax, qword [rsp + 0xd0]
mov byte [rax + 2], 1
jmp case.0x18007d2bd.88
mov r9b, 1
mov rax, qword [rsp + 0x38]
mov r8d, dword [rax + 8]
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
call fcn.1800b6a00
mov qword [rsp + 0x5e8], rax
cmp qword [rsp + 0x5e8], 0
jne 0x1800829fd
jmp 0x18008817b
mov rax, qword [rsp + 0x5e8]
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rcx + 0x10]
mov qword [rax + 0x38], rcx
mov r8, qword [rsp + 0x5e8]
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 0xc]
mov rcx, qword [rsp + 0x40]
call fcn.18008b240
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x180082a3c
jmp 0x180087f2b
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x5f0], rax
mov rax, qword [rsp + 0x5f0]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x850], rax
mov rax, qword [rsp + 0x5f0]
mov rax, qword [rax + 0x18]
inc rax
mov rcx, qword [rsp + 0x5f0]
mov qword [rcx + 0x18], rax
cmp qword [rsp + 0x850], 0
jne 0x180082aa1
jmp 0x18007d3c5
jmp case.0x18007d2bd.88
mov r9b, 3
mov rax, qword [rsp + 0x38]
mov r8d, dword [rax + 0xc]
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
call fcn.1800b6a00
mov qword [rsp + 0x368], rax
cmp qword [rsp + 0x368], 0
jne 0x180082adf
jmp 0x18008817b
mov rax, qword [rsp + 0x368]
mov byte [rax + 2], 1
mov rax, qword [rsp + 0x368]
mov rcx, qword [rsp + 0x38]
mov ecx, dword [rcx + 8]
mov dword [rax + 0x24], ecx
mov rax, qword [rsp + 0x368]
mov byte [rax + 4], 1
call fcn.1800354f0
mov rcx, qword [rsp + 0x368]
mov qword [rcx + 0x30], rax
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rdx, qword [rcx + rax*8]
mov rcx, qword [rsp + 0xc10]
call fcn.18007c790
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov qword [rcx + rax*8], 0
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x188], rax
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
mov dword [rsp + 0xf0], eax
mov dword [rsp + 0x2d8], 0
mov rax, qword [rsp + 0x188]
mov byte [rax + 2], 0
mov rax, qword [rsp + 0x188]
mov byte [rax + 3], 0
mov rax, qword [rsp + 0x188]
mov dword [rax + 0x20], 0
mov rax, qword [rsp + 0x188]
movzx eax, byte [rax + 4]
test eax, eax
je 0x180082d9e
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
movzx eax, word [rax + 0x14]
mov word [rsp + 0x1b0], ax
movzx eax, word [rsp + 0x1b0]
and eax, 0x2e
cmp eax, 2
jne 0x180082c31
xor edx, edx
mov rcx, qword [rsp + 0x90]
call fcn.1800b6cc0
mov rcx, qword [rsp + 0x90]
call fcn.18008a350
mov qword [rsp + 0x5f8], rax
mov rax, qword [rsp + 0x90]
movzx eax, word [rax + 0x14]
mov word [rsp + 0x150], ax
mov rax, qword [rsp + 0x90]
movzx ecx, word [rsp + 0x1b0]
mov word [rax + 0x14], cx
movzx eax, word [rsp + 0x150]
and eax, 0x24
test eax, eax
jne 0x180082d51
movzx eax, word [rsp + 0x150]
and eax, 8
test eax, eax
jne 0x180082cde
movzx eax, word [rsp + 0x150]
and eax, 1
test eax, eax
jne 0x180082ca9
cmp dword [rsp + 0xf0], 0x16
jl 0x180082cb0
jmp 0x18007d3c5
lea rdx, [rsp + 0xd8]
mov rax, qword [rsp + 0x188]
mov rcx, qword [rax + 0x30]
call fcn.1800371b0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x180082cd9
jmp 0x180087f2b
jmp 0x180082fa8
mov rax, qword [rsp + 0x90]
movsd xmm1, qword [rax]
mov rcx, qword [rsp + 0x5f8]
call fcn.18008a240
mov dword [rsp + 0x404], eax
cmp dword [rsp + 0x404], 0
jle 0x180082d29
mov eax, dword [rsp + 0xf0]
and eax, 1
cmp eax, 1
jne 0x180082d27
mov eax, dword [rsp + 0xf0]
dec eax
mov dword [rsp + 0xf0], eax
jmp 0x180082d51
cmp dword [rsp + 0x404], 0
jge 0x180082d51
mov eax, dword [rsp + 0xf0]
and eax, 1
test eax, eax
jne 0x180082d51
mov eax, dword [rsp + 0xf0]
inc eax
mov dword [rsp + 0xf0], eax
lea r9, [rsp + 0xd8]
xor r8d, r8d
mov rdx, qword [rsp + 0x5f8]
mov rax, qword [rsp + 0x188]
mov rcx, qword [rax + 0x30]
call fcn.180035690
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x188]
mov rcx, qword [rsp + 0x5f8]
mov qword [rax + 0x50], rcx
cmp dword [rsp + 0x30], 0
je 0x180082d99
jmp 0x180087f2b
jmp 0x180082ea2
mov edx, 2
mov rax, qword [rsp + 0x188]
mov rcx, qword [rax + 0x30]
call fcn.180037f10
test eax, eax
je 0x180082dc3
mov dword [rsp + 0x2d8], 1
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x55c], eax
mov rax, qword [rsp + 0x188]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x9c0], rax
movzx eax, word [rsp + 0x55c]
mov word [rsp + 0x9dc], ax
mov eax, dword [rsp + 0xf0]
sub eax, 0x14
and eax, 1
test eax, eax
je 0x180082e14
mov dword [rsp + 0x408], 0xffffffff
jmp 0x180082e1f
mov dword [rsp + 0x408], 1
movzx eax, byte [rsp + 0x408]
mov byte [rsp + 0x9de], al
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x9c8], rax
mov byte [rsp + 0x9e2], 0
lea r8, [rsp + 0xd8]
lea rdx, [rsp + 0x9c0]
mov rax, qword [rsp + 0x188]
mov rcx, qword [rax + 0x30]
call fcn.180035a90
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x180082e87
jmp 0x180087f2b
cmp dword [rsp + 0x2d8], 0
je 0x180082ea2
movzx eax, byte [rsp + 0x9e2]
test eax, eax
jne 0x180082ea2
jmp 0x180082fa8
cmp dword [rsp + 0xf0], 0x16
jl 0x180082f26
cmp dword [rsp + 0xd8], 0
jl 0x180082eca
cmp dword [rsp + 0xd8], 0
jne 0x180082f16
cmp dword [rsp + 0xf0], 0x17
jne 0x180082f16
mov dword [rsp + 0xd8], 0
xor edx, edx
mov rax, qword [rsp + 0x188]
mov rcx, qword [rax + 0x30]
call fcn.180037280
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x180082f14
cmp dword [rsp + 0x30], 0x65
jne 0x180082f0f
mov dword [rsp + 0x30], 0
mov dword [rsp + 0xd8], 1
jmp 0x180082f14
jmp 0x180087f2b
jmp 0x180082f21
mov dword [rsp + 0xd8], 0
jmp 0x180082fa8
cmp dword [rsp + 0xd8], 0
jg 0x180082f44
cmp dword [rsp + 0xd8], 0
jne 0x180082f90
cmp dword [rsp + 0xf0], 0x14
jne 0x180082f90
mov dword [rsp + 0xd8], 0
xor edx, edx
mov rax, qword [rsp + 0x188]
mov rcx, qword [rax + 0x30]
call fcn.1800373a0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x180082f8e
cmp dword [rsp + 0x30], 0x65
jne 0x180082f89
mov dword [rsp + 0x30], 0
mov dword [rsp + 0xd8], 1
jmp 0x180082f8e
jmp 0x180087f2b
jmp 0x180082fa8
mov rax, qword [rsp + 0x188]
mov rcx, qword [rax + 0x30]
call fcn.180037360
mov dword [rsp + 0xd8], eax
cmp dword [rsp + 0xd8], 0
je 0x180082fb9
jmp 0x18007d3c5
cmp dword [rsp + 0x2d8], 0
je 0x180082fd1
mov rax, qword [rsp + 0x38]
add rax, 0x18
mov qword [rsp + 0x38], rax
jmp case.0x18007d2bd.88
mov eax, 0x18
imul rax, rax, 1
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x4b8], rax
mov rax, qword [rsp + 0x4b8]
mov rcx, qword [rax + 0x30]
call fcn.180037fa0
test eax, eax
jne 0x18008301b
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 4]
mov dword [rsp + 0x2e0], eax
mov rax, qword [rsp + 0x4b8]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0xa38], rax
mov eax, 0x18
imul rax, rax, 1
mov rcx, qword [rsp + 0x38]
movzx eax, word [rcx + rax + 0x10]
mov word [rsp + 0xa54], ax
mov byte [rsp + 0xa56], 0
mov eax, 0x18
imul rax, rax, 1
mov rcx, qword [rsp + 0x38]
movsxd rax, dword [rcx + rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xa40], rax
mov dword [rsp + 0x2dc], 0
xor eax, eax
cmp eax, 1
je 0x180083158
lea r9, [rsp + 0x2dc]
lea r8, [rsp + 0xa38]
mov rdx, qword [rsp + 0x4b8]
mov rcx, qword [rsp + 0x40]
call fcn.18007ce00
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x1800830d3
jmp 0x180087f2b
cmp dword [rsp + 0x2dc], 0
jle 0x1800830f0
mov rax, qword [rsp + 0x38]
add rax, 0x18
mov qword [rsp + 0x38], rax
jmp 0x18007d3c5
cmp dword [rsp + 0x2dc], 0
jne 0x180083101
jmp 0x18007d3c5
cmp dword [rsp + 0x2e0], 0
jg 0x18008310d
jmp 0x180083158
mov eax, dword [rsp + 0x2e0]
dec eax
mov dword [rsp + 0x2e0], eax
xor edx, edx
mov rax, qword [rsp + 0x4b8]
mov rcx, qword [rax + 0x30]
call fcn.180037280
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x180083153
cmp dword [rsp + 0x30], 0x65
jne 0x18008314e
mov dword [rsp + 0x30], 0
jmp 0x1800830dd
jmp 0x180087f2b
jmp 0x180083096
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x4c0], rax
mov rax, qword [rsp + 0x4c0]
movzx eax, word [rax + 0xc]
mov rcx, qword [rsp + 0x38]
cmp eax, dword [rcx + 8]
jge 0x1800831ab
mov rax, qword [rsp + 0x4c0]
mov rcx, qword [rsp + 0x38]
movzx ecx, word [rcx + 8]
mov word [rax + 0xc], cx
jmp 0x1800831d6
mov rax, qword [rsp + 0x4c0]
movzx eax, word [rax + 0xc]
mov rcx, qword [rsp + 0x38]
cmp eax, dword [rcx + 0xc]
jle 0x1800831d6
mov rax, qword [rsp + 0x4c0]
mov rcx, qword [rsp + 0x38]
movzx ecx, word [rcx + 0xc]
mov word [rax + 0xc], cx
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
cmp qword [rcx + rax*8], 0
jne 0x1800831fc
jmp case.0x18007d2bd.7
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x858], rax
mov rax, qword [rsp + 0x858]
movzx eax, word [rax + 0xc]
mov rcx, qword [rsp + 0x38]
cmp eax, dword [rcx + 0x10]
jl case.0x18007d2bd.25
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x198], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x38]
cmp dword [rax + 0x10], 0
jle 0x1800832f7
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 0x10]
mov word [rsp + 0xa04], ax
mov rax, qword [rsp + 0x198]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x9e8], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x9f0], rax
mov byte [rsp + 0xa06], 0
mov rax, qword [rsp + 0x198]
add rax, 0x24
mov r8, rax
lea rdx, [rsp + 0x9e8]
mov rax, qword [rsp + 0x198]
mov rcx, qword [rax + 0x30]
call fcn.180035a90
mov dword [rsp + 0x30], eax
jmp 0x1800833e7
mov rax, qword [rsp + 0x90]
movzx eax, word [rax + 0x14]
and eax, 0x400
test eax, eax
je 0x180083322
mov rcx, qword [rsp + 0x90]
call fcn.18008ce10
mov dword [rsp + 0x40c], eax
jmp 0x18008332d
mov dword [rsp + 0x40c], 0
mov eax, dword [rsp + 0x40c]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x180083344
jmp 0x18008817b
mov rax, qword [rsp + 0x198]
mov rcx, qword [rax + 0x38]
call fcn.18003bc80
mov qword [rsp + 0x360], rax
cmp qword [rsp + 0x360], 0
jne 0x18008336d
jmp 0x18008817b
mov r9, qword [rsp + 0x360]
mov rax, qword [rsp + 0x90]
mov r8, qword [rax + 8]
mov rax, qword [rsp + 0x90]
mov edx, dword [rax + 0x10]
mov rax, qword [rsp + 0x198]
mov rcx, qword [rax + 0x38]
call fcn.18003b260
mov rax, qword [rsp + 0x360]
mov byte [rax + 0x1e], 0
mov rax, qword [rsp + 0x198]
add rax, 0x24
mov r8, rax
mov rdx, qword [rsp + 0x360]
mov rax, qword [rsp + 0x198]
mov rcx, qword [rax + 0x30]
call fcn.180035a90
mov dword [rsp + 0x30], eax
mov rdx, qword [rsp + 0x360]
mov rcx, qword [rsp + 0x40]
call fcn.180041820
cmp dword [rsp + 0x30], 0
je 0x1800833f3
jmp 0x180087f2b
mov rax, qword [rsp + 0x198]
cmp dword [rax + 0x24], 0
jne 0x18008340e
mov dword [rsp + 0x410], 1
jmp 0x180083419
mov dword [rsp + 0x410], 0
mov eax, dword [rsp + 0x410]
mov dword [rsp + 0x2e4], eax
mov eax, 1
sub eax, dword [rsp + 0x2e4]
mov rcx, qword [rsp + 0x198]
mov byte [rcx + 2], al
mov rax, qword [rsp + 0x198]
mov byte [rax + 3], 0
mov rax, qword [rsp + 0x198]
mov dword [rax + 0x20], 0
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
cmp eax, 0x1c
jne 0x18008347a
cmp dword [rsp + 0x2e4], 0
je 0x180083475
jmp 0x18007d3c5
jmp 0x18008350d
cmp dword [rsp + 0x2e4], 0
jne 0x180083489
jmp 0x18007d3c5
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
cmp eax, 0x1a
jne 0x1800834eb
mov dword [rsp + 0x238], 0
jmp 0x1800834b3
mov eax, dword [rsp + 0x238]
inc eax
mov dword [rsp + 0x238], eax
movzx eax, word [rsp + 0xa04]
cmp dword [rsp + 0x238], eax
jge 0x1800834eb
movsxd rax, dword [rsp + 0x238]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x9f0]
movzx eax, word [rcx + rax + 0x14]
and eax, 1
test eax, eax
je 0x1800834e9
jmp 0x18007d3c5
jmp 0x1800834a3
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
cmp eax, 0x19
jne 0x18008350d
mov rax, qword [rsp + 0x198]
mov rcx, qword [rsp + 0x38]
movzx ecx, word [rcx + 0x10]
mov word [rax + 0xc], cx
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
movzx eax, word [rax + 0x14]
and eax, 0x24
test eax, eax
jne case.0x18007d2bd.29
mov eax, 0x38
imul rax, rax, 0
lea rcx, [rsp + 0xb98]
mov rdx, qword [rsp + 0x90]
mov rdi, rcx
lea rsi, [rdx + rax]
mov ecx, 0x38
rep movsb byte [rdi], byte [rsi]
movzx r8d, byte [rsp + 0x48]
mov dl, 0x43
lea rcx, [rsp + 0xb98]
call fcn.1800b6da0
movzx eax, word [rsp + 0xbac]
and eax, 4
test eax, eax
jne 0x180083595
jmp 0x18007d3c5
mov rax, qword [rsp + 0xb98]
mov qword [rsp + 0x600], rax
jmp 0x1800835da
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
mov qword [rsp + 0x600], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x330], rax
mov rax, qword [rsp + 0x330]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x860], rax
mov dword [rsp + 0x2e8], 0
lea r9, [rsp + 0x2e8]
xor r8d, r8d
mov rdx, qword [rsp + 0x600]
mov rcx, qword [rsp + 0x860]
call fcn.180035690
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x330]
mov rcx, qword [rsp + 0x600]
mov qword [rax + 0x50], rcx
mov rax, qword [rsp + 0x330]
mov byte [rax + 2], 0
mov rax, qword [rsp + 0x330]
mov dword [rax + 0x20], 0
mov rax, qword [rsp + 0x330]
mov byte [rax + 3], 0
mov rax, qword [rsp + 0x330]
mov ecx, dword [rsp + 0x2e8]
mov dword [rax + 0x24], ecx
cmp dword [rsp + 0x2e8], 0
je 0x1800836b5
mov rax, qword [rsp + 0x38]
cmp dword [rax + 8], 0
jne 0x1800836b0
mov ecx, 0x16c21
call fcn.180040c80
mov dword [rsp + 0x30], eax
jmp 0x1800836b5
jmp 0x18007d3c5
cmp dword [rsp + 0x30], 0
je 0x1800836c1
jmp 0x180087f2b
jmp case.0x18007d2bd.88
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xc10]
call fcn.1800b7030
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rax + 0x18]
mov qword [rcx], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x18]
inc rax
mov rcx, qword [rsp + 0x38]
movsxd rcx, dword [rcx + 4]
mov rdx, qword [rsp + 0xc10]
mov rdx, qword [rdx + 0x78]
mov rcx, qword [rdx + rcx*8]
mov qword [rcx + 0x18], rax
jmp case.0x18007d2bd.88
mov qword [rsp + 0x148], 0
mov dword [rsp + 0x1e8], 0
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xc10]
call fcn.1800b7030
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x210], rax
mov rax, qword [rsp + 0x210]
mov eax, dword [rax + 8]
shr eax, 1
and eax, 1
test eax, eax
jne 0x180083847
lea rdx, [rsp + 0x1e8]
mov rax, qword [rsp + 0x210]
mov rcx, qword [rax + 0x30]
call fcn.1800371b0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x1800837d4
jmp 0x180087f2b
cmp dword [rsp + 0x1e8], 0
je 0x1800837ec
mov qword [rsp + 0x148], 1
jmp 0x180083847
mov rax, qword [rsp + 0x210]
mov rcx, qword [rax + 0x30]
call fcn.180037430
mov qword [rsp + 0x148], rax
movabs rax, 0x7fffffffffffffff
cmp qword [rsp + 0x148], rax
jl 0x180083834
mov rax, qword [rsp + 0x210]
mov eax, dword [rax + 8]
or eax, 2
mov rcx, qword [rsp + 0x210]
mov dword [rcx + 8], eax
jmp 0x180083847
mov rax, qword [rsp + 0x148]
inc rax
mov qword [rsp + 0x148], rax
mov rax, qword [rsp + 0x38]
cmp dword [rax + 0xc], 0
je 0x18008396f
mov rax, qword [rsp + 0xc10]
cmp qword [rax + 0x108], 0
je 0x1800838c9
mov rax, qword [rsp + 0xc10]
mov rax, qword [rax + 0x108]
mov qword [rsp + 0x4c8], rax
jmp 0x180083895
mov rax, qword [rsp + 0x4c8]
mov rax, qword [rax + 8]
mov qword [rsp + 0x4c8], rax
mov rax, qword [rsp + 0x4c8]
cmp qword [rax + 8], 0
je 0x1800838a6
jmp 0x180083881
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x4c8]
add rax, qword [rcx + 0x20]
mov qword [rsp + 0x320], rax
jmp 0x1800838e9
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x320], rax
mov rcx, qword [rsp + 0x320]
call fcn.18008a3d0
mov rax, qword [rsp + 0x320]
movabs rcx, 0x7fffffffffffffff
cmp qword [rax], rcx
je 0x180083921
mov rax, qword [rsp + 0x210]
mov eax, dword [rax + 8]
shr eax, 1
and eax, 1
test eax, eax
je 0x18008392e
mov dword [rsp + 0x30], 0xd
jmp 0x180087f2b
mov rax, qword [rsp + 0x320]
mov rax, qword [rax]
inc rax
cmp qword [rsp + 0x148], rax
jge 0x18008395c
mov rax, qword [rsp + 0x320]
mov rax, qword [rax]
inc rax
mov qword [rsp + 0x148], rax
mov rax, qword [rsp + 0x320]
mov rcx, qword [rsp + 0x148]
mov qword [rax], rcx
mov rax, qword [rsp + 0x210]
mov eax, dword [rax + 8]
shr eax, 1
and eax, 1
test eax, eax
je 0x180083a51
mov dword [rsp + 0x2ec], 0
lea rdx, [rsp + 0x148]
mov ecx, 8
call fcn.180024680
movabs rax, 0x3fffffffffffffff
mov rcx, qword [rsp + 0x148]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x148], rax
mov rax, qword [rsp + 0x148]
inc rax
mov qword [rsp + 0x148], rax
lea r9, [rsp + 0x1e8]
xor r8d, r8d
mov rdx, qword [rsp + 0x148]
mov rax, qword [rsp + 0x210]
mov rcx, qword [rax + 0x30]
call fcn.180035690
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
jne 0x180083a2e
cmp dword [rsp + 0x1e8], 0
jne 0x180083a2e
mov eax, dword [rsp + 0x2ec]
inc eax
mov dword [rsp + 0x2ec], eax
cmp dword [rsp + 0x2ec], 0x64
jl 0x180083992
cmp dword [rsp + 0x30], 0
je 0x180083a3a
jmp 0x180087f2b
cmp dword [rsp + 0x1e8], 0
jne 0x180083a51
mov dword [rsp + 0x30], 0xd
jmp 0x180087f2b
mov rax, qword [rsp + 0x210]
mov byte [rax + 3], 0
mov rax, qword [rsp + 0x210]
mov dword [rax + 0x20], 0
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x148]
mov qword [rax], rcx
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x4d0], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x388], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x868], rax
mov rax, qword [rsp + 0x868]
mov rax, qword [rax]
mov qword [rsp + 0x998], rax
mov rax, qword [rsp + 0x38]
movsx eax, byte [rax + 1]
cmp eax, 0xfffffffb
jne 0x180083b4b
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x140], 0
je 0x180083b4b
mov rax, qword [rsp + 0x388]
movsx rax, byte [rax + 1]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rcx + rax]
mov qword [rsp + 0x6e0], rax
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x608], rax
jmp 0x180083b63
mov qword [rsp + 0x608], 0
mov qword [rsp + 0x6e0], 0
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 1
test eax, eax
je 0x180083b8e
mov rax, qword [rsp + 0xc10]
mov rax, qword [rax + 0x38]
inc rax
mov rcx, qword [rsp + 0xc10]
mov qword [rcx + 0x38], rax
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 0x20
test eax, eax
je 0x180083baf
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x998]
mov qword [rax + 0x38], rcx
mov rax, qword [rsp + 0x4d0]
mov rax, qword [rax + 8]
mov qword [rsp + 0x9a0], rax
mov rax, qword [rsp + 0x4d0]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x9b4], eax
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 0x10
test eax, eax
je 0x180083bf9
mov rax, qword [rsp + 0x388]
mov eax, dword [rax + 0x24]
mov dword [rsp + 0x414], eax
jmp 0x180083c04
mov dword [rsp + 0x414], 0
mov eax, dword [rsp + 0x414]
mov dword [rsp + 0x558], eax
mov rax, qword [rsp + 0x4d0]
movzx eax, word [rax + 0x14]
and eax, 0x400
test eax, eax
je 0x180083c3a
mov rax, qword [rsp + 0x4d0]
mov eax, dword [rax]
mov dword [rsp + 0x9b8], eax
jmp 0x180083c45
mov dword [rsp + 0x9b8], 0
mov qword [rsp + 0x990], 0
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 0x8a
mov r9d, dword [rsp + 0x558]
mov r8d, eax
lea rdx, [rsp + 0x990]
mov rax, qword [rsp + 0x388]
mov rcx, qword [rax + 0x30]
call fcn.180036860
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x388]
mov byte [rax + 3], 0
mov rax, qword [rsp + 0x388]
mov dword [rax + 0x20], 0
cmp dword [rsp + 0x30], 0
je 0x180083cae
jmp 0x180087f2b
cmp qword [rsp + 0x608], 0
je 0x180083d1f
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 4
test eax, eax
je 0x180083cd6
mov dword [rsp + 0x418], 0x17
jmp 0x180083ce1
mov dword [rsp + 0x418], 0x12
mov rax, qword [rsp + 0x998]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x608]
mov r9, qword [rax]
mov r8, qword [rsp + 0x6e0]
mov edx, dword [rsp + 0x418]
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x138]
mov rax, qword [rsp + 0x40]
call qword [rax + 0x140]
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x880], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x878], rax
mov rax, qword [rsp + 0x38]
cmp dword [rax + 0xc], 0
je 0x180083d91
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx + rax]
mov qword [rsp + 0x6e8], rax
jmp 0x180083d9d
mov qword [rsp + 0x6e8], 0
mov rax, qword [rsp + 0x6e8]
mov qword [rsp + 0x870], rax
mov r8, qword [rsp + 0x870]
mov rax, qword [rsp + 0x878]
mov rdx, qword [rax + 0x30]
mov rax, qword [rsp + 0x880]
mov rcx, qword [rax + 0x30]
call fcn.1800381c0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x180083de2
jmp 0x180087f2b
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
mov dword [rsp + 0x580], eax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x278], rax
mov rax, qword [rsp + 0x38]
movsx eax, byte [rax + 1]
cmp eax, 0xfffffffb
jne 0x180083eae
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x140], 0
je 0x180083eae
mov rax, qword [rsp + 0x278]
movsx rax, byte [rax + 1]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rcx + rax]
mov qword [rsp + 0x6f0], rax
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x4d8], rax
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 2
test eax, eax
je 0x180083eac
mov rax, qword [rsp + 0x278]
movzx eax, byte [rax + 4]
test eax, eax
je 0x180083eac
mov rax, qword [rsp + 0x278]
mov rcx, qword [rax + 0x30]
call fcn.180037430
mov rcx, qword [rsp + 0x278]
mov qword [rcx + 0x50], rax
jmp 0x180083ec6
mov qword [rsp + 0x6f0], 0
mov qword [rsp + 0x4d8], 0
mov rax, qword [rsp + 0x38]
movzx edx, byte [rax + 2]
mov rax, qword [rsp + 0x278]
mov rcx, qword [rax + 0x30]
call fcn.180036150
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x278]
mov dword [rax + 0x20], 0
mov rax, qword [rsp + 0x278]
mov dword [rax + 0x24], 0
cmp dword [rsp + 0x30], 0
je 0x180083f0e
jmp 0x180087f2b
mov eax, dword [rsp + 0x580]
and eax, 1
test eax, eax
je 0x180083fa9
mov rax, qword [rsp + 0xc10]
mov rax, qword [rax + 0x38]
inc rax
mov rcx, qword [rsp + 0xc10]
mov qword [rcx + 0x38], rax
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x140], 0
je 0x180083fa9
cmp qword [rsp + 0x4d8], 0
je 0x180083fa9
mov rax, qword [rsp + 0x4d8]
mov eax, dword [rax + 0x30]
and eax, 0x80
test eax, eax
jne 0x180083fa9
mov rax, qword [rsp + 0x278]
mov rax, qword [rax + 0x50]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x4d8]
mov r9, qword [rax]
mov r8, qword [rsp + 0x6f0]
mov edx, 9
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x138]
mov rax, qword [rsp + 0x40]
call qword [rax + 0x140]
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0xc10]
mov rdx, qword [rax + 0x38]
mov rcx, qword [rsp + 0x40]
call fcn.18006f7d0
mov rax, qword [rsp + 0xc10]
mov qword [rax + 0x38], 0
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x888], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x554], eax
mov dword [rsp + 0x41c], 0
lea r9, [rsp + 0x41c]
mov r8d, dword [rsp + 0x554]
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x888]
call fcn.18008be90
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x180084069
jmp 0x180087f2b
cmp dword [rsp + 0x41c], 0
je 0x180084078
jmp 0x18007d3c5
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x890], rax
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x890]
call fcn.18008b7e0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x1800840dd
jmp 0x180087f2b
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov dword [rax + 0x20], 0
jmp case.0x18007d2bd.88
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xc10]
call fcn.1800b7030
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x898], rax
mov rax, qword [rsp + 0x898]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x6f8], rax
mov rcx, qword [rsp + 0x6f8]
call fcn.180037520
mov dword [rsp + 0x420], eax
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x40]
mov eax, dword [rcx + rax + 0x88]
cmp dword [rsp + 0x420], eax
jbe 0x180084185
jmp 0x18008815a
mov r8, qword [rsp + 0x58]
mov edx, dword [rsp + 0x420]
mov rcx, qword [rsp + 0x6f8]
call fcn.18008a950
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x1800841ae
jmp 0x180087f2b
mov rax, qword [rsp + 0x38]
cmp dword [rax + 0xc], 0
jne 0x1800841de
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 0x14]
and eax, 0x4000
test eax, eax
je 0x1800841de
mov rcx, qword [rsp + 0x58]
call fcn.18008a0c0
test eax, eax
je 0x1800841de
jmp 0x18008817b
jmp case.0x18007d2bd.88
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xc10]
call fcn.1800b7030
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x258], rax
mov rax, qword [rsp + 0x258]
movzx eax, byte [rax + 2]
test eax, eax
je 0x180084243
mov eax, 1
mov rcx, qword [rsp + 0x58]
mov word [rcx + 0x14], ax
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x258]
movzx eax, byte [rax + 3]
test eax, eax
je 0x18008426c
mov rax, qword [rsp + 0x258]
mov rax, qword [rax + 0x50]
mov qword [rsp + 0x610], rax
jmp 0x180084345
mov rax, qword [rsp + 0x258]
movzx eax, byte [rax]
cmp eax, 2
jne 0x1800842ec
mov rax, qword [rsp + 0x258]
mov rax, qword [rax + 0x30]
mov rax, qword [rax]
mov qword [rsp + 0x700], rax
mov rax, qword [rsp + 0x700]
mov rax, qword [rax]
mov qword [rsp + 0x8a0], rax
lea rdx, [rsp + 0x610]
mov rax, qword [rsp + 0x258]
mov rcx, qword [rax + 0x30]
mov rax, qword [rsp + 0x8a0]
call qword [rax + 0x60]
mov dword [rsp + 0x30], eax
mov rdx, qword [rsp + 0x700]
mov rcx, qword [rsp + 0xc10]
call fcn.180077420
cmp dword [rsp + 0x30], 0
je 0x1800842ea
jmp 0x180087f2b
jmp 0x180084345
mov rcx, qword [rsp + 0x258]
call fcn.18007c930
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x180084309
jmp 0x180087f2b
mov rax, qword [rsp + 0x258]
movzx eax, byte [rax + 2]
test eax, eax
je 0x18008432c
mov eax, 1
mov rcx, qword [rsp + 0x58]
mov word [rcx + 0x14], ax
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x258]
mov rcx, qword [rax + 0x30]
call fcn.180037430
mov qword [rsp + 0x610], rax
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x610]
mov qword [rax], rcx
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x4e0], rax
mov rax, qword [rsp + 0x4e0]
mov byte [rax + 2], 1
mov rax, qword [rsp + 0x4e0]
mov dword [rax + 0x20], 0
mov rax, qword [rsp + 0x4e0]
movzx eax, byte [rax]
test eax, eax
jne 0x1800843b6
mov rax, qword [rsp + 0x4e0]
mov rcx, qword [rax + 0x30]
call fcn.180037d90
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x450], rax
mov rax, qword [rsp + 0x450]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x708], rax
mov dword [rsp + 0x2f0], 0
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
cmp eax, 0x89
jne 0x18008442f
mov rax, qword [rsp + 0x450]
mov dword [rax + 0x24], 0xffffffff
mov rcx, qword [rsp + 0x708]
call fcn.180037fa0
test eax, eax
je 0x18008442f
jmp case.0x18007d2bd.88
lea rdx, [rsp + 0x2f0]
mov rcx, qword [rsp + 0x708]
call fcn.1800371b0
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x450]
movzx ecx, byte [rsp + 0x2f0]
mov byte [rax + 2], cl
mov rax, qword [rsp + 0x450]
mov byte [rax + 3], 0
mov rax, qword [rsp + 0x450]
mov dword [rax + 0x20], 0
cmp dword [rsp + 0x30], 0
je 0x180084482
jmp 0x180087f2b
mov rax, qword [rsp + 0x38]
cmp dword [rax + 8], 0
jle 0x18008449c
cmp dword [rsp + 0x2f0], 0
je 0x18008449c
jmp 0x18007d3c5
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x8a8], rax
mov rax, qword [rsp + 0x8a8]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x710], rax
lea rdx, [rsp + 0x2f4]
mov rcx, qword [rsp + 0x710]
call fcn.180037140
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x1800844fb
jmp 0x180087f2b
cmp dword [rsp + 0x2f4], 0
jne 0x180084548
mov rcx, qword [rsp + 0x710]
call fcn.180037b70
mov qword [rsp + 0x718], rax
cmp qword [rsp + 0x718], 0
jl 0x180084548
mov rcx, qword [rsp + 0x718]
call fcn.18006cfc0
cwde
mov rcx, qword [rsp + 0x38]
cmp eax, dword [rcx + 0xc]
jge 0x180084548
mov dword [rsp + 0x2f4], 1
cmp dword [rsp + 0x2f4], 0
je 0x180084557
jmp 0x18007d3c5
jmp case.0x18007d2bd.88
mov eax, 4
imul rax, rax, 2
mov rcx, qword [rsp + 0xc10]
mov eax, dword [rcx + rax + 0xd4]
inc eax
mov ecx, 4
imul rcx, rcx, 2
mov rdx, qword [rsp + 0xc10]
mov dword [rdx + rcx + 0xd4], eax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x358], rax
mov dword [rsp + 0x23c], 1
mov rax, qword [rsp + 0x358]
movzx eax, byte [rax]
cmp eax, 1
jne 0x1800845e5
lea rdx, [rsp + 0x23c]
mov rcx, qword [rsp + 0x358]
call fcn.18008b9a0
mov dword [rsp + 0x30], eax
jmp 0x18008462d
mov rax, qword [rsp + 0x358]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x8b0], rax
lea rdx, [rsp + 0x23c]
mov rcx, qword [rsp + 0x8b0]
call fcn.180037140
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x358]
mov byte [rax + 3], 0
mov rax, qword [rsp + 0x358]
mov dword [rax + 0x20], 0
cmp dword [rsp + 0x30], 0
je 0x180084639
jmp 0x180087f2b
mov rax, qword [rsp + 0x358]
movzx ecx, byte [rsp + 0x23c]
mov byte [rax + 2], cl
cmp dword [rsp + 0x23c], 0
je 0x18008465b
jmp 0x18007d3c5
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x290], rax
mov rdx, qword [rsp + 0x290]
mov rcx, qword [rsp + 0x40]
call fcn.18008b880
mov dword [rsp + 0x30], eax
jmp 0x180084717
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x290], rax
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 0xc]
mov rax, qword [rsp + 0x290]
mov rcx, qword [rax + 0x30]
call fcn.1800373a0
mov dword [rsp + 0x30], eax
jmp 0x180084717
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x290], rax
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 0xc]
mov rax, qword [rsp + 0x290]
mov rcx, qword [rax + 0x30]
call fcn.180037280
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x290]
mov dword [rax + 0x20], 0
cmp dword [rsp + 0x30], 0
jne 0x180084770
mov rax, qword [rsp + 0x290]
mov byte [rax + 2], 0
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
mov rcx, qword [rsp + 0xc10]
mov eax, dword [rcx + rax*4 + 0xd4]
inc eax
mov rcx, qword [rsp + 0x38]
movzx ecx, word [rcx + 2]
mov rdx, qword [rsp + 0xc10]
mov dword [rdx + rcx*4 + 0xd4], eax
jmp case.0x18007d2bd.7
cmp dword [rsp + 0x30], 0x65
je 0x18008477c
jmp 0x180087f2b
mov dword [rsp + 0x30], 0
mov rax, qword [rsp + 0x290]
mov byte [rax + 2], 1
jmp 0x18007d2e2
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x618], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 1
test eax, eax
je 0x180084801
mov rax, qword [rsp + 0xc10]
mov rax, qword [rax + 0x38]
inc rax
mov rcx, qword [rsp + 0xc10]
mov qword [rcx + 0x38], rax
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
and eax, 0x400
test eax, eax
je 0x18008482c
mov rcx, qword [rsp + 0x98]
call fcn.18008ce10
mov dword [rsp + 0x424], eax
jmp 0x180084837
mov dword [rsp + 0x424], 0
mov eax, dword [rsp + 0x424]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x18008484e
jmp 0x180087f2b
mov rax, qword [rsp + 0x98]
movsxd rax, dword [rax + 0x10]
mov qword [rsp + 0xac8], rax
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 8]
mov qword [rsp + 0xac0], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xad8], rax
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 0x10]
mov word [rsp + 0xae0], ax
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 0x10
test eax, eax
je 0x1800848cb
mov rax, qword [rsp + 0x618]
mov eax, dword [rax + 0x24]
mov dword [rsp + 0x428], eax
jmp 0x1800848d6
mov dword [rsp + 0x428], 0
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 0x8a
mov r9d, dword [rsp + 0x428]
mov r8d, eax
lea rdx, [rsp + 0xac0]
mov rax, qword [rsp + 0x618]
mov rcx, qword [rax + 0x30]
call fcn.180036860
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x618]
mov dword [rax + 0x20], 0
cmp dword [rsp + 0x30], 0
je 0x180084927
jmp 0x180087f2b
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x8b8], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
and eax, 0x400
test eax, eax
je 0x180084998
mov rcx, qword [rsp + 0x98]
call fcn.18008ce10
mov dword [rsp + 0x42c], eax
jmp 0x1800849a3
mov dword [rsp + 0x42c], 0
mov eax, dword [rsp + 0x42c]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x1800849ba
jmp 0x180087f2b
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x8b8]
call fcn.18008ba80
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x1800849df
jmp 0x180087f2b
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x4e8], rax
mov rax, qword [rsp + 0x4e8]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x720], rax
mov rax, qword [rsp + 0x4e8]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0xa60], rax
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 0xc]
mov word [rsp + 0xa7c], ax
mov byte [rsp + 0xa7e], 0
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xa68], rax
lea r8, [rsp + 0x550]
lea rdx, [rsp + 0xa60]
mov rcx, qword [rsp + 0x720]
call fcn.180035a90
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x180084a93
jmp 0x180087f2b
cmp dword [rsp + 0x550], 0
jne 0x180084abe
mov dl, 4
mov rcx, qword [rsp + 0x720]
call fcn.180036150
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x180084abc
jmp 0x180087f2b
jmp 0x180084af8
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
test eax, eax
je 0x180084af8
mov rcx, qword [rsp + 0x40]
call fcn.18006f620
test eax, eax
jne 0x180084af8
lea r8, str.index_corruption
mov edx, 0x1703e
mov ecx, 0x30b
call fcn.180040c30
mov dword [rsp + 0x30], eax
jmp 0x180087f2b
mov rax, qword [rsp + 0x4e8]
mov dword [rax + 0x20], 0
mov rax, qword [rsp + 0x4e8]
mov dword [rax + 0x24], 0
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x4f0], rax
mov rcx, qword [rsp + 0x4f0]
call fcn.18007c930
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x180084b59
jmp 0x180087f2b
mov rax, qword [rsp + 0x4f0]
movzx eax, byte [rax + 2]
test eax, eax
jne 0x180084c6a
mov qword [rsp + 0x620], 0
lea r8, [rsp + 0x620]
mov rax, qword [rsp + 0x4f0]
mov rdx, qword [rax + 0x30]
mov rcx, qword [rsp + 0x40]
call fcn.18007cef0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x180084ba7
jmp 0x180087f2b
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
cmp eax, 0x8d
jne 0x180084c41
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x350], rax
mov rax, qword [rsp + 0x350]
mov byte [rax + 2], 0
mov rax, qword [rsp + 0x350]
mov rcx, qword [rsp + 0x620]
mov qword [rax + 0x50], rcx
mov rax, qword [rsp + 0x350]
mov byte [rax + 3], 1
mov rax, qword [rsp + 0x350]
mov dword [rax + 0x20], 0
mov rax, qword [rsp + 0x350]
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rcx + 0x10]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0x350]
mov rcx, qword [rsp + 0x4f0]
mov qword [rax + 0x28], rcx
jmp 0x180084c68
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xc10]
call fcn.1800b7030
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x620]
mov qword [rax], rcx
jmp 0x180084c8a
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.180089f90
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x728], rax
mov rax, qword [rsp + 0x728]
movzx eax, byte [rax + 3]
test eax, eax
je 0x180084cdd
mov rcx, qword [rsp + 0x728]
call fcn.18007c8c0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x180084cdd
jmp 0x180087f2b
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x730], rax
mov rax, qword [rsp + 0x730]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0xa10], rax
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 0x10]
mov word [rsp + 0xa2c], ax
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
cmp eax, 0x29
jge 0x180084d3f
mov byte [rsp + 0xa2e], 0xff
jmp 0x180084d47
mov byte [rsp + 0xa2e], 0
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xa18], rax
mov qword [rsp + 0x4f8], 0
mov rax, qword [rsp + 0x730]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x738], rax
mov rcx, qword [rsp + 0x738]
call fcn.180037520
mov eax, eax
mov qword [rsp + 0x4f8], rax
cmp qword [rsp + 0x4f8], 0
jle 0x180084db7
cmp qword [rsp + 0x4f8], 0x7fffffff
jle 0x180084dca
mov ecx, 0x1710b
call fcn.180040c80
mov dword [rsp + 0x30], eax
jmp 0x180087f2b
xor r8d, r8d
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0xb28]
call fcn.180089f50
lea r8, [rsp + 0xb28]
mov edx, dword [rsp + 0x4f8]
mov rcx, qword [rsp + 0x738]
call fcn.18008a950
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x180084e0b
jmp 0x180087f2b
xor r9d, r9d
lea r8, [rsp + 0xa10]
mov rdx, qword [rsp + 0xb30]
mov ecx, dword [rsp + 0xb38]
call fcn.18003b490
mov dword [rsp + 0x1e4], eax
lea rcx, [rsp + 0xb28]
call fcn.18008aa20
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
and eax, 1
cmp eax, 1
jne 0x180084e60
mov eax, dword [rsp + 0x1e4]
neg eax
mov dword [rsp + 0x1e4], eax
jmp 0x180084e70
mov eax, dword [rsp + 0x1e4]
inc eax
mov dword [rsp + 0x1e4], eax
cmp dword [rsp + 0x1e4], 0
jle 0x180084e7f
jmp 0x18007d3c5
jmp case.0x18007d2bd.88
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xc10]
call fcn.1800b7030
mov qword [rsp + 0x58], rax
mov eax, 1
mov rcx, qword [rsp + 0x58]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0xe8]
inc eax
mov rcx, qword [rsp + 0x40]
cmp dword [rcx + 0xdc], eax
jle 0x180084ee4
mov dword [rsp + 0x30], 6
mov rax, qword [rsp + 0xc10]
mov byte [rax + 0xc2], 2
jmp 0x180087f2b
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x2f8], eax
mov dword [rsp + 0x240], 0
movsxd rax, dword [rsp + 0x2f8]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
lea r8, [rsp + 0x240]
mov rdx, qword [rsp + 0x38]
mov edx, dword [rdx + 4]
mov rcx, qword [rcx + rax + 8]
call fcn.1800350b0
mov dword [rsp + 0x30], eax
mov eax, 4
mov rcx, qword [rsp + 0x58]
mov word [rcx + 0x14], ax
movsxd rax, dword [rsp + 0x240]
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
cmp dword [rsp + 0x30], 0
je 0x180084f5b
jmp 0x180087f2b
cmp dword [rsp + 0x240], 0
je 0x180084f97
mov rax, qword [rsp + 0x38]
mov r9d, dword [rax + 4]
mov r8d, dword [rsp + 0x240]
mov edx, dword [rsp + 0x2f8]
mov rcx, qword [rsp + 0x40]
call fcn.18006fee0
mov eax, dword [rsp + 0x2f8]
inc eax
mov byte [rsp + 0xb0], al
jmp case.0x18007d2bd.88
mov qword [rsp + 0x628], 0
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
lea r8, [rsp + 0x628]
mov rdx, qword [rsp + 0x38]
mov edx, dword [rdx + 4]
mov rcx, qword [rcx + rax + 8]
call fcn.180035100
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x38]
cmp dword [rax + 0xc], 0
je 0x180085046
mov rax, qword [rsp + 0xc10]
mov rax, qword [rax + 0x38]
add rax, qword [rsp + 0x628]
mov rcx, qword [rsp + 0xc10]
mov qword [rcx + 0x38], rax
mov rax, qword [rsp + 0x38]
cmp dword [rax + 0xc], 0
jle 0x180085046
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx + rax]
add rax, qword [rsp + 0x628]
mov rcx, qword [rsp + 0x38]
movsxd rcx, dword [rcx + 0xc]
imul rcx, rcx, 0x38
mov rdx, qword [rsp + 0x60]
mov qword [rdx + rcx], rax
cmp dword [rsp + 0x30], 0
je 0x180085052
jmp 0x180087f2b
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x630], rax
mov rax, qword [rsp + 0x630]
movzx eax, byte [rax]
cmp eax, 1
jne 0x1800850a0
mov rax, qword [rsp + 0x630]
mov rdx, qword [rax + 0x30]
mov rcx, qword [rsp + 0x40]
call fcn.18008b620
jmp 0x1800850c1
mov rax, qword [rsp + 0x630]
mov rcx, qword [rax + 0x30]
call fcn.1800351a0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x1800850c1
jmp 0x180087f2b
jmp case.0x18007d2bd.88
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xc10]
call fcn.1800b7030
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x430], 0
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
add rax, qword [rcx + 0x20]
mov qword [rsp + 0x8c0], rax
mov rax, qword [rsp + 0x38]
mov r8d, dword [rax + 0xc]
lea rdx, [rsp + 0x430]
mov rax, qword [rsp + 0x8c0]
mov rcx, qword [rax + 8]
call fcn.180034990
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x180085138
jmp 0x180087f2b
mov eax, dword [rsp + 0x430]
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x70]
inc al
mov rcx, qword [rsp + 0x40]
mov byte [rcx + 0x70], al
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov rax, qword [rsp + 0x38]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rsp + 0x40]
call fcn.1800227c0
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x70]
dec al
mov rcx, qword [rsp + 0x40]
mov byte [rcx + 0x70], al
cmp dword [rsp + 0x30], 0
je 0x1800851a4
jmp 0x180087f2b
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 4]
mov dword [rsp + 0x1e0], eax
mov rax, qword [rsp + 0x38]
cmp qword [rax + 0x10], 0
jne 0x180085264
movsxd rax, dword [rsp + 0x1e0]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov rcx, qword [rcx + rax + 0x18]
call fcn.180075260
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x2c]
and eax, 0xffffffef
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x2c], eax
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
mov rcx, qword [rsp + 0xc10]
add rcx, 0xa8
mov r9d, eax
mov r8, rcx
mov edx, dword [rsp + 0x1e0]
mov rcx, qword [rsp + 0x40]
call fcn.180044a30
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x2c]
or eax, 1
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x2c], eax
mov rax, qword [rsp + 0xc10]
mov eax, dword [rax + 0xc8]
and eax, 0xfffffffc
mov rcx, qword [rsp + 0xc10]
mov dword [rcx + 0xc8], eax
jmp 0x1800853d4
lea rax, [0x180172610]
mov qword [rsp + 0x8c8], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x968], rax
mov eax, dword [rsp + 0x1e0]
mov dword [rsp + 0x978], eax
mov rax, qword [rsp + 0xc10]
add rax, 0xa8
mov qword [rsp + 0x970], rax
mov dword [rsp + 0x980], 0
movsxd rax, dword [rsp + 0x1e0]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov rcx, qword [rcx + rax + 8]
call fcn.180033e40
mov dword [rsp + 0x988], eax
movsxd rax, dword [rsp + 0x1e0]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov rdx, qword [rsp + 0x38]
mov rdx, qword [rdx + 0x10]
mov qword [rsp + 0x20], rdx
mov r9, qword [rsp + 0x8c8]
mov r8, qword [rcx + rax]
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
mov rcx, qword [rsp + 0x40]
call fcn.180041ea0
mov qword [rsp + 0x638], rax
cmp qword [rsp + 0x638], 0
jne 0x180085335
mov dword [rsp + 0x30], 7
jmp 0x1800853d4
mov rax, qword [rsp + 0x40]
mov byte [rax + 0xc5], 1
mov dword [rsp + 0x97c], 0
mov dword [rsp + 0x984], 0
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x968]
lea r8, [fcn.1800445b0]
mov rdx, qword [rsp + 0x638]
mov rcx, qword [rsp + 0x40]
call fcn.1800227c0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
jne 0x180085397
mov eax, dword [rsp + 0x97c]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
jne 0x1800853b6
cmp dword [rsp + 0x984], 0
jne 0x1800853b6
mov ecx, 0x17207
call fcn.180040c80
mov dword [rsp + 0x30], eax
mov rdx, qword [rsp + 0x638]
mov rcx, qword [rsp + 0x40]
call fcn.180041820
mov rax, qword [rsp + 0x40]
mov byte [rax + 0xc5], 0
cmp dword [rsp + 0x30], 0
je 0x1800853f6
mov rcx, qword [rsp + 0x40]
call fcn.18004a070
cmp dword [rsp + 0x30], 7
jne 0x1800853f1
jmp 0x18008817b
jmp 0x180087f2b
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x40]
call fcn.180074b70
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x18008541d
jmp 0x180087f2b
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
mov r8, qword [rax + 0x10]
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x40]
call fcn.180062190
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
mov r8, qword [rax + 0x10]
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x40]
call fcn.180062210
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
mov r8, qword [rax + 0x10]
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x40]
call fcn.18006a8c0
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
mov dword [rsp + 0x54c], eax
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x8d0], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x640], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x640]
mov eax, dword [rax]
inc eax
mov ecx, 4
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x8d0]
add rdx, rcx
mov rcx, rdx
mov rdx, qword [rsp + 0x38]
movzx edx, word [rdx + 2]
imul rdx, rdx, 0x20
mov rdi, qword [rsp + 0x40]
mov rdi, qword [rdi + 0x20]
lea rsi, [rsp + 0x434]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x54c]
mov r8, rcx
mov rdx, qword [rdi + rdx + 8]
mov rcx, qword [rsp + 0x40]
call fcn.180037580
mov qword [rsp + 0x740], rax
mov rcx, qword [rsp + 0x50]
call fcn.180089f90
cmp dword [rsp + 0x434], 0
jne 0x180085561
jmp 0x1800855c2
cmp qword [rsp + 0x740], 0
jne 0x180085573
jmp 0x18008817b
mov eax, dword [rsp + 0x434]
dec eax
cdqe
mov rcx, qword [rsp + 0x640]
mov rcx, qword [rcx]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x640]
mov qword [rcx], rax
lea rax, [fcn.180024560]
mov qword [rsp + 0x20], rax
mov r9b, 1
mov r8, 0xffffffffffffffff
mov rdx, qword [rsp + 0x740]
mov rcx, qword [rsp + 0x50]
call fcn.180089ac0
movzx eax, byte [rsp + 0x48]
mov edx, eax
mov rcx, qword [rsp + 0x50]
call fcn.1800897c0
jmp 0x18007d2e2
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
and eax, 0x10
test eax, eax
jne 0x180085638
mov rcx, qword [rsp + 0x50]
call fcn.18008a040
test eax, eax
je 0x180085638
jmp 0x18008817b
mov rax, qword [rsp + 0x98]
mov rdx, qword [rax]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + 8]
call fcn.18004f570
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
and eax, 0x10
test eax, eax
je 0x18008569d
lea rdx, [rsp + 0x8d8]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + 8]
call fcn.18004f860
test eax, eax
jne 0x1800856ae
mov rcx, qword [rsp + 0x50]
call fcn.180089f90
jmp case.0x18007d2bd.7
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov rdx, qword [rsp + 0x8d8]
mov rcx, rax
call fcn.180089df0
jmp 0x18007d2e2
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x2fc], eax
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
and eax, 0x10
test eax, eax
jne 0x18008574a
mov rcx, qword [rsp + 0x50]
call fcn.18008a040
test eax, eax
je 0x18008574a
jmp 0x18008817b
cmp dword [rsp + 0x2fc], 0
je 0x18008578a
mov rax, qword [rsp + 0x90]
mov r8, qword [rax]
mov edx, dword [rsp + 0x2fc]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + 8]
call fcn.18004f630
mov dword [rsp + 0x548], eax
cmp dword [rsp + 0x548], 0
je 0x18008578a
jmp 0x18007d3c5
cmp dword [rsp + 0x2fc], 0
jl 0x1800857ad
mov rax, qword [rsp + 0x90]
mov rdx, qword [rax]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + 8]
call fcn.18004f570
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x190], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x310], rax
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
test eax, eax
je 0x180085864
mov rax, qword [rsp + 0x190]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x8e0], rax
mov rax, qword [rsp + 0xc10]
mov rax, qword [rax + 0x108]
mov qword [rsp + 0xa8], rax
jmp 0x180085831
mov rax, qword [rsp + 0xa8]
mov rax, qword [rax + 8]
mov qword [rsp + 0xa8], rax
cmp qword [rsp + 0xa8], 0
je 0x180085854
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x8e0]
cmp qword [rax + 0x38], rcx
je 0x180085854
jmp 0x18008581d
cmp qword [rsp + 0xa8], 0
je 0x180085864
jmp case.0x18007d2bd.88
mov eax, 4
imul rax, rax, 0xa
mov rcx, qword [rsp + 0xc10]
mov rdx, qword [rsp + 0x40]
mov eax, dword [rdx + rax + 0x88]
cmp dword [rcx + 0x118], eax
jl 0x1800858aa
mov dword [rsp + 0x30], 1
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, qword [rsp + 0xc10]
call fcn.18007c710
jmp 0x180087f2b
mov rax, qword [rsp + 0x310]
movzx eax, word [rax + 0x14]
and eax, 0x10
test eax, eax
jne 0x180085b7c
mov rax, qword [rsp + 0x190]
mov eax, dword [rax + 0xc]
mov rcx, qword [rsp + 0x190]
add eax, dword [rcx + 0x10]
mov dword [rsp + 0x248], eax
mov rax, qword [rsp + 0x190]
cmp dword [rax + 0x10], 0
jne 0x1800858fc
mov eax, dword [rsp + 0x248]
inc eax
mov dword [rsp + 0x248], eax
movsxd rax, dword [rsp + 0x248]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x190]
movsxd rcx, dword [rcx + 0x10]
lea rax, [rax + rcx*8 + 0x78]
mov qword [rsp + 0x8e8], rax
mov rcx, qword [rsp + 0x190]
mov ecx, dword [rcx + 8]
add ecx, 7
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
cdqe
mov rcx, qword [rsp + 0x8e8]
add rcx, rax
mov rax, rcx
mov dword [rsp + 0x438], eax
movsxd rax, dword [rsp + 0x438]
mov rdx, rax
mov rcx, qword [rsp + 0x40]
call fcn.180041060
mov qword [rsp + 0xa8], rax
cmp qword [rsp + 0xa8], 0
jne 0x18008597e
jmp 0x18008817b
mov rcx, qword [rsp + 0x310]
call fcn.18008a9e0
mov eax, 0x1010
mov rcx, qword [rsp + 0x310]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x310]
mov rcx, qword [rsp + 0xa8]
mov qword [rax + 8], rcx
mov rax, qword [rsp + 0x310]
mov ecx, dword [rsp + 0x438]
mov dword [rax + 0x10], ecx
mov rax, qword [rsp + 0x310]
lea rcx, [0x18008aec0]
mov qword [rax + 0x30], rcx
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xc10]
mov qword [rax], rcx
mov rax, qword [rsp + 0xa8]
mov ecx, dword [rsp + 0x248]
mov dword [rax + 0x60], ecx
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x190]
mov ecx, dword [rcx + 0x10]
mov dword [rax + 0x64], ecx
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x38]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, 0x18
idiv rcx
mov rcx, qword [rsp + 0xa8]
mov dword [rcx + 0x54], eax
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x68]
mov qword [rax + 0x20], rcx
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xc10]
mov ecx, dword [rcx + 0x24]
mov dword [rax + 0x5c], ecx
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov qword [rax + 0x28], rcx
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xc10]
mov ecx, dword [rcx + 0x28]
mov dword [rax + 0x50], ecx
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x88]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xc10]
mov ecx, dword [rcx + 0x90]
mov dword [rax + 0x58], ecx
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x190]
mov rcx, qword [rcx + 0x20]
mov qword [rax + 0x38], rcx
mov eax, 1
imul rax, rax, 0x78
mov rcx, qword [rsp + 0xa8]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0xa8]
movsxd rcx, dword [rcx + 0x60]
imul rcx, rcx, 0x38
add rax, rcx
mov qword [rsp + 0x8f0], rax
mov eax, 1
imul rax, rax, 0x78
mov rcx, qword [rsp + 0xa8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x458], rax
jmp 0x180085b47
mov rax, qword [rsp + 0x458]
add rax, 0x38
mov qword [rsp + 0x458], rax
mov rax, qword [rsp + 0x8f0]
cmp qword [rsp + 0x458], rax
je 0x180085b7a
xor eax, eax
mov rcx, qword [rsp + 0x458]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x458]
mov rcx, qword [rsp + 0x40]
mov qword [rax + 0x18], rcx
jmp 0x180085b33
jmp 0x180085b90
mov rax, qword [rsp + 0x310]
mov rax, qword [rax + 8]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xc10]
mov eax, dword [rax + 0x118]
inc eax
mov rcx, qword [rsp + 0xc10]
mov dword [rcx + 0x118], eax
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x108]
mov qword [rax + 8], rcx
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x38]
mov qword [rax + 0x40], rcx
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x38]
mov qword [rax + 0x68], rcx
mov rax, qword [rsp + 0xc10]
mov rax, qword [rax]
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rax + 0x78]
mov qword [rcx + 0x70], rax
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x128]
mov qword [rax + 0x48], rcx
mov rax, qword [rsp + 0xc10]
mov qword [rax + 0x128], 0
mov rax, qword [rsp + 0xc10]
mov qword [rax + 0x38], 0
mov rax, qword [rsp + 0xc10]
mov rcx, qword [rsp + 0xa8]
mov qword [rax + 0x108], rcx
mov eax, 1
imul rax, rax, 0x78
mov rcx, qword [rsp + 0xa8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0xc10]
mov rcx, qword [rsp + 0x60]
mov qword [rax + 0x68], rcx
mov rax, qword [rsp + 0xc10]
mov rcx, qword [rsp + 0xa8]
mov ecx, dword [rcx + 0x60]
mov dword [rax + 0x24], ecx
mov rax, qword [rsp + 0xa8]
movzx eax, word [rax + 0x64]
mov rcx, qword [rsp + 0xc10]
mov dword [rcx + 0x28], eax
mov rax, qword [rsp + 0xc10]
movsxd rax, dword [rax + 0x24]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0xc10]
mov qword [rcx + 0x78], rax
mov rax, qword [rsp + 0x190]
movsxd rax, dword [rax + 0x10]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
lea rax, [rcx + rax*8]
mov rcx, qword [rsp + 0xa8]
mov qword [rcx + 0x30], rax
mov rax, qword [rsp + 0x190]
mov eax, dword [rax + 8]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
cdqe
mov r8, rax
xor edx, edx
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rax + 0x30]
call fcn.18014b5d0
mov rax, qword [rsp + 0x190]
mov rax, qword [rax]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xc10]
mov rcx, qword [rsp + 0xb8]
mov qword [rax + 0x88], rcx
mov rax, qword [rsp + 0xc10]
mov rcx, qword [rsp + 0x190]
mov ecx, dword [rcx + 8]
mov dword [rax + 0x90], ecx
mov eax, 0x18
imul rax, rax, 0xffffffffffffffff
mov rcx, qword [rsp + 0xb8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
jmp 0x18007d2e2
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xc10]
call fcn.1800b7030
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0xc10]
mov rax, qword [rax + 0x108]
mov qword [rsp + 0x648], rax
mov rax, qword [rsp + 0x648]
movsxd rax, dword [rax + 0x54]
imul rax, rax, 0x18
mov rcx, qword [rsp + 0x648]
mov rcx, qword [rcx + 0x10]
mov rdx, qword [rsp + 0x38]
mov edx, dword [rdx + 4]
add edx, dword [rcx + rax + 4]
mov eax, edx
cdqe
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x648]
add rax, qword [rcx + 0x20]
mov qword [rsp + 0x8f8], rax
mov r8d, 0x4000
mov rdx, qword [rsp + 0x8f8]
mov rcx, qword [rsp + 0x58]
call fcn.180089980
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x30]
and rax, 0x80000
test rax, rax
je 0x180085e68
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
mov rcx, qword [rsp + 0x40]
add rax, qword [rcx + 0x2f8]
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x2f8], rax
jmp 0x180085eb7
mov rax, qword [rsp + 0x38]
cmp dword [rax + 4], 0
je 0x180085e96
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
mov rcx, qword [rsp + 0x40]
add rax, qword [rcx + 0x2f0]
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x2f0], rax
jmp 0x180085eb7
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
mov rcx, qword [rsp + 0xc10]
add rax, qword [rcx + 0x50]
mov rcx, qword [rsp + 0xc10]
mov qword [rcx + 0x50], rax
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
cmp dword [rax + 4], 0
je 0x180085eec
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x2f0], 0
jne 0x180085eea
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x2f8], 0
jne 0x180085eea
jmp 0x18007d3c5
jmp 0x180085f0f
mov rax, qword [rsp + 0xc10]
cmp qword [rax + 0x50], 0
jne 0x180085f0f
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x2f8], 0
jne 0x180085f0f
jmp 0x18007d3c5
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0xc10]
cmp qword [rax + 0x108], 0
je 0x180085f84
mov rax, qword [rsp + 0xc10]
mov rax, qword [rax + 0x108]
mov qword [rsp + 0x480], rax
jmp 0x180085f53
mov rax, qword [rsp + 0x480]
mov rax, qword [rax + 8]
mov qword [rsp + 0x480], rax
mov rax, qword [rsp + 0x480]
cmp qword [rax + 8], 0
je 0x180085f64
jmp 0x180085f3f
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x480]
add rax, qword [rcx + 0x20]
mov qword [rsp + 0x50], rax
jmp 0x180085fa1
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
call fcn.18008a3d0
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
call fcn.18008a3d0
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x98]
mov rcx, qword [rcx]
cmp qword [rax], rcx
jge 0x180086000
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x98]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp qword [rax], 0
jle 0x180086051
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x50]
mov qword [rcx], rax
jmp 0x18007d3c5
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x90], rax
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xc10]
call fcn.1800b7030
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
mov qword [rsp + 0x650], rax
cmp qword [rsp + 0x650], 0
jle 0x18008610d
mov rax, qword [rsp + 0x90]
cmp qword [rax], 0
jle 0x1800860e8
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
mov qword [rsp + 0x748], rax
jmp 0x1800860f4
mov qword [rsp + 0x748], 0
mov rdx, qword [rsp + 0x748]
lea rcx, [rsp + 0x650]
call fcn.18006f810
test eax, eax
je 0x18008611b
mov rax, qword [rsp + 0x58]
mov qword [rax], 0xffffffffffffffff
jmp 0x18008612b
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x650]
mov qword [rax], rcx
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp qword [rax], 0
je 0x18008617b
mov rax, qword [rsp + 0x50]
cmp qword [rax], 0
jle 0x180086176
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
dec rax
mov rcx, qword [rsp + 0x50]
mov qword [rcx], rax
jmp 0x18007d3c5
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
movabs rcx, 0x8000000000000000
cmp qword [rax], rcx
jle 0x1800861c4
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
dec rax
mov rcx, qword [rsp + 0x50]
mov qword [rcx], rax
mov rax, qword [rsp + 0x50]
cmp qword [rax], 0
jne 0x1800861d4
jmp 0x18007d3c5
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
mov dword [rsp + 0x300], eax
movsxd rax, dword [rsp + 0x300]
lea rax, [rax*8 + 0x68]
mov rdx, rax
mov rcx, qword [rsp + 0x40]
call fcn.180041100
mov qword [rsp + 0x170], rax
cmp qword [rsp + 0x170], 0
jne 0x18008621e
jmp 0x18008817b
mov rax, qword [rsp + 0x170]
mov qword [rax + 0x10], 0
movsxd rax, dword [rsp + 0x300]
mov rcx, qword [rsp + 0x170]
lea rax, [rcx + rax*8 + 0x30]
mov rcx, qword [rsp + 0x170]
mov qword [rcx], rax
mov r8w, 1
mov rdx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x170]
mov rcx, qword [rax]
call fcn.180089f50
mov rax, qword [rsp + 0x170]
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rcx + 0x10]
mov qword [rax + 8], rcx
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x38]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, 0x18
idiv rcx
mov rcx, qword [rsp + 0x170]
mov dword [rcx + 0x20], eax
mov rax, qword [rsp + 0x170]
mov rcx, qword [rsp + 0xc10]
mov qword [rax + 0x18], rcx
mov rax, qword [rsp + 0x170]
mov byte [rax + 0x29], 0
mov rax, qword [rsp + 0x170]
mov dword [rax + 0x24], 0
mov rax, qword [rsp + 0x170]
movzx ecx, byte [rsp + 0x48]
mov byte [rax + 0x28], cl
mov rax, qword [rsp + 0x170]
movzx ecx, byte [rsp + 0x300]
mov byte [rax + 0x2a], cl
mov rax, qword [rsp + 0x38]
mov byte [rax + 1], 0xf1
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x170]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0x38]
mov byte [rax], 0xa3
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0xf8], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x500], rax
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x500]
cmp qword [rax + 0x10], rcx
je 0x1800863dc
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x500]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0xf8]
movzx eax, byte [rax + 0x2a]
dec eax
mov dword [rsp + 0x120], eax
jmp 0x18008639b
mov eax, dword [rsp + 0x120]
dec eax
mov dword [rsp + 0x120], eax
cmp dword [rsp + 0x120], 0
jl 0x1800863dc
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
add eax, dword [rsp + 0x120]
cdqe
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
movsxd rcx, dword [rsp + 0x120]
mov rdx, qword [rsp + 0xf8]
mov qword [rdx + rcx*8 + 0x30], rax
jmp 0x18008638b
mov rax, qword [rsp + 0x500]
mov eax, dword [rax + 0x10]
inc eax
mov rcx, qword [rsp + 0x500]
mov dword [rcx + 0x10], eax
mov rax, qword [rsp + 0x38]
cmp dword [rax + 4], 0
je 0x180086445
mov rax, qword [rsp + 0xf8]
add rax, 0x30
mov rcx, qword [rsp + 0xf8]
movzx ecx, byte [rcx + 0x2a]
mov rdx, qword [rsp + 0xf8]
mov rdx, qword [rdx + 8]
mov qword [rsp + 0x900], rdx
mov r8, rax
mov edx, ecx
mov rcx, qword [rsp + 0xf8]
mov rax, qword [rsp + 0x900]
call qword [rax + 0x30]
jmp 0x180086489
mov rax, qword [rsp + 0xf8]
add rax, 0x30
mov rcx, qword [rsp + 0xf8]
movzx ecx, byte [rcx + 0x2a]
mov rdx, qword [rsp + 0xf8]
mov rdx, qword [rdx + 8]
mov qword [rsp + 0x908], rdx
mov r8, rax
mov edx, ecx
mov rcx, qword [rsp + 0xf8]
mov rax, qword [rsp + 0x908]
call qword [rax + 0x18]
mov rax, qword [rsp + 0xf8]
cmp dword [rax + 0x24], 0
je 0x180086581
mov rax, qword [rsp + 0xf8]
cmp dword [rax + 0x24], 0
jle 0x1800864df
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rax]
call fcn.180027160
mov r8, rax
lea rdx, [0x18017194c]
mov rcx, qword [rsp + 0xc10]
call fcn.18007c710
mov rax, qword [rsp + 0xf8]
mov eax, dword [rax + 0x24]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0xf8]
movzx eax, byte [rax + 0x29]
test eax, eax
je 0x180086542
mov eax, 0x18
imul rax, rax, 0xffffffffffffffff
mov rcx, qword [rsp + 0x38]
mov eax, dword [rcx + rax + 4]
mov dword [rsp + 0x120], eax
cmp dword [rsp + 0x120], 0
je 0x180086536
movsxd rax, dword [rsp + 0x120]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov edx, 1
mov rcx, rax
call fcn.180089df0
mov rax, qword [rsp + 0xf8]
mov byte [rax + 0x29], 0
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rax]
call fcn.18008a9e0
mov rax, qword [rsp + 0xf8]
mov rax, qword [rax]
mov ecx, 1
mov word [rax + 0x14], cx
mov rax, qword [rsp + 0xf8]
mov dword [rax + 0x24], 0
cmp dword [rsp + 0x30], 0
je 0x180086581
jmp 0x180087f2b
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x460], rax
mov rax, qword [rsp + 0x38]
cmp dword [rax + 0xc], 0
je 0x180086608
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x38]
mov r8, qword [rcx + 0x10]
mov rdx, rax
mov rcx, qword [rsp + 0x460]
call fcn.18008ab40
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x460], rax
jmp 0x180086622
mov rax, qword [rsp + 0x38]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rsp + 0x460]
call fcn.18008aa50
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x180086652
mov rcx, qword [rsp + 0x460]
call fcn.180027160
mov r8, rax
lea rdx, [0x180171974]
mov rcx, qword [rsp + 0xc10]
call fcn.18007c710
jmp 0x180087f2b
movzx eax, byte [rsp + 0x48]
mov edx, eax
mov rcx, qword [rsp + 0x460]
call fcn.1800897c0
jmp case.0x18007d2bd.88
mov eax, 4
imul rax, rax, 0
mov dword [rsp + rax + 0xbd0], 0
mov eax, 4
imul rax, rax, 2
mov dword [rsp + rax + 0xbd0], 0xffffffff
mov eax, 4
imul rax, rax, 1
mov dword [rsp + rax + 0xbd0], 0xffffffff
mov eax, 4
imul rax, rax, 2
lea rax, [rsp + rax + 0xbd0]
mov ecx, 4
imul rcx, rcx, 1
lea rcx, [rsp + rcx + 0xbd0]
mov qword [rsp + 0x20], rax
mov r9, rcx
mov rax, qword [rsp + 0x38]
mov r8d, dword [rax + 8]
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x40]
call fcn.180079180
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x18008671f
cmp dword [rsp + 0x30], 5
je 0x180086703
jmp 0x180087f2b
mov dword [rsp + 0x30], 0
mov eax, 4
imul rax, rax, 0
mov dword [rsp + rax + 0xbd0], 1
mov dword [rsp + 0x218], 0
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x658], rax
jmp 0x180086770
mov eax, dword [rsp + 0x218]
inc eax
mov dword [rsp + 0x218], eax
mov rax, qword [rsp + 0x658]
add rax, 0x38
mov qword [rsp + 0x658], rax
cmp dword [rsp + 0x218], 3
jge 0x18008679c
movsxd rax, dword [rsp + 0x218]
movsxd rax, dword [rsp + rax*4 + 0xbd0]
mov rdx, rax
mov rcx, qword [rsp + 0x658]
call fcn.180089df0
jmp 0x18008674c
jmp case.0x18007d2bd.88
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xc10]
call fcn.1800b7030
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0xc8], eax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rcx + rax + 8]
mov qword [rsp + 0x758], rax
mov rcx, qword [rsp + 0x758]
call fcn.180037b50
mov qword [rsp + 0x288], rax
mov rcx, qword [rsp + 0x288]
call fcn.180031460
mov dword [rsp + 0x124], eax
cmp dword [rsp + 0xc8], 0xffffffff
jne 0x18008682b
mov eax, dword [rsp + 0x124]
mov dword [rsp + 0xc8], eax
mov rcx, qword [rsp + 0x288]
call fcn.180031480
test eax, eax
jne 0x18008684a
mov eax, dword [rsp + 0x124]
mov dword [rsp + 0xc8], eax
mov edx, 1
mov rcx, qword [rsp + 0x288]
call fcn.180032cf0
mov qword [rsp + 0x910], rax
cmp dword [rsp + 0xc8], 5
jne 0x18008689e
mov rcx, qword [rsp + 0x910]
call fcn.180040e00
test eax, eax
je 0x180086890
mov rcx, qword [rsp + 0x288]
call fcn.1800329a0
test eax, eax
jne 0x18008689e
mov eax, dword [rsp + 0x124]
mov dword [rsp + 0xc8], eax
mov eax, dword [rsp + 0x124]
cmp dword [rsp + 0xc8], eax
je 0x1800869d7
cmp dword [rsp + 0x124], 5
je 0x1800868ca
cmp dword [rsp + 0xc8], 5
jne 0x1800869d7
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x65]
test eax, eax
je 0x1800868e5
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0xdc], 1
jle 0x18008693d
mov dword [rsp + 0x30], 1
cmp dword [rsp + 0xc8], 5
jne 0x180086908
lea rax, str.into
mov qword [rsp + 0x750], rax
jmp 0x180086917
lea rax, str.out_of
mov qword [rsp + 0x750], rax
mov r8, qword [rsp + 0x750]
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
mov rcx, qword [rsp + 0xc10]
call fcn.18007c710
jmp 0x180087f2b
cmp dword [rsp + 0x124], 5
jne 0x18008697a
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x288]
call fcn.180032ae0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
jne 0x180086978
mov edx, dword [rsp + 0xc8]
mov rcx, qword [rsp + 0x288]
call fcn.1800312c0
jmp 0x180086996
cmp dword [rsp + 0x124], 4
jne 0x180086996
mov edx, 2
mov rcx, qword [rsp + 0x288]
call fcn.1800312c0
cmp dword [rsp + 0x30], 0
jne 0x1800869d7
cmp dword [rsp + 0xc8], 5
jne 0x1800869b4
mov dword [rsp + 0x43c], 2
jmp 0x1800869bf
mov dword [rsp + 0x43c], 1
mov edx, dword [rsp + 0x43c]
mov rcx, qword [rsp + 0x758]
call fcn.180037dd0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x1800869ec
mov eax, dword [rsp + 0x124]
mov dword [rsp + 0xc8], eax
mov edx, dword [rsp + 0xc8]
mov rcx, qword [rsp + 0x288]
call fcn.1800312c0
mov dword [rsp + 0xc8], eax
mov eax, 0x2202
mov rcx, qword [rsp + 0x58]
mov word [rcx + 0x14], ax
mov ecx, dword [rsp + 0xc8]
call fcn.180079150
mov rcx, qword [rsp + 0x58]
mov qword [rcx + 8], rax
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 8]
call fcn.180040e00
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 0x10], eax
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x16], 1
movzx eax, byte [rsp + 0x48]
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.1800897c0
cmp dword [rsp + 0x30], 0
je 0x180086a66
jmp 0x180087f2b
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
cmp dword [rax + 8], 0
je 0x180086a98
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x760], rax
jmp 0x180086aa4
mov qword [rsp + 0x760], 0
mov rax, qword [rsp + 0xc10]
add rax, 0xa8
mov r9, qword [rsp + 0x760]
mov rcx, qword [rsp + 0x38]
mov r8d, dword [rcx + 4]
mov rdx, qword [rsp + 0x40]
mov rcx, rax
call fcn.180062460
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x180086ae0
jmp 0x180087f2b
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rcx + rax + 8]
mov qword [rsp + 0x918], rax
mov rcx, qword [rsp + 0x918]
call fcn.180034f50
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x180086b39
cmp dword [rsp + 0x30], 0x65
je 0x180086b2c
jmp 0x180087f2b
mov dword [rsp + 0x30], 0
jmp 0x18007d3c5
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
cmp dword [rax + 4], 0
jne 0x180086b5d
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 8]
mov rcx, qword [rsp + 0x40]
call fcn.180071990
jmp 0x180086b8d
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
inc eax
and eax, 3
mov rcx, qword [rsp + 0xc10]
mov ecx, dword [rcx + 0xc8]
and ecx, 0xfffffffc
or ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0xc10]
mov dword [rcx + 0xc8], eax
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x920], rax
mov rax, qword [rsp + 0x920]
mov rcx, qword [rax + 0x30]
call fcn.180037460
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x928], rax
mov rax, qword [rsp + 0x928]
mov rcx, qword [rax + 0x30]
call fcn.180037480
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax + 0xc]
mov byte [rsp + 0xe9], al
movzx eax, byte [rsp + 0xe9]
test eax, eax
jne 0x180086c34
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x30]
and rax, 0x400
test rax, rax
jne 0x180086cbe
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 4]
mov dword [rsp + 0x544], eax
movsxd rax, dword [rsp + 0x544]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
movzx r8d, byte [rsp + 0xe9]
mov rdx, qword [rsp + 0x38]
mov edx, dword [rdx + 8]
mov rcx, qword [rcx + rax + 8]
call fcn.180034b40
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x180086cbe
mov eax, dword [rsp + 0x30]
and eax, 0xff
cmp eax, 6
jne 0x180086cb9
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x930], rax
mov r8, qword [rsp + 0x930]
lea rdx, str.database_table_is_locked:__s
mov rcx, qword [rsp + 0xc10]
call fcn.18007c710
jmp 0x180087f2b
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x660], rax
mov rdx, qword [rsp + 0x660]
mov rcx, qword [rsp + 0x40]
call fcn.180078700
mov dword [rsp + 0x30], eax
cmp qword [rsp + 0x660], 0
je 0x180086d0e
mov rax, qword [rsp + 0x660]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rsp + 0xc10]
call fcn.180077420
cmp dword [rsp + 0x30], 0
je 0x180086d1a
jmp 0x180087f2b
jmp case.0x18007d2bd.88
mov r8d, 0x38
xor edx, edx
lea rcx, [rsp + 0xb60]
call fcn.18014b5d0
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0xb78], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [rsp + 0xb60]
call fcn.1800898c0
mov dword [rsp + 0x30], eax
lea rcx, [rsp + 0xb60]
call fcn.180027160
mov qword [rsp + 0x768], rax
cmp qword [rsp + 0x768], 0
je 0x180086dbc
mov rax, qword [rsp + 0xc10]
add rax, 0xa8
mov r9, rax
mov r8, qword [rsp + 0x768]
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x40]
call fcn.180078300
mov dword [rsp + 0x30], eax
lea rcx, [rsp + 0xb60]
call fcn.18008a9e0
cmp dword [rsp + 0x30], 0
je 0x180086dd5
jmp 0x180087f2b
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0xe8]
inc eax
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0xe8], eax
mov rax, qword [rsp + 0x38]
mov r8, qword [rax + 0x10]
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x40]
call fcn.180078590
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0xe8]
dec eax
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0xe8], eax
cmp dword [rsp + 0x30], 0
je 0x180086e35
jmp 0x180087f2b
jmp case.0x18007d2bd.88
mov qword [rsp + 0x668], 0
mov qword [rsp + 0x508], 0
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x270], rax
cmp qword [rsp + 0x270], 0
je 0x180086e80
mov rax, qword [rsp + 0x270]
cmp qword [rax], 0
jne 0x180086e8d
mov dword [rsp + 0x30], 6
jmp 0x180087f2b
mov rax, qword [rsp + 0x270]
mov rax, qword [rax]
mov qword [rsp + 0x770], rax
lea rdx, [rsp + 0x508]
mov rcx, qword [rsp + 0x270]
mov rax, qword [rsp + 0x770]
call qword [rax + 0x30]
mov dword [rsp + 0x30], eax
mov rdx, qword [rsp + 0x270]
mov rcx, qword [rsp + 0xc10]
call fcn.180077420
cmp dword [rsp + 0x30], 0
je 0x180086ee0
jmp 0x180087f2b
mov rax, qword [rsp + 0x508]
mov rcx, qword [rsp + 0x270]
mov qword [rax], rcx
mov r9b, 2
xor r8d, r8d
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
call fcn.1800b6a00
mov qword [rsp + 0x668], rax
cmp qword [rsp + 0x668], 0
je 0x180086f4f
mov rax, qword [rsp + 0x668]
mov rcx, qword [rsp + 0x508]
mov qword [rax + 0x30], rcx
mov rax, qword [rsp + 0x270]
mov eax, dword [rax + 8]
inc eax
mov rcx, qword [rsp + 0x270]
mov dword [rcx + 8], eax
jmp 0x180086f67
mov rcx, qword [rsp + 0x508]
mov rax, qword [rsp + 0x770]
call qword [rax + 0x38]
jmp 0x18008817b
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x938], rax
mov ecx, 0x10
call fcn.1800244a0
mov qword [rsp + 0x510], rax
cmp qword [rsp + 0x510], 0
jne 0x180086faf
jmp 0x18008817b
mov rax, qword [rsp + 0x510]
mov rcx, qword [rsp + 0x938]
mov rcx, qword [rcx + 0x30]
mov qword [rax], rcx
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x510]
mov qword [rcx + 8], rax
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xc10]
call fcn.1800b7030
mov qword [rsp + 0x58], rax
mov eax, 1
mov rcx, qword [rsp + 0x58]
mov word [rcx + 0x14], ax
lea r9, [fcn.180024560]
lea r8, str.ValueList
mov rdx, qword [rsp + 0x510]
mov rcx, qword [rsp + 0x58]
call fcn.180089ea0
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x778], rax
mov eax, 0x38
imul rax, rax, 1
mov rcx, qword [rsp + 0x778]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x780], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x7a0], rax
mov rax, qword [rsp + 0x7a0]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x670], rax
mov rax, qword [rsp + 0x670]
mov rax, qword [rax]
mov qword [rsp + 0x790], rax
mov rax, qword [rsp + 0x790]
mov rax, qword [rax]
mov qword [rsp + 0x798], rax
mov rax, qword [rsp + 0x780]
mov eax, dword [rax]
mov dword [rsp + 0x440], eax
mov rax, qword [rsp + 0x778]
mov eax, dword [rax]
mov dword [rsp + 0x540], eax
mov rax, qword [rsp + 0xc10]
mov rax, qword [rax + 0x70]
mov qword [rsp + 0x788], rax
mov dword [rsp + 0x1a0], 0
jmp 0x180087121
mov eax, dword [rsp + 0x1a0]
inc eax
mov dword [rsp + 0x1a0], eax
mov eax, dword [rsp + 0x440]
cmp dword [rsp + 0x1a0], eax
jge 0x180087164
mov eax, dword [rsp + 0x1a0]
inc eax
cdqe
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x780]
add rcx, rax
mov rax, rcx
movsxd rcx, dword [rsp + 0x1a0]
mov rdx, qword [rsp + 0x788]
mov qword [rdx + rcx*8], rax
jmp 0x180087111
mov rax, qword [rsp + 0x788]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x440]
mov rax, qword [rsp + 0x38]
mov r8, qword [rax + 0x10]
mov edx, dword [rsp + 0x540]
mov rcx, qword [rsp + 0x670]
mov rax, qword [rsp + 0x798]
call qword [rax + 0x40]
mov dword [rsp + 0x30], eax
mov rdx, qword [rsp + 0x790]
mov rcx, qword [rsp + 0xc10]
call fcn.180077420
cmp dword [rsp + 0x30], 0
je 0x1800871c1
jmp 0x180087f2b
mov rcx, qword [rsp + 0x670]
mov rax, qword [rsp + 0x798]
call qword [rax + 0x50]
mov dword [rsp + 0x53c], eax
mov rax, qword [rsp + 0x7a0]
mov byte [rax + 2], 0
cmp dword [rsp + 0x53c], 0
je 0x1800871f6
jmp 0x18007d3c5
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x678], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x260], rax
mov rax, qword [rsp + 0x678]
movzx eax, byte [rax + 2]
test eax, eax
je 0x18008725e
mov rcx, qword [rsp + 0x260]
call fcn.180089f90
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x678]
mov rax, qword [rax + 0x30]
mov rax, qword [rax]
mov qword [rsp + 0x7a8], rax
mov rax, qword [rsp + 0x7a8]
mov rax, qword [rax]
mov qword [rsp + 0x940], rax
mov r8d, 0x38
xor edx, edx
lea rcx, [rsp + 0xa88]
call fcn.18014b5d0
mov rax, qword [rsp + 0x260]
mov qword [rsp + 0xa88], rax
movzx eax, byte [rsp + 0x48]
mov byte [rsp + 0xab0], al
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
and eax, 1
test eax, eax
je 0x1800872f7
mov rcx, qword [rsp + 0x260]
call fcn.180089f90
mov eax, 0x401
mov rcx, qword [rsp + 0x260]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x260]
mov dword [rax], 0
jmp 0x180087317
mov rax, qword [rsp + 0x260]
movzx eax, word [rax + 0x14]
and eax, 0xfffff240
or eax, 1
mov rcx, qword [rsp + 0x260]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x38]
mov r8d, dword [rax + 8]
lea rdx, [rsp + 0xa88]
mov rax, qword [rsp + 0x678]
mov rcx, qword [rax + 0x30]
mov rax, qword [rsp + 0x940]
call qword [rax + 0x58]
mov dword [rsp + 0x30], eax
mov rdx, qword [rsp + 0x7a8]
mov rcx, qword [rsp + 0xc10]
call fcn.180077420
cmp dword [rsp + 0xaac], 0
jle 0x180087391
mov rcx, qword [rsp + 0x260]
call fcn.180027160
mov r8, rax
lea rdx, [0x180171994]
mov rcx, qword [rsp + 0xc10]
call fcn.18007c710
mov eax, dword [rsp + 0xaac]
mov dword [rsp + 0x30], eax
movzx eax, byte [rsp + 0x48]
mov edx, eax
mov rcx, qword [rsp + 0x260]
call fcn.1800897c0
cmp dword [rsp + 0x30], 0
je 0x1800873b1
jmp 0x180087f2b
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x518], rax
mov rax, qword [rsp + 0x518]
movzx eax, byte [rax + 2]
test eax, eax
je 0x1800873ec
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x518]
mov rax, qword [rax + 0x30]
mov rax, qword [rax]
mov qword [rsp + 0x7b0], rax
mov rax, qword [rsp + 0x7b0]
mov rax, qword [rax]
mov qword [rsp + 0x7b8], rax
mov rax, qword [rsp + 0x518]
mov rcx, qword [rax + 0x30]
mov rax, qword [rsp + 0x7b8]
call qword [rax + 0x48]
mov dword [rsp + 0x30], eax
mov rdx, qword [rsp + 0x7b0]
mov rcx, qword [rsp + 0xc10]
call fcn.180077420
cmp dword [rsp + 0x30], 0
je 0x180087452
jmp 0x180087f2b
mov rax, qword [rsp + 0x518]
mov rcx, qword [rax + 0x30]
mov rax, qword [rsp + 0x7b8]
call qword [rax + 0x50]
mov dword [rsp + 0x538], eax
cmp dword [rsp + 0x538], 0
jne 0x18008747f
jmp case.0x18007d2bd.7
jmp 0x18007d2e2
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x30]
and rax, 0x4000000
mov dword [rsp + 0x534], eax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x30]
bts rax, 0x1a
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x30], rax
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x680], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x7c0], rax
mov edx, 1
mov rcx, qword [rsp + 0x7c0]
call fcn.1800897c0
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x180087508
jmp 0x180087f2b
mov rax, qword [rsp + 0x680]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x7c0]
mov rdx, qword [rcx + 8]
mov rcx, qword [rsp + 0x680]
call qword [rax + 0x98]
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x534], 0
jne 0x180087552
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x30]
btr rax, 0x1a
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x30], rax
mov rdx, qword [rsp + 0x680]
mov rcx, qword [rsp + 0xc10]
call fcn.180077420
mov rax, qword [rsp + 0xc10]
mov eax, dword [rax + 0xc8]
and eax, 0xfffffffc
mov rcx, qword [rsp + 0xc10]
mov dword [rcx + 0xc8], eax
cmp dword [rsp + 0x30], 0
je 0x180087592
jmp 0x180087f2b
jmp case.0x18007d2bd.88
mov qword [rsp + 0x7d8], 0
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x67]
test eax, eax
je 0x1800875b5
jmp 0x18008817b
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x468], rax
cmp qword [rsp + 0x468], 0
je 0x1800875e3
mov rax, qword [rsp + 0x468]
cmp qword [rax], 0
jne 0x1800875f0
mov dword [rsp + 0x30], 6
jmp 0x180087f2b
mov rax, qword [rsp + 0x468]
mov rax, qword [rax]
mov qword [rsp + 0x7d0], rax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
mov dword [rsp + 0x444], eax
mov rax, qword [rsp + 0x7d0]
cmp qword [rax + 0x68], 0
je 0x1800877f0
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x6c]
mov byte [rsp + 0x138], al
mov rax, qword [rsp + 0xc10]
mov rax, qword [rax + 0x70]
mov qword [rsp + 0x7c8], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x688], rax
mov dword [rsp + 0x21c], 0
jmp 0x180087686
mov eax, dword [rsp + 0x21c]
inc eax
mov dword [rsp + 0x21c], eax
mov eax, dword [rsp + 0x444]
cmp dword [rsp + 0x21c], eax
jge 0x1800876c8
movsxd rax, dword [rsp + 0x21c]
mov rcx, qword [rsp + 0x7c8]
mov rdx, qword [rsp + 0x688]
mov qword [rcx + rax*8], rdx
mov rax, qword [rsp + 0x688]
add rax, 0x38
mov qword [rsp + 0x688], rax
jmp 0x180087676
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
movzx ecx, byte [rcx + 2]
mov byte [rax + 0x6c], cl
lea r9, [rsp + 0x7d8]
mov r8, qword [rsp + 0x7c8]
mov edx, dword [rsp + 0x444]
mov rcx, qword [rsp + 0x468]
mov rax, qword [rsp + 0x7d0]
call qword [rax + 0x68]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x40]
movzx ecx, byte [rsp + 0x138]
mov byte [rax + 0x6c], cl
mov rdx, qword [rsp + 0x468]
mov rcx, qword [rsp + 0xc10]
call fcn.180077420
cmp dword [rsp + 0x30], 0
jne 0x18008774f
mov rax, qword [rsp + 0x38]
cmp dword [rax + 4], 0
je 0x18008774f
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x7d8]
mov qword [rax + 0x38], rcx
mov eax, dword [rsp + 0x30]
and eax, 0xff
cmp eax, 0x13
jne 0x1800877c9
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
movzx eax, byte [rax + 0x1c]
test eax, eax
je 0x1800877c9
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
cmp eax, 4
jne 0x180087786
mov dword [rsp + 0x30], 0
jmp 0x1800877c7
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
cmp eax, 5
jne 0x1800877a1
mov dword [rsp + 0x448], 2
jmp 0x1800877b1
mov rax, qword [rsp + 0x38]
movzx eax, word [rax + 2]
mov dword [rsp + 0x448], eax
mov rax, qword [rsp + 0xc10]
movzx ecx, byte [rsp + 0x448]
mov byte [rax + 0xc2], cl
jmp 0x1800877e4
mov rax, qword [rsp + 0xc10]
mov rax, qword [rax + 0x38]
inc rax
mov rcx, qword [rsp + 0xc10]
mov qword [rcx + 0x38], rax
cmp dword [rsp + 0x30], 0
je 0x1800877f0
jmp 0x180087f2b
jmp case.0x18007d2bd.88
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xc10]
call fcn.1800b7030
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov rcx, qword [rcx + rax + 8]
call fcn.180033e40
mov eax, eax
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
jmp case.0x18007d2bd.88
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xc10]
call fcn.1800b7030
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rcx + rax + 8]
mov qword [rsp + 0x7e0], rax
mov dword [rsp + 0x220], 0
mov rax, qword [rsp + 0x38]
cmp dword [rax + 0xc], 0
je 0x1800878bf
mov rcx, qword [rsp + 0x7e0]
call fcn.180033e40
mov dword [rsp + 0x220], eax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
cmp dword [rsp + 0x220], eax
jae 0x1800878bf
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x220], eax
mov edx, dword [rsp + 0x220]
mov rcx, qword [rsp + 0x7e0]
call fcn.180033df0
mov eax, eax
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x158], rax
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x158]
mov rcx, qword [rsp + 0x58]
cmp qword [rax], rcx
je 0x1800879c2
mov rax, qword [rsp + 0x158]
mov rcx, qword [rsp + 0xc10]
mov qword [rax + 0x18], rcx
mov rax, qword [rsp + 0x158]
mov rcx, qword [rsp + 0x58]
mov qword [rax], rcx
mov rax, qword [rsp + 0x158]
movzx ecx, byte [rsp + 0x48]
mov byte [rax + 0x28], cl
mov rax, qword [rsp + 0x158]
movzx eax, byte [rax + 0x2a]
dec eax
mov dword [rsp + 0x1d4], eax
jmp 0x180087981
mov eax, dword [rsp + 0x1d4]
dec eax
mov dword [rsp + 0x1d4], eax
cmp dword [rsp + 0x1d4], 0
jl 0x1800879c2
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 8]
add eax, dword [rsp + 0x1d4]
cdqe
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
movsxd rcx, dword [rsp + 0x1d4]
mov rdx, qword [rsp + 0x158]
mov qword [rdx + rcx*8 + 0x30], rax
jmp 0x180087971
mov rax, qword [rsp + 0x58]
movzx eax, word [rax + 0x14]
and eax, 0xfffff240
or eax, 1
mov rcx, qword [rsp + 0x58]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x158]
add rax, 0x30
mov rcx, qword [rsp + 0x158]
movzx ecx, byte [rcx + 0x2a]
mov rdx, qword [rsp + 0x158]
mov rdx, qword [rdx + 8]
mov qword [rsp + 0x948], rdx
mov r8, rax
mov edx, ecx
mov rcx, qword [rsp + 0x158]
mov rax, qword [rsp + 0x948]
call qword [rax + 0x18]
mov rax, qword [rsp + 0x158]
cmp dword [rax + 0x24], 0
je 0x180087abb
mov rax, qword [rsp + 0x158]
cmp dword [rax + 0x24], 0
jle 0x180087a70
mov rcx, qword [rsp + 0x58]
call fcn.180027160
mov r8, rax
lea rdx, [0x180171d94]
mov rcx, qword [rsp + 0xc10]
call fcn.18007c710
mov rax, qword [rsp + 0x158]
mov eax, dword [rax + 0x24]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0xc10]
add rax, 0x128
mov rcx, qword [rsp + 0x38]
mov r9d, dword [rcx + 4]
mov rcx, qword [rsp + 0x158]
mov r8d, dword [rcx + 0x20]
mov rdx, rax
mov rcx, qword [rsp + 0x40]
call fcn.18007cd10
mov rax, qword [rsp + 0x158]
mov dword [rax + 0x24], 0
cmp dword [rsp + 0x30], 0
je 0x180087abb
jmp 0x180087f2b
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x60]
call fcn.1800b70a0
mov qword [rsp + 0x470], rax
mov rax, qword [rsp + 0x50]
movsxd rax, dword [rax + 0x10]
mov qword [rsp + 0x950], rax
xor edx, edx
mov rax, qword [rsp + 0x470]
mov rcx, qword [rsp + 0x950]
div rcx
mov rax, rdx
mov qword [rsp + 0x470], rax
xor edx, edx
mov rax, qword [rsp + 0x470]
mov ecx, 8
div rcx
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x958], rcx
mov rdx, qword [rsp + 0x470]
and rdx, 7
mov edi, 1
movzx ecx, dl
mov edx, edi
shl edx, cl
mov ecx, edx
mov rdx, qword [rsp + 0x958]
movsx eax, byte [rdx + rax]
or eax, ecx
mov dword [rsp + 0x530], eax
xor edx, edx
mov rax, qword [rsp + 0x470]
mov ecx, 8
div rcx
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 8]
mov edx, dword [rsp + 0x530]
mov byte [rcx + rax], dl
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x38]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x60]
call fcn.1800b70a0
mov qword [rsp + 0x520], rax
mov rax, qword [rsp + 0x50]
movsxd rax, dword [rax + 0x10]
mov qword [rsp + 0x960], rax
xor edx, edx
mov rax, qword [rsp + 0x520]
mov rcx, qword [rsp + 0x960]
div rcx
mov rax, rdx
mov qword [rsp + 0x520], rax
xor edx, edx
mov rax, qword [rsp + 0x520]
mov ecx, 8
div rcx
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 8]
movsx eax, byte [rcx + rax]
mov rcx, qword [rsp + 0x520]
and rcx, 7
mov edx, 1
shl edx, cl
mov ecx, edx
and eax, ecx
test eax, eax
jne 0x180087c79
mov eax, 4
imul rax, rax, 8
mov rcx, qword [rsp + 0xc10]
mov eax, dword [rcx + rax + 0xd4]
inc eax
mov ecx, 4
imul rcx, rcx, 8
mov rdx, qword [rsp + 0xc10]
mov dword [rdx + rcx + 0xd4], eax
jmp 0x18007d3c5
mov eax, 4
imul rax, rax, 7
mov rcx, qword [rsp + 0xc10]
mov eax, dword [rcx + rax + 0xd4]
inc eax
mov ecx, 4
imul rcx, rcx, 7
mov rdx, qword [rsp + 0xc10]
mov dword [rdx + rcx + 0xd4], eax
jmp case.0x18007d2bd.88
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x6e]
and eax, 0x41
test eax, eax
je 0x180087e2c
mov rax, qword [rsp + 0xc10]
movzx eax, byte [rax + 0xc3]
cmp eax, 0xfe
je 0x180087e2c
mov rax, qword [rsp + 0x38]
cmp qword [rax + 0x10], 0
je 0x180087cfd
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x7e8], rax
jmp 0x180087d14
mov rax, qword [rsp + 0xc10]
mov rax, qword [rax + 0xf8]
mov qword [rsp + 0x7e8], rax
mov rax, qword [rsp + 0x7e8]
mov qword [rsp + 0x528], rax
cmp qword [rsp + 0x528], 0
je 0x180087e2c
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x6e]
and eax, 0x40
test eax, eax
je 0x180087d91
mov rdx, qword [rsp + 0x528]
mov rcx, qword [rsp + 0xc10]
call fcn.18003a9a0
mov qword [rsp + 0x7f0], rax
mov rdx, qword [rsp + 0x7f0]
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x100]
mov rax, qword [rsp + 0x40]
call qword [rax + 0xf8]
mov rcx, qword [rsp + 0x7f0]
call fcn.180024560
jmp 0x180087e2c
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0xe4], 1
jle 0x180087e00
mov r8, qword [rsp + 0x528]
lea rdx, [0x180171df4]
mov rcx, qword [rsp + 0x40]
call fcn.180041ea0
mov qword [rsp + 0x7f8], rax
mov r9, qword [rsp + 0x7f8]
mov r8, qword [rsp + 0xc10]
mov rax, qword [rsp + 0x40]
mov rdx, qword [rax + 0x100]
mov ecx, 1
mov rax, qword [rsp + 0x40]
call qword [rax + 0xf8]
mov rdx, qword [rsp + 0x7f8]
mov rcx, qword [rsp + 0x40]
call fcn.1800417f0
jmp 0x180087e2c
mov r9, qword [rsp + 0x528]
mov r8, qword [rsp + 0xc10]
mov rax, qword [rsp + 0x40]
mov rdx, qword [rax + 0x100]
mov ecx, 1
mov rax, qword [rsp + 0x40]
call qword [rax + 0xf8]
mov rax, qword [rsp + 0x38]
mov ecx, dword [0x180170448]
cmp dword [rax + 4], ecx
jl 0x180087edd
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
cmp eax, 0xb4
jne 0x180087e54
jmp case.0x18007d2bd.88
mov dword [rsp + 0x1d0], 1
jmp 0x180087e71
mov eax, dword [rsp + 0x1d0]
inc eax
mov dword [rsp + 0x1d0], eax
mov rax, qword [rsp + 0xc10]
mov eax, dword [rax + 0x90]
cmp dword [rsp + 0x1d0], eax
jge 0x180087ed1
movsxd rax, dword [rsp + 0x1d0]
imul rax, rax, 0x18
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x88]
movzx eax, byte [rcx + rax]
cmp eax, 0xe
jne 0x180087ecf
movsxd rax, dword [rsp + 0x1d0]
imul rax, rax, 0x18
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0x88]
mov dword [rcx + rax + 4], 0
jmp 0x180087e61
mov rax, qword [rsp + 0x38]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 4]
inc eax
mov rcx, qword [rsp + 0x38]
mov dword [rcx + 4], eax
mov eax, 4
imul rax, rax, 6
mov rcx, qword [rsp + 0xc10]
mov eax, dword [rcx + rax + 0xd4]
inc eax
mov ecx, 4
imul rcx, rcx, 6
mov rdx, qword [rsp + 0xc10]
mov dword [rdx + rcx + 0xd4], eax
jmp 0x18007d3c5
jmp 0x18007d258
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x67]
test eax, eax
je 0x180087f42
mov dword [rsp + 0x30], 7
jmp 0x180087f5a
cmp dword [rsp + 0x30], 0x210a
jne 0x180087f5a
mov ecx, 0x17994
call fcn.180040c80
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0xc10]
cmp qword [rax + 0xa8], 0
jne 0x180087f96
cmp dword [rsp + 0x30], 0xc0a
je 0x180087f96
mov ecx, dword [rsp + 0x30]
call fcn.18006eda0
mov r8, rax
lea rdx, [0x180171dac]
mov rcx, qword [rsp + 0xc10]
call fcn.18007c710
mov rax, qword [rsp + 0xc10]
mov ecx, dword [rsp + 0x30]
mov dword [rax + 0x34], ecx
mov edx, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
call fcn.18006eae0
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x38]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, 0x18
idiv rcx
mov rcx, qword [rsp + 0xc10]
mov rcx, qword [rcx + 0xa8]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0xc10]
mov r9, qword [rcx + 0xf8]
mov r8d, eax
lea rdx, str.statement_aborts_at__d:___s___s
mov ecx, dword [rsp + 0x30]
call fcn.18002eee0
mov rax, qword [rsp + 0xc10]
movzx eax, byte [rax + 0xc5]
cmp eax, 2
jne 0x180088027
mov rcx, qword [rsp + 0xc10]
call fcn.180089200
cmp dword [rsp + 0x30], 0xc0a
jne 0x18008803b
mov rcx, qword [rsp + 0x40]
call fcn.180075f80
cmp dword [rsp + 0x30], 0xb
jne 0x18008806e
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x65]
test eax, eax
jne 0x18008806e
mov rax, qword [rsp + 0x40]
movabs rcx, 0x200000000
mov rax, qword [rax + 0x30]
or rax, rcx
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x30], rax
mov dword [rsp + 0x30], 1
movzx eax, byte [rsp + 0xb0]
test eax, eax
jle 0x180088098
movzx eax, byte [rsp + 0xb0]
dec eax
mov edx, eax
mov rcx, qword [rsp + 0x40]
call fcn.18004a170
mov rax, qword [rsp + 0x230]
cmp qword [rsp + 0x478], rax
jb 0x180088110
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x208], 0
je 0x180088110
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x218]
mov rcx, qword [rsp + 0x230]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x230], rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x210]
mov rax, qword [rsp + 0x40]
call qword [rax + 0x208]
test eax, eax
je 0x18008810e
mov qword [rsp + 0x230], 0xffffffffffffffff
mov dword [rsp + 0x30], 9
jmp 0x180087f2b
jmp 0x180088098
mov eax, 4
imul rax, rax, 4
mov rcx, qword [rsp + 0xc10]
mov eax, dword [rcx + rax + 0xd4]
add eax, dword [rsp + 0x478]
mov ecx, 4
imul rcx, rcx, 4
mov rdx, qword [rsp + 0xc10]
mov dword [rdx + rcx + 0xd4], eax
mov rcx, qword [rsp + 0xc10]
call fcn.18008c0a0
mov eax, dword [rsp + 0x30]
jmp 0x1800881b3
lea rdx, str.string_or_blob_too_big
mov rcx, qword [rsp + 0xc10]
call fcn.18007c710
mov dword [rsp + 0x30], 0x12
jmp 0x180087f2b
mov rcx, qword [rsp + 0x40]
call fcn.180075f80
lea rdx, [0x180172728]
mov rcx, qword [rsp + 0xc10]
call fcn.18007c710
mov dword [rsp + 0x30], 7
jmp 0x180087f2b
mov dword [rsp + 0x30], 9
jmp 0x180087f2b
mov rcx, qword [rsp + 0xbe0]
xor rcx, rsp
call fcn.180109ea0
add rsp, 0xbf8
pop rdi
pop rsi
ret