Function at 0x1801617b0
Capabilities:
Encode data using xor
Encrypt data using speck
Reference sql statements

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x398]
sub rsp, 0x470
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
mov rax, qword [0x180293780]
xor rax, rsp
mov qword [rbp + 0x330], rax
mov r13, qword [rcx]
xor r15d, r15d
cmp dword [rcx + 0x34], 7
mov r9d, r15d
mov rdi, qword [rcx + 0x88]
mov edx, r15d
mov r12, qword [rcx + 0x68]
mov r14, rcx
movzx r10d, byte [r13 + 0x64]
lea r11d, [r15 + 1]
mov byte [rsp + 0x40], r10b
mov r8d, r15d
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x48], rdi
mov dword [rsp + 0x44], r15d
mov qword [rsp + 0x58], r13
mov byte [rbp - 0x74], r9b
mov dword [rsp + 0x50], r15d
mov qword [rbp - 0x20], rdx
mov qword [rsp + 0x70], r12
mov dword [rbp - 0x68], r15d
je 0x180163ac4
mov dword [rcx + 0x34], r15d
mov qword [rcx + 0x48], r15
mov dword [r13 + 0x278], r15d
mov eax, dword [r13 + 0x188]
test eax, eax
jne 0x180169cbf
movsxd rax, dword [rcx + 0x30]
xorps xmm8, xmm8
lea rcx, [rax + rax*2]
lea rsi, [rdi + rcx*8]
movzx ebx, byte [rsi]
inc rdx
mov qword [rsp + 0x48], rsi
mov qword [rbp - 0x20], rdx
cmp ebx, 0xb8
ja case.0x1801618b5.89
lea rdx, [0x180000000]
movsxd rax, ebx
mov ecx, dword [rdx + rax*4 + 0x169eb4]
add rcx, rdx
jmp rcx
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
sub rcx, rdi
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov word [r8 + r12 + 0x14], 4
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r12], rax
jmp case.0x1801618b5.9
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
test byte [rax + r12 + 0x14], 4
je 0x180161b24
mov rax, qword [rax + r12]
lea rcx, [rax + rax*2]
lea rsi, [rdi + rcx*8]
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov rax, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0xc]
dec eax
cdqe
mov qword [rcx + r12], rax
mov word [rcx + r12 + 0x14], 4
cmp dword [rsi + 8], 0
jne 0x1801634e9
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r12]
lea rcx, [rax + rax*2]
mov eax, dword [rdi + rcx*8 + 8]
dec eax
mov word [rdx + r12 + 0x14], r15w
cdqe
lea rcx, [rax + rax*2]
lea rsi, [rdi + rcx*8]
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
sub rbx, rdi
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
imul rbx
mov word [r8 + r12 + 0x14], 4
movsxd rcx, dword [r8 + r12]
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
lea rcx, [rcx + rcx*2]
cdqe
lea rsi, [rdi + rcx*8]
mov qword [r8 + r12], rax
jmp 0x18016873a
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r12 + 0x14], 1
je 0x180161b24
mov rcx, qword [r14 + 0x108]
mov r9, qword [rsp + 0x48]
test rcx, rcx
je 0x180169512
cmp dword [r9 + 4], 0
jne 0x180169512
mov rax, qword [rcx + 8]
mov qword [r14 + 0x108], rax
dec dword [r14 + 0x118]
mov rax, qword [r14 + 0x38]
mov qword [r13 + 0x78], rax
add qword [r13 + 0x80], rax
call fcn.18016ce40
mov rcx, qword [rsp + 0x48]
cmp dword [rcx + 8], 4
jne 0x180161a76
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
mov eax, dword [rax + rcx*8 + 8]
dec eax
mov rdi, qword [r14 + 0x88]
mov r12, qword [r14 + 0x68]
cdqe
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x70], r12
lea rcx, [rax + rax*2]
lea r9, [rdi + rcx*8]
mov qword [rsp + 0x48], r9
mov r9d, dword [rsp + 0x44]
mov rsi, qword [rsp + 0x48]
mov r11d, 1
movzx r10d, byte [rsp + 0x40]
jmp 0x18016873a
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [r14 + 0x68]
test word [rcx + 0x14], ax
je 0x180161b12
call fcn.1800e16f0
mov r9d, dword [rsp + 0x44]
mov rcx, rax
mov rax, qword [rsp + 0x48]
mov r11d, 1
movzx r10d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov rsi, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov qword [rcx], rax
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov rax, qword [rsp + 0x48]
mov word [rcx + 0x14], 4
movsxd rax, dword [rax + 4]
mov qword [rcx], rax
mov rsi, qword [rsp + 0x48]
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r14 + 0x68]
test word [rdx + 0x14], ax
je 0x180161b7a
mov rcx, rdx
call fcn.1800e16f0
mov r9d, dword [rsp + 0x44]
mov rdx, rax
movzx r10d, byte [rsp + 0x40]
mov r11d, 1
mov r8d, dword [rsp + 0x50]
jmp 0x180161b80
mov word [rdx + 0x14], 4
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rsi, qword [rsp + 0x48]
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r14 + 0x68]
test word [rdx + 0x14], ax
je 0x180161be3
mov rcx, rdx
call fcn.1800e16f0
mov r9d, dword [rsp + 0x44]
mov rdx, rax
movzx r10d, byte [rsp + 0x40]
mov r11d, 1
mov r8d, dword [rsp + 0x50]
mov word [rdx + 0x14], 8
jmp 0x180161b80
mov r9, qword [rsp + 0x48]
movsxd rax, dword [r9 + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, qword [r14 + 0x68]
test word [rbx + 0x14], ax
je 0x180161c1f
mov rcx, rbx
call fcn.1800e16f0
mov r9, qword [rsp + 0x48]
mov rbx, rax
movzx r10d, byte [rsp + 0x40]
jmp 0x180161c25
mov word [rbx + 0x14], 4
mov rdx, qword [r9 + 0x10]
test rdx, rdx
jne 0x180161c33
mov eax, r15d
jmp 0x180161c4e
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp byte [rdx + rax], 0
jne 0x180161c40
and eax, 0x3fffffff
mov dword [r9 + 4], eax
cmp r10b, 1
je 0x180161cf5
mov r9b, 1
mov qword [rsp + 0x20], r15
mov r8, 0xffffffffffffffff
mov rcx, rbx
call fcn.18016f090
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1801698f2
test byte [rbx + 0x14], 2
movzx eax, byte [rsp + 0x40]
jne 0x180161c8f
mov byte [rbx + 0x16], al
jmp 0x180161ca7
cmp byte [rbx + 0x16], al
je 0x180161ca7
movzx edx, al
mov rcx, rbx
call fcn.18016f590
test eax, eax
jne 0x180163ac4
mov r9, qword [rsp + 0x48]
mov eax, 0x2000
mov dword [rbx + 0x20], r15d
or word [rbx + 0x14], ax
cmp byte [r9 + 1], 0xfa
jne 0x180161cd6
mov rdx, qword [r9 + 0x10]
test rdx, rdx
je 0x180161cd6
mov rcx, r13
call fcn.18010d580
mov r9, qword [rsp + 0x48]
mov r12, qword [rsp + 0x70]
movzx r10d, byte [rsp + 0x40]
mov byte [r9 + 1], 0xfa
mov rax, qword [rbx + 8]
mov qword [r9 + 0x10], rax
mov eax, dword [rbx + 0x10]
mov dword [r9 + 4], eax
cmp eax, dword [r13 + 0x88]
jg 0x1801698f2
mov byte [r9], 0x49
jmp 0x180161d0d
mov r9, qword [rsp + 0x48]
movsxd rax, dword [r9 + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [r14 + 0x68]
test word [rcx + 0x14], ax
je 0x180161d37
call fcn.1800e16f0
mov r9, qword [rsp + 0x48]
mov rcx, rax
movzx r10d, byte [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov r11d, 1
mov word [rcx + 0x14], 0x2202
mov rax, qword [r9 + 0x10]
mov qword [rcx + 8], rax
mov eax, dword [r9 + 4]
mov r9d, dword [rsp + 0x44]
mov dword [rcx + 0x10], eax
mov byte [rcx + 0x16], r10b
jmp 0x18016873a
mov rbx, qword [rsp + 0x48]
mov r13d, 0x9000
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
add rcx, qword [r14 + 0x68]
test word [rcx + 0x14], r13w
je 0x180161da3
call fcn.1800e16f0
mov r9d, dword [rsp + 0x44]
mov rcx, rax
movzx r10d, byte [rsp + 0x40]
mov r11d, 1
mov r8d, dword [rsp + 0x50]
jmp 0x180161da9
mov word [rcx + 0x14], 4
cmp dword [rbx + 4], 0
mov esi, r11d
mov edi, dword [rbx + 0xc]
mov edx, 0x101
mov eax, dword [rbx + 8]
cmovne si, dx
sub edi, eax
mov word [rcx + 0x14], si
mov dword [rcx + 0x10], r15d
lea rbx, [rcx + 0x14]
test edi, edi
jle 0x180161f82
test word [rbx + 0x38], r13w
lea rbx, [rbx + 0x38]
je 0x180161de9
lea rcx, [rbx - 0x14]
call fcn.18018a810
dec edi
mov word [rbx], si
mov dword [rbx - 4], r15d
test edi, edi
jg 0x180161dd5
mov r9d, dword [rsp + 0x44]
mov rsi, qword [rsp + 0x48]
jmp 0x180168729
mov rax, qword [rsp + 0x48]
mov edx, 0xffc1
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
movzx eax, word [rcx + r12 + 0x14]
and ax, dx
or ax, 1
mov word [rcx + r12 + 0x14], ax
jmp 0x180161b8f
mov rax, qword [rsp + 0x48]
mov ecx, 0x9000
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
add rbx, qword [r14 + 0x68]
test word [rbx + 0x14], cx
je 0x180161e5d
mov rcx, rbx
call fcn.1800e16f0
mov rbx, rax
mov ecx, 0x9000
jmp 0x180161e63
mov word [rbx + 0x14], 4
mov rax, qword [rsp + 0x48]
mov rdx, qword [rax + 0x10]
movsxd rdi, dword [rax + 4]
test rdx, rdx
jne 0x180161eb4
test word [rbx + 0x14], cx
jne 0x180161e80
cmp dword [rbx + 0x20], edx
je 0x180161e88
mov rcx, rbx
call fcn.18018a7b0
mov word [rbx + 0x14], 0x410
test edi, edi
mov dword [rbx + 0x10], r15d
mov rcx, rbx
cmovs edi, r15d
mov dword [rbx], edi
mov byte [rbx + 0x16], 1
mov qword [rbx + 8], r15
call fcn.18016e5c0
test eax, eax
jne 0x180163ac4
jmp 0x180161ec7
mov r8, rdi
mov qword [rsp + 0x20], r15
xor r9d, r9d
mov rcx, rbx
call fcn.18016f090
movzx r10d, byte [rsp + 0x40]
mov r11d, 1
mov r9d, dword [rsp + 0x44]
mov rsi, qword [rsp + 0x48]
mov byte [rbx + 0x16], r10b
jmp 0x180168735
mov rbx, qword [rsp + 0x48]
mov rsi, qword [r14 + 0x80]
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
movzx eax, word [rdi + rsi - 0x24]
test al, 0x12
je 0x180161f23
bt ax, 0xa
mov ecx, dword [rdi + rsi - 0x28]
jae 0x180161f12
add ecx, dword [rdi + rsi - 0x38]
mov rax, qword [rdi + rsi - 0x20]
cmp ecx, dword [rax + 0x88]
jg 0x1801698f2
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, r12
test word [rbx + 0x14], ax
je 0x180161f57
mov rcx, rbx
call fcn.18018a810
mov r9d, dword [rsp + 0x44]
mov r11d, 1
movzx r10d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
movups xmm0, xmmword [rdi + rsi - 0x38]
mov ecx, 0xafff
movups xmmword [rbx], xmm0
movsd xmm1, qword [rdi + rsi - 0x28]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [rbx + 0x14]
and ax, cx
mov ecx, 0x2040
or ax, cx
mov word [rbx + 0x14], ax
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x60]
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rdi, r12
add rbx, r12
nop dword [rax]
mov eax, 0x9000
test word [rbx + 0x14], ax
jne 0x180161fd1
cmp dword [rbx + 0x20], 0
je 0x180161fdf
mov rcx, rbx
call fcn.18018a7b0
mov r11d, 1
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmm0, xmmword [rdi + 0x20]
movups xmmword [rbx + 0x20], xmm0
movsd xmm1, qword [rdi + 0x30]
movsd qword [rbx + 0x30], xmm1
mov word [rdi + 0x14], r11w
mov dword [rdi + 0x20], r15d
movzx eax, word [rbx + 0x14]
bt ax, 0xe
jae 0x18016205d
test al, 0x12
je 0x18016204e
bt ax, 0xa
jae 0x18016202e
mov rcx, rbx
call fcn.18016e5c0
test eax, eax
jne 0x180163ac4
cmp dword [rbx + 0x20], 0
je 0x18016203e
mov rax, qword [rbx + 0x28]
cmp qword [rbx + 8], rax
je 0x18016204e
mov rcx, rbx
call fcn.18018a730
test eax, eax
jne 0x180163ac4
mov ecx, 0xbfff
mov r11d, 1
and word [rbx + 0x14], cx
add rdi, 0x38
add rbx, 0x38
sub esi, 1
jne 0x180161fc0
mov r9d, dword [rsp + 0x44]
mov rsi, qword [rsp + 0x48]
jmp 0x18016872f
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rdi, r12
add rbx, r12
nop dword [rax + rax]
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x1801620be
mov r8d, 0x4000
mov rdx, rdi
mov rcx, rbx
call fcn.180189340
jmp 0x1801620eb
movups xmm0, xmmword [rdi]
mov eax, 0x2000
movups xmmword [rbx], xmm0
movsd xmm1, qword [rdi + 0x10]
movsd qword [rbx + 0x10], xmm1
test word [rdi + 0x14], ax
jne 0x1801620eb
mov eax, 0xcfff
and word [rbx + 0x14], ax
mov eax, 0x4000
or word [rbx + 0x14], ax
movzx eax, word [rbx + 0x14]
bt ax, 0xe
jae 0x18016213e
test al, 0x12
je 0x180162131
bt ax, 0xa
jae 0x180162111
mov rcx, rbx
call fcn.18016e5c0
test eax, eax
jne 0x180163ac4
cmp dword [rbx + 0x20], 0
je 0x180162121
mov rax, qword [rbx + 0x28]
cmp qword [rbx + 8], rax
je 0x180162131
mov rcx, rbx
call fcn.18018a730
test eax, eax
jne 0x180163ac4
mov eax, 0xbfff
and ax, word [rbx + 0x14]
mov word [rbx + 0x14], ax
bt ax, 0xb
jae 0x18016215d
mov r9, qword [rsp + 0x48]
test byte [r9 + 2], 2
je 0x18016215d
mov ecx, 0xf7ff
and ax, cx
mov word [rbx + 0x14], ax
mov eax, esi
dec esi
test eax, eax
je 0x180161df6
add rbx, 0x38
add rdi, 0x38
jmp 0x1801620a0
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
add rdx, r12
mov eax, 0x9000
add rcx, r12
test word [rcx + 0x14], ax
je 0x1801621ac
mov r8d, 0x4000
call fcn.180189340
jmp 0x180161a9a
movups xmm0, xmmword [rdx]
mov rsi, qword [rsp + 0x48]
mov eax, 0x2000
movups xmmword [rcx], xmm0
movsd xmm1, qword [rdx + 0x10]
movsd qword [rcx + 0x10], xmm1
test word [rdx + 0x14], ax
jne case.0x1801618b5.89
mov eax, 0xcfff
and word [rcx + 0x14], ax
mov eax, 0x4000
or word [rcx + 0x14], ax
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x48]
add rcx, r12
movsxd rax, dword [rax + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r12]
mov edx, 0x9000
test word [rcx + 0x14], dx
je 0x18016222d
mov rdx, rax
call fcn.18018bf20
jmp 0x180161a9a
mov qword [rcx], rax
mov word [rcx + 0x14], 4
jmp 0x180161b8f
cmp qword [r14 + 0x50], 0
jg 0x1801695f1
mov r9d, r15d
mov dword [rsp + 0x44], r15d
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
imul r14, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rdi, rax, 0x38
movsxd rax, dword [rbx + 0xc]
add r14, r12
imul rbx, rax, 0x38
movzx r15d, word [r14 + 0x14]
add rdi, r12
movzx eax, r15b
add rbx, r12
or al, byte [rdi + 0x14]
test al, 1
je 0x1801622e9
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x1801622c0
mov rcx, rbx
call fcn.18018a810
mov r9d, dword [rsp + 0x44]
xor r15d, r15d
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x68]
jmp 0x180168729
mov rsi, qword [rsp + 0x48]
xor r15d, r15d
mov r14, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x60]
mov word [rbx + 0x14], r11w
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
test r15b, 0x12
jne 0x180162322
xor r8d, r8d
movzx edx, r10b
mov rcx, r14
call fcn.18016f4a0
test eax, eax
jne 0x180163abf
movzx r15d, word [r14 + 0x14]
mov r12d, 0xfffd
movzx r10d, byte [rsp + 0x40]
and r15w, r12w
mov eax, 0x400
jmp 0x18016233d
mov eax, 0x400
test ax, r15w
je 0x180162337
mov rcx, r14
call fcn.18016e5c0
jmp 0x1801622fe
mov r12d, 0xfffd
movzx esi, word [rdi + 0x14]
test sil, 0x12
jne 0x180162358
xor r8d, r8d
movzx edx, r10b
mov rcx, rdi
call fcn.18016f4a0
jmp 0x180162365
test ax, si
je 0x180162375
mov rcx, rdi
call fcn.18016e5c0
test eax, eax
jne 0x180163abf
movzx esi, word [rdi + 0x14]
and si, r12w
mov edx, dword [rdi + 0x10]
add edx, dword [r14 + 0x10]
movsxd rax, dword [r13 + 0x88]
movsxd r12, edx
cmp r12, rax
jg 0x1801698eb
xor r8d, r8d
mov rcx, rbx
cmp rbx, rdi
sete r8b
add edx, 2
call fcn.18016e8f0
test eax, eax
jne 0x180163abf
movzx eax, word [rbx + 0x14]
mov ecx, 0xf242
and ax, cx
or ax, 2
mov word [rbx + 0x14], ax
cmp rbx, rdi
je 0x1801623da
movsxd r8, dword [rdi + 0x10]
mov rdx, qword [rdi + 8]
mov rcx, qword [rbx + 8]
call fcn.180002c16
mov word [rdi + 0x14], si
movsxd rcx, dword [rdi + 0x10]
add rcx, qword [rbx + 8]
movsxd r8, dword [r14 + 0x10]
mov rdx, qword [r14 + 8]
call fcn.180002c16
movzx r10d, byte [rsp + 0x40]
mov word [r14 + 0x14], r15w
cmp r10b, 1
jbe 0x180162404
and r12, 0xfffffffffffffffe
mov rax, qword [rbx + 8]
mov r9d, dword [rsp + 0x44]
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x68]
mov byte [r12 + rax], 0
mov rax, qword [rbx + 8]
mov byte [r12 + rax + 1], 0
mov eax, 0x200
or word [rbx + 0x14], ax
mov dword [rbx + 0x10], r12d
xor r15d, r15d
mov r12, qword [rsp + 0x70]
mov byte [rbx + 0x16], r10b
lea r11d, [r15 + 1]
jmp 0x180168735
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rsi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rdi, rax, 0x38
mov rax, qword [rsp + 0x48]
add rsi, r12
add rdi, r12
movsxd rax, dword [rax + 0xc]
movzx ecx, word [rdi + 0x14]
movzx ebx, word [rsi + 0x14]
imul r14, rax, 0x38
movzx eax, cl
and al, bl
add r14, r12
test al, 4
jne 0x1801624c2
or cl, bl
test cl, 1
jne 0x1801627b2
and bx, 0x2d
jne 0x1801624a0
mov rcx, rsi
call fcn.180066b00
movzx ebx, ax
movzx eax, word [rdi + 0x14]
and ax, 0x2d
jne 0x1801624b2
mov rcx, rdi
call fcn.180066b00
and al, bl
test al, 4
je 0x1801626ae
mov r11d, 1
mov rax, qword [rsp + 0x48]
mov r9, qword [rsi]
mov r8, qword [rdi]
movzx ecx, byte [rax]
sub ecx, 0x6a
je 0x180162647
sub ecx, 1
je 0x1801625dd
sub ecx, 1
je 0x18016253f
cmp ecx, 1
je 0x18016250d
test r9, r9
je 0x1801627a8
cmp r9, 0xffffffffffffffff
mov rax, r8
cqo
cmove r9, r11
idiv r9
mov r8, rdx
jmp 0x180162666
test r9, r9
je 0x1801627a8
cmp r9, 0xffffffffffffffff
jne 0x18016252f
movabs rcx, 0x8000000000000000
cmp r8, rcx
je 0x1801626ae
mov rax, r8
cqo
idiv r9
mov r8, rax
jmp 0x180162666
test r9, r9
jle 0x180162575
movabs rax, 0x7fffffffffffffff
cqo
idiv r9
cmp r8, rax
jg 0x1801626ae
movabs rax, 0x8000000000000000
cqo
idiv r9
cmp r8, rax
jge 0x1801625d4
jmp 0x1801626ae
jns 0x1801625d4
test r8, r8
jle 0x180162595
movabs rax, 0x8000000000000000
cqo
idiv r8
cmp r9, rax
jge 0x1801625d4
jmp 0x1801626ae
jns 0x1801625d4
movabs rcx, 0x8000000000000000
cmp r9, rcx
je 0x1801626ae
cmp r8, rcx
je 0x1801626ae
movabs rax, 0x8000000000000001
cqo
idiv r9
mov rcx, rax
mov rax, r8
neg rax
cmp rax, rcx
jg 0x1801626ae
imul r8, r9
jmp 0x180162666
movabs rcx, 0x8000000000000000
cmp r9, rcx
jne 0x1801625fa
test r8, r8
jns 0x1801626ae
sub r8, rcx
jmp 0x180162666
neg r9
js 0x18016261b
test r8, r8
jle 0x18016263b
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, r9
jge 0x18016263b
mov eax, r11d
jmp 0x180162641
test r8, r8
jns 0x18016263b
movabs rax, 0x8000000000000001
lea rcx, [r9 + 1]
sub rax, r8
cmp rax, rcx
jle 0x18016263b
mov eax, r11d
jmp 0x180162641
add r8, r9
mov eax, r15d
test eax, eax
jne 0x1801626ae
jmp 0x180162666
test r9, r9
js 0x180162693
test r8, r8
jle 0x180162663
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, r9
jl 0x1801626ae
add r8, r9
mov qword [r14], r8
mov ecx, 0xf244
movzx eax, word [r14 + 0x14]
and ax, cx
or ax, 4
mov r9d, dword [rsp + 0x44]
mov rsi, qword [rsp + 0x48]
mov word [r14 + 0x14], ax
mov r14, qword [rsp + 0x68]
jmp 0x180168729
test r8, r8
jns 0x180162663
movabs rax, 0x8000000000000001
lea rcx, [r9 + 1]
sub rax, r8
cmp rax, rcx
jle 0x180162663
movzx eax, word [rsi + 0x14]
test al, 8
je 0x1801626bc
movsd xmm6, qword [rsi]
jmp 0x1801626df
test al, 0x24
je 0x1801626ca
xorps xmm6, xmm6
cvtsi2sd xmm6, qword [rsi]
jmp 0x1801626df
test al, 0x12
je 0x1801626db
mov rcx, rsi
call fcn.1800db9b0
movaps xmm6, xmm0
jmp 0x1801626df
movaps xmm6, xmm8
movzx eax, word [rdi + 0x14]
test al, 8
je 0x1801626ed
movsd xmm0, qword [rdi]
jmp 0x18016270d
test al, 0x24
je 0x1801626fb
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rdi]
jmp 0x18016270d
test al, 0x12
je 0x180162709
mov rcx, rdi
call fcn.1800db9b0
jmp 0x18016270d
movaps xmm0, xmm8
mov rax, qword [rsp + 0x48]
movzx edx, byte [rax]
sub edx, 0x6a
je 0x180162778
sub edx, 1
je 0x180162772
sub edx, 1
je 0x18016276c
cmp edx, 1
je 0x18016275d
mov rcx, rsi
call fcn.18016d870
mov rcx, rdi
mov rbx, rax
call fcn.18016d870
test rbx, rbx
je 0x1801627a8
cmp rbx, 0xffffffffffffffff
mov ecx, 1
cqo
xorps xmm0, xmm0
cmove rbx, rcx
idiv rbx
cvtsi2sd xmm0, rdx
jmp 0x18016277c
ucomisd xmm6, xmm8
jp 0x180162766
je 0x1801627a8
divsd xmm0, xmm6
jmp 0x18016277c
mulsd xmm0, xmm6
jmp 0x18016277c
subsd xmm0, xmm6
jmp 0x18016277c
addsd xmm0, xmm6
movq rax, xmm0
movabs rcx, 0xfffffffffffff
test rcx, rax
movabs rcx, 0x7ff0000000000000
setne dl
and rax, rcx
cmp rax, rcx
sete al
test al, dl
je 0x18016280c
mov r9d, dword [rsp + 0x44]
mov r8d, dword [rsp + 0x50]
mov eax, 0x9000
test word [r14 + 0x14], ax
je 0x1801627da
mov rcx, r14
call fcn.18018a810
mov r9d, dword [rsp + 0x44]
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x68]
jmp 0x180168729
mov rsi, qword [rsp + 0x48]
mov r11d, 1
movzx r10d, byte [rsp + 0x40]
mov rdi, qword [rsp + 0x60]
mov word [r14 + 0x14], r11w
mov r14, qword [rsp + 0x68]
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
movsd qword [r14], xmm0
mov ecx, 0xf248
movzx eax, word [r14 + 0x14]
and ax, cx
or ax, 8
jmp 0x18016267a
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
test eax, eax
je 0x180161b24
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r12
test word [rcx + 0x14], ax
je 0x180162856
xor edx, edx
call fcn.18018bf20
jmp 0x180161a9a
mov qword [rcx], r15
mov word [rcx + 0x14], 4
jmp 0x180161b8f
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x48]
add rdi, r12
add rcx, r12
movsxd rax, dword [rax + 0xc]
imul rsi, rax, 0x38
movzx eax, byte [rcx + 0x14]
or al, byte [rdi + 0x14]
add rsi, r12
test al, 1
je 0x1801628dd
mov eax, 0x9000
test word [rsi + 0x14], ax
je 0x1801628bc
mov rcx, rsi
call fcn.18018a810
mov r9d, dword [rsp + 0x44]
mov rsi, qword [rsp + 0x48]
jmp 0x180168729
mov rdi, qword [rsp + 0x60]
mov word [rsi + 0x14], r11w
mov rsi, qword [rsp + 0x48]
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
call fcn.18016d870
mov rcx, rdi
mov rbx, rax
call fcn.18016d870
mov rdx, rax
mov rax, qword [rsp + 0x48]
movzx ecx, byte [rax]
cmp cl, 0x66
jne 0x180162902
and rbx, rdx
jmp 0x180162976
cmp cl, 0x67
jne 0x18016290c
or rbx, rdx
jmp 0x180162976
test rdx, rdx
je 0x180162976
jns 0x180162926
mov eax, 0xd1
sub al, cl
movzx ecx, al
cmp rdx, 0xffffffffffffffc0
jle 0x18016292c
neg rdx
cmp rdx, 0x40
jl 0x180162944
test rbx, rbx
jns 0x18016293f
cmp cl, 0x68
je 0x18016293f
mov rbx, 0xffffffffffffffff
jmp 0x180162976
mov rbx, r15
jmp 0x180162976
cmp cl, 0x68
mov rcx, rdx
jne 0x180162954
shl rbx, cl
mov r8, rbx
jmp 0x180162973
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x180162973
mov ecx, 0x40
mov rax, 0xffffffffffffffff
sub cl, dl
shl rax, cl
or r8, rax
mov rbx, r8
mov r9d, dword [rsp + 0x44]
mov ecx, 0xf244
mov qword [rsi], rbx
movzx eax, word [rsi + 0x14]
and ax, cx
or ax, 4
mov word [rsi + 0x14], ax
mov rsi, qword [rsp + 0x48]
jmp 0x180168729
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r12
mov rcx, rbx
call fcn.18016ebc0
mov rsi, qword [rsp + 0x48]
mov r11d, 1
mov r9d, dword [rsp + 0x44]
movzx r10d, byte [rsp + 0x40]
movsxd rax, dword [rsi + 8]
add qword [rbx], rax
jmp 0x18016873a
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r12
movzx ecx, word [rbx + 0x14]
test cl, 4
jne 0x180162a4e
test cl, 0x28
jne 0x180162a17
test cl, 2
je 0x180162a24
mov edx, r11d
mov rcx, rbx
call fcn.1800597f0
mov r9d, dword [rsp + 0x44]
mov r11d, 1
movzx r10d, byte [rsp + 0x40]
jmp 0x180162a1f
mov rcx, rbx
call fcn.18016d8e0
mov r8d, dword [rsp + 0x50]
movzx eax, word [rbx + 0x14]
movzx ecx, ax
test al, 4
jne 0x180162a4e
mov rsi, qword [rsp + 0x48]
cmp dword [rsi + 8], 0
jne 0x1801634e9
mov r9d, 0x14
mov dword [rsp + 0x44], r9d
jmp 0x1801635ae
mov eax, 0xf244
and cx, ax
or cx, 4
mov word [rbx + 0x14], cx
jmp 0x180161b8f
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
add rcx, r12
movzx eax, word [rcx + 0x14]
test al, 0x24
je 0x180161b24
test al, 8
je 0x180162a89
movsd xmm0, qword [rcx]
jmp 0x180162a91
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rcx]
mov edx, 0xf248
movsd qword [rcx], xmm0
and ax, dx
or ax, 8
mov word [rcx + 0x14], ax
jmp 0x180161b8f
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, r12
test word [rbx + 0x14], ax
je 0x180162ae2
mov rcx, rbx
call fcn.18016e5c0
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x1801635ae
movzx r10d, byte [rsp + 0x40]
mov rax, qword [rsp + 0x48]
movzx r8d, r10b
mov rcx, rbx
movzx edx, byte [rax + 8]
call fcn.18016e300
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x1801635ae
jmp 0x180161a9f
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul r15, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul r14, rax, 0x38
add r15, r12
add r14, r12
movzx esi, word [r15 + 0x14]
movzx edi, word [r14 + 0x14]
movzx ecx, di
and cx, si
test cl, 4
je 0x180162bcf
mov rax, qword [r14]
cmp rax, qword [r15]
jle 0x180162b5a
mov rax, qword [0x18028cee8]
xor r15d, r15d
cmp byte [rbx + rax], r15b
jmp 0x180162c32
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x60]
jge 0x180162b9c
mov rax, qword [0x18028ced8]
xor r15d, r15d
cmp byte [rbx + rax], r15b
jne 0x1801634e9
mov r14, qword [rsp + 0x68]
mov r8d, 0xffffffff
mov dword [rsp + 0x50], r8d
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov rax, qword [0x18028cee0]
xor r15d, r15d
cmp byte [rbx + rax], r15b
jne 0x1801634e9
mov r8d, r15d
mov dword [rsp + 0x50], r15d
mov r14, qword [rsp + 0x68]
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
movzx eax, di
or ax, si
test al, 1
je 0x180162c61
mov rax, qword [rsp + 0x48]
movzx eax, word [rax + 2]
test al, al
jns 0x180162c2d
test cl, 1
je 0x180162c18
mov eax, 0x100
test ax, di
jne 0x180162c18
xor eax, eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x48]
mov r8d, dword [rsp + 0x50]
movzx edx, byte [rax]
mov rax, qword [0x18028cee0]
jmp 0x180162d8c
movzx eax, di
not ax
and eax, 1
lea eax, [rax*2 - 1]
jmp 0x180162d43
xor r15d, r15d
test al, 0x10
mov rdi, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x48]
jne 0x1801634e9
mov r8d, r11d
mov dword [rsp + 0x50], r11d
mov r14, qword [rsp + 0x68]
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov rbx, qword [rsp + 0x48]
movzx ecx, byte [rbx + 2]
and cl, 0x47
cmp cl, 0x43
jb 0x180162cad
test al, 2
je 0x180162d28
movzx eax, sil
and al, 0x2e
cmp al, 2
jne 0x180162c93
xor edx, edx
mov rcx, r15
call fcn.1800597f0
movzx edi, word [r14 + 0x14]
movzx eax, dil
and al, 0x2e
cmp al, 2
jne 0x180162d28
xor edx, edx
mov rcx, r14
call fcn.1800597f0
jmp 0x180162d28
cmp cl, 0x42
jne 0x180162d28
test al, 2
je 0x180162d28
test sil, 2
jne 0x180162cf9
test sil, 0x2c
je 0x180162cf9
mov r8b, 1
movzx edx, r10b
mov rcx, r15
call fcn.18016f4a0
xor si, word [r15 + 0x14]
mov r13d, 0xdbf
movzx r10d, byte [rsp + 0x40]
and si, r13w
xor si, word [r15 + 0x14]
cmp r15, r14
jne 0x180162cff
movzx edi, si
or di, 2
jmp 0x180162cff
mov r13d, 0xdbf
test dil, 2
jne 0x180162d28
test dil, 0x2c
je 0x180162d28
mov r8b, 1
movzx edx, r10b
mov rcx, r14
call fcn.18016f4a0
xor di, word [r14 + 0x14]
and di, r13w
xor di, word [r14 + 0x14]
mov r8, qword [rbx + 0x10]
mov rdx, r15
mov rcx, r14
call fcn.1801410a0
movzx r10d, byte [rsp + 0x40]
mov r11d, 1
mov dword [rsp + 0x50], eax
mov ecx, eax
test eax, eax
mov rax, qword [rsp + 0x48]
jns 0x180162d67
movzx ecx, byte [rax]
mov rax, qword [0x18028ced8]
mov r8d, dword [rsp + 0x50]
movzx edx, byte [rcx + rax]
jmp 0x180162d90
movzx edx, byte [rax]
mov dword [rsp + 0x50], ecx
test ecx, ecx
jne 0x180162d7e
mov rax, qword [0x18028cee0]
mov r8d, ecx
jmp 0x180162d8c
mov rax, qword [0x18028cee8]
mov r8d, ecx
mov dword [rsp + 0x50], ecx
movzx edx, byte [rdx + rax]
mov r9d, dword [rsp + 0x44]
mov word [r14 + 0x14], di
mov rdi, qword [rsp + 0x60]
mov word [r15 + 0x14], si
xor r15d, r15d
mov rsi, qword [rsp + 0x48]
test dl, dl
je 0x180162bb8
jmp 0x1801634e9
test r8d, r8d
je 0x1801634e9
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov rax, qword [rsp + 0x48]
test byte [rax + 2], 1
jne 0x180162de4
mov r13, r15
jmp 0x180162dec
mov r13, qword [rax - 8]
add r13, 4
mov rcx, qword [rax + 0x10]
mov edi, r15d
mov r8d, dword [rax + 4]
mov rbx, r15
mov r9d, dword [rax + 8]
movsxd rax, dword [rax + 0xc]
mov qword [rbp - 0x70], rcx
mov dword [rbp - 0x80], r8d
mov dword [rsp + 0x78], r9d
mov qword [rbp - 0x58], rax
test rax, rax
jle 0x1801694a7
lea r14, [rcx + 0x20]
test r13, r13
je 0x180162e2c
mov edx, dword [r13 + rbx*4]
jmp 0x180162e2e
mov edx, edi
mov rax, qword [rcx + 0x18]
lea ecx, [rdx + r9]
movzx esi, byte [rax + rbx]
imul rax, rcx, 0x38
lea ecx, [rdx + r8]
and esi, 1
mov r8, qword [r14]
add r12, rax
imul r15, rcx, 0x38
mov rdx, r12
add r15, qword [rsp + 0x70]
mov rcx, r15
call fcn.1801410a0
mov dword [rsp + 0x50], eax
mov r8d, eax
test eax, eax
jne 0x180162ec1
mov rcx, qword [rbp - 0x70]
inc edi
mov r8d, dword [rbp - 0x80]
inc rbx
mov r9d, dword [rsp + 0x78]
add r14, 8
mov r12, qword [rsp + 0x70]
cmp rbx, qword [rbp - 0x58]
jl 0x180162e20
mov r9d, dword [rsp + 0x44]
lea r11d, [rax + 1]
mov rsi, qword [rsp + 0x48]
xor r15d, r15d
mov r14, qword [rsp + 0x68]
mov r8d, eax
movzx r10d, byte [rsp + 0x40]
mov rdi, qword [rsp + 0x60]
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov rax, qword [rbp - 0x70]
mov rax, qword [rax + 0x18]
test byte [rbx + rax], 2
je 0x180162ee6
test byte [r15 + 0x14], 1
jne 0x180162ede
test byte [r12 + 0x14], 1
je 0x180162ee6
neg r8d
mov dword [rsp + 0x50], r8d
mov r9d, dword [rsp + 0x44]
test esi, esi
mov rsi, qword [rsp + 0x48]
mov r11d, 1
mov r14, qword [rsp + 0x68]
mov r12, qword [rsp + 0x70]
movzx r10d, byte [rsp + 0x40]
mov rdi, qword [rsp + 0x60]
je 0x180162f17
neg r8d
mov dword [rsp + 0x50], r8d
xor r15d, r15d
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov rax, qword [rsp + 0x48]
test r8d, r8d
jns 0x180162f57
mov eax, dword [rax + 4]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rsi, [rdi + rcx*8]
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
jne 0x180162f7a
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rsi, [rdi + rcx*8]
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov eax, dword [rax + 0xc]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rsi, [rdi + rcx*8]
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov r13, qword [rsp + 0x48]
mov esi, 2
mov edx, esi
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add rcx, r12
call fcn.180160b20
movsxd rcx, dword [r13 + 8]
mov edx, esi
imul rcx, rcx, 0x38
mov ebx, eax
add rcx, r12
call fcn.180160b20
lea rcx, [0x180000000]
lea eax, [rax + rbx*2]
add eax, ebx
movsxd rdx, eax
mov rax, r13
cmp byte [rax], 0x2c
jne 0x180162fec
movzx edx, byte [rdx + rcx + 0x23ccb0]
jmp 0x180162ff4
movzx edx, byte [rdx + rcx + 0x23ccc0]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r12
cmp dl, sil
jne 0x180163031
movzx eax, word [rcx + 0x14]
mov edx, 0xf241
mov r9d, dword [rsp + 0x44]
and ax, dx
movzx r10d, byte [rsp + 0x40]
or ax, 1
mov word [rcx + 0x14], ax
mov rsi, r13
mov r11d, 1
jmp 0x18016873a
mov r9d, dword [rsp + 0x44]
mov rsi, r13
movzx r10d, byte [rsp + 0x40]
mov r11d, 1
movzx eax, dl
mov edx, 0xf244
mov qword [rcx], rax
movzx eax, word [rcx + 0x14]
and ax, dx
or ax, 4
mov word [rcx + 0x14], ax
jmp 0x18016873a
mov r9, qword [rsp + 0x48]
movsxd rax, dword [r9 + 4]
mov edx, dword [r9 + 0xc]
imul rcx, rax, 0x38
add rcx, r12
call fcn.180160b20
movsxd rcx, eax
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rax + 0x10]
movsxd rax, dword [rax + 8]
xor rdx, rcx
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r12
test word [rcx + 0x14], ax
je 0x1801630ac
call fcn.18018bf20
jmp 0x180161a9a
mov qword [rcx], rdx
mov word [rcx + 0x14], 4
jmp 0x180161a9a
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
imul rcx, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rcx, r12
add rbx, r12
movzx eax, word [rcx + 0x14]
test al, 1
jne 0x180163150
test al, 0x24
je 0x1801630ed
cmp qword [rcx], 0
mov rax, r15
sete al
jmp 0x180163127
test al, 8
je 0x1801630f7
movsd xmm0, qword [rcx]
jmp 0x180163116
test al, 0x12
je 0x180163124
call fcn.1800db9b0
mov r9d, dword [rsp + 0x44]
mov r11d, 1
movzx r10d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
ucomisd xmm0, xmm8
jp 0x18016311f
je 0x180163124
mov rax, r15
jmp 0x180163127
mov rax, r11
mov ecx, 0x9000
test word [rbx + 0x14], cx
je 0x180163142
mov rdx, rax
mov rcx, rbx
call fcn.18018bf20
jmp 0x180161a9a
mov qword [rbx], rax
mov word [rbx + 0x14], 4
jmp 0x180161b8f
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x180163168
mov rcx, rbx
call fcn.18018a810
jmp 0x180161a9a
mov word [rbx + 0x14], r11w
jmp 0x180161b8f
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rdi, r12
mov eax, 0x9000
add rbx, r12
test word [rbx + 0x14], ax
je 0x1801631b8
mov rcx, rbx
call fcn.18018a810
mov r9d, dword [rsp + 0x44]
mov r11d, 1
movzx r10d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x1801631bd
mov word [rbx + 0x14], r11w
test byte [rdi + 0x14], 1
jne 0x180161f82
mov rcx, rdi
mov word [rbx + 0x14], 4
call fcn.18016d870
mov r9d, dword [rsp + 0x44]
not rax
mov rsi, qword [rsp + 0x48]
mov qword [rbx], rax
jmp 0x180168729
mov r8, qword [r14 + 0x108]
test r8, r8
je 0x180163246
mov rcx, qword [rsp + 0x48]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [r14 + 0x88]
mov r9, qword [r8 + 0x28]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov ecx, edx
and edx, 7
shr rcx, 3
movzx eax, byte [rcx + r9]
bt eax, edx
jb 0x1801634df
bts eax, edx
mov byte [rcx + r9], al
mov r9d, dword [rsp + 0x44]
jmp 0x18016325e
mov rax, qword [rsp + 0x48]
mov rcx, qword [r14 + 0x88]
mov eax, dword [rax + 4]
cmp dword [rcx + 4], eax
je 0x1801634e4
mov rax, qword [r14 + 0x88]
mov rsi, qword [rsp + 0x48]
mov ecx, dword [rax + 4]
mov dword [rsi + 4], ecx
jmp 0x18016873a
mov r9, qword [rsp + 0x48]
movsxd rax, dword [r9 + 4]
mov edx, dword [r9 + 0xc]
imul rcx, rax, 0x38
add rcx, r12
call fcn.180160b20
test eax, eax
jne 0x1801634d9
jmp 0x180161a9a
mov rax, qword [rsp + 0x48]
mov edx, r15d
cmp dword [rax + 0xc], 0
movsxd rax, dword [rax + 4]
sete dl
imul rcx, rax, 0x38
add rcx, r12
call fcn.180160b20
test eax, eax
jne 0x180161a9a
jmp 0x1801634d9
mov rax, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
test byte [rcx + r12 + 0x14], 1
jne 0x1801634e9
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
test eax, eax
js 0x18016335a
mov rcx, rax
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rax + 0xc]
movzx eax, word [rcx + 0x4a]
cmp edx, eax
jge 0x180163350
mov ecx, dword [rcx + rdx*4 + 0x78]
cmp ecx, 0xc
jb 0x18016333c
test cl, 1
mov eax, 4
mov ecx, 8
cmove ax, cx
jmp 0x18016337b
mov rax, rcx
lea rcx, [0x180000000]
movzx eax, byte [rax + rcx + 0x23ccd0]
jmp 0x18016337b
mov rax, qword [rsp + 0x48]
mov ecx, dword [rax + 0x10]
jmp 0x180163373
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
movzx eax, word [rcx + r12 + 0x14]
and eax, 0x3f
movzx ecx, byte [rax + rdx + 0x23cbe0]
dec ecx
mov eax, r11d
shl ax, cl
mov rsi, qword [rsp + 0x48]
test word [rsi + 2], ax
jne 0x1801634e9
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
imul rcx, rax, 0x38
test byte [rcx + r12 + 0x14], 1
jne 0x180163418
movsxd rax, dword [rbx + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r12 + 0x14], 1
jne 0x180163418
mov rax, rbx
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r12
test word [rcx + 0x14], ax
je 0x1801633fa
xor edx, edx
call fcn.18018bf20
mov r9d, dword [rsp + 0x44]
mov r11d, 1
movzx r10d, byte [rsp + 0x40]
mov rsi, rbx
jmp 0x18016873a
mov qword [rcx], r15
mov rsi, rbx
mov word [rcx + 0x14], 4
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov rax, rbx
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r12
test word [rcx + 0x14], ax
je 0x18016344f
call fcn.18018a810
mov r9d, dword [rsp + 0x44]
mov r11d, 1
movzx r10d, byte [rsp + 0x40]
mov rsi, rbx
jmp 0x18016873a
mov word [rcx + 0x14], r11w
mov rsi, rbx
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov rax, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
test byte [rcx + r12 + 0x14], 1
je 0x1801634e9
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x180161b24
cmp byte [rdx + 2], 0
je 0x180161b24
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r12
test word [rcx + 0x14], ax
je 0x18016350d
call fcn.18018a810
mov r11d, 1
mov r9d, dword [rsp + 0x44]
mov rsi, qword [rsp + 0x48]
mov eax, dword [rsi + 8]
mov r14, qword [rsp + 0x68]
dec eax
mov r12, qword [rsp + 0x70]
movzx r10d, byte [rsp + 0x40]
cdqe
lea rcx, [rax + rax*2]
lea rsi, [rdi + rcx*8]
jmp 0x18016873a
mov word [rcx + 0x14], r11w
jmp 0x1801634e4
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x68]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x48]
mov r14d, dword [rcx + 8]
mov dword [rsp + 0x78], r14d
nop dword [rax + rax]
mov r13, qword [rbx + 0x58]
mov eax, dword [r12 + 0x2c]
mov qword [rbp - 0x58], r13
cmp dword [rbx + 0x20], eax
je 0x18016358b
cmp byte [rbx + 2], 0
jne 0x18016362d
cmp byte [rbx + 3], 0
mov rdi, qword [rbx + 0x30]
je 0x180163584
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x1801635e6
lea eax, [r14 + 1]
mov eax, dword [rdx + rax*4]
test eax, eax
je 0x1801635e6
mov rbx, qword [rbx + 0x28]
lea r14d, [rax - 1]
jmp 0x180163533
cmp byte [rdi], 0
je 0x1801635f9
jmp 0x180163598
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x1801636c7
mov rcx, rbx
call fcn.18016d570
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
je 0x180163540
mov r14, r12
mov ebx, 1
mov rsi, qword [rsp + 0x58]
lea rdi, [0x180000000]
mov r15d, 0xb
lea r12, [0x18024f174]
cmp byte [rsi + 0x67], 0
je 0x180169cfb
mov r9d, 7
mov dword [rsp + 0x44], r9d
jmp 0x180169d2d
mov rcx, rbx
call fcn.18016cd90
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x1801635ab
mov rcx, rdi
call fcn.1800c9af0
mov eax, dword [rdi + 0x40]
mov dword [rbx + 0x68], eax
mov rax, qword [rdi + 0x88]
movzx ecx, word [rdi + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [rdi + 0x38]
cmp ecx, edx
jle 0x180163624
test edx, edx
mov ecx, edx
cmovs ecx, r15d
mov dword [rbx + 0x6c], ecx
mov rcx, qword [rdi + 0x38]
jmp 0x18016365a
cmp byte [rbx], 3
jne 0x180163757
movsxd rax, dword [rbx + 0x24]
test eax, eax
jle 0x180163757
mov rdx, qword [rsp + 0x70]
imul rcx, rax, 0x38
mov eax, dword [rcx + rdx + 0x10]
mov dword [rbx + 0x6c], eax
mov dword [rbx + 0x68], eax
mov rcx, qword [rcx + rdx + 8]
mov qword [rbx + 0x60], rcx
mov eax, dword [r12 + 0x2c]
mov dword [rbx + 0x20], eax
movzx eax, byte [rcx]
mov dword [r13], eax
cmp eax, 0x80
jae 0x18016367b
mov eax, 1
jmp 0x18016368a
mov rcx, qword [rbx + 0x60]
mov rdx, r13
call fcn.18013a470
movzx eax, al
mov edx, 0x40
mov rcx, rbx
mov dword [rdx + rbx], eax
mov word [rbx + 0x4a], r15w
mov eax, dword [r13]
cmp dword [rbx + 0x6c], eax
jae 0x180163751
mov qword [rbx + 0x60], r15
mov dword [rbx + 0x6c], r15d
mov eax, dword [r13]
cmp eax, 0x18003
ja 0x18016396e
cmp eax, dword [rbx + 0x68]
ja 0x18016396e
movzx eax, word [rbx + 0x4a]
cmp eax, r14d
ja 0x180163a10
mov eax, dword [r13]
cmp dword [rbx + 0x40], eax
jae 0x18016399a
mov rax, qword [rbx + 0x60]
mov qword [rbp - 0x70], rax
test rax, rax
jne 0x1801637cf
mov qword [rbp + 0x28], rax
xorps xmm0, xmm0
movups xmmword [rbp - 8], xmm0
movups xmmword [rbp + 8], xmm0
movups xmmword [rbp + 0x18], xmm0
mov r10, qword [rbx + 0x30]
mov r8d, dword [r13]
mov rax, qword [r10 + 0x88]
movzx ecx, word [r10 + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [r10 + 0x38]
cmp ecx, edx
jle 0x18016372c
test edx, edx
mov ecx, edx
cmovs ecx, r15d
mov rax, qword [r10 + 0x38]
mov qword [rbp - 0x70], rax
mov qword [rbp], rax
cmp r8d, ecx
ja 0x1801637aa
mov ecx, 0x4010
mov dword [rbp + 8], r8d
mov word [rbp + 0xc], cx
mov dword [rsp + 0x44], r15d
jmp 0x1801637cf
mov rax, qword [rbx + 0x60]
jmp 0x1801637cb
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x70]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r12
test word [rcx + 0x14], ax
je 0x180163790
call fcn.18018a810
mov r9d, dword [rsp + 0x44]
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x68]
jmp 0x180168729
mov rsi, qword [rsp + 0x48]
mov r11d, 1
mov r14, qword [rsp + 0x68]
mov word [rcx + 0x14], r11w
jmp 0x18016872f
lea r9, [rbp - 8]
xor edx, edx
mov rcx, r10
call fcn.18016e730
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x1801635ab
mov rax, qword [rbp]
mov qword [rbp - 0x70], rax
movzx r12d, word [rbx + 0x4a]
mov esi, dword [rbx + 0x40]
mov r14d, r12d
mov rcx, qword [rbp - 0x58]
add rsi, rax
mov r15d, dword [r13 + r12*4]
mov r13d, dword [r13]
add r13, rax
nop dword [rax]
movzx edi, byte [rsi]
mov dword [rbp - 0x80], edi
mov dword [rbx + r14*4 + 0x78], edi
cmp edi, 0x80
jae 0x180163817
lea rdx, [0x180000000]
inc rsi
movzx eax, byte [rdi + rdx + 0x23cb50]
jmp 0x180163853
lea rdx, [rbp - 0x80]
mov rcx, rsi
call fcn.18013a470
mov edi, dword [rbp - 0x80]
movzx eax, al
add rsi, rax
mov dword [rbx + r14*4 + 0x78], edi
cmp edi, 0x80
jb 0x180163840
lea eax, [rdi - 0xc]
shr eax, 1
jmp 0x18016384f
lea rcx, [0x180000000]
movzx eax, byte [rdi + rcx + 0x23cb50]
mov rcx, qword [rbp - 0x58]
inc r12d
add r15, rax
movsxd r14, r12d
mov dword [rcx + r14*4], r15d
cmp r12d, dword [rsp + 0x78]
ja 0x18016386e
cmp rsi, r13
jb 0x1801637f0
jmp 0x180163877
cmp rsi, r13
jb 0x18016392b
cmp rsi, r13
ja 0x180163937
mov eax, dword [rbx + 0x68]
cmp r15, rax
jne 0x180163937
xor r15d, r15d
sub esi, dword [rbp - 0x70]
mov edx, 0x9000
mov word [rbx + 0x4a], r12w
mov dword [rbx + 0x40], esi
cmp qword [rbx + 0x60], 0
jne 0x1801638c0
test word [rbp + 0xc], dx
jne 0x1801638b2
cmp dword [rbp + 0x18], 0
je 0x1801638c0
lea rcx, [rbp - 8]
call fcn.18018a7b0
mov edx, 0x9000
mov r13, qword [rbp - 0x58]
mov r14d, dword [rsp + 0x78]
mov r12, qword [rsp + 0x68]
movzx eax, word [rbx + 0x4a]
cmp eax, r14d
ja 0x180163a17
mov r9, qword [rsp + 0x48]
mov r12, qword [rsp + 0x70]
movsxd rax, dword [r9 + 0xc]
imul rcx, rax, 0x38
add rcx, r12
cmp byte [r9 + 1], 0xf6
jne 0x1801639e7
mov rax, qword [r9 + 0x10]
test word [rcx + 0x14], dx
je 0x1801639a7
mov r8d, 0x2000
mov rdx, rax
call fcn.180189340
mov r9d, dword [rsp + 0x44]
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x68]
jmp 0x180168729
mov eax, dword [rbx + 0x68]
cmp r15, rax
jbe 0x18016388c
cmp dword [rcx], 0
jne 0x18016394a
xor r15d, r15d
mov rsi, r13
mov r12d, r15d
jmp 0x18016388f
cmp qword [rbx + 0x60], 0
jne 0x18016396b
mov eax, 0x9000
test word [rbp + 0xc], ax
jne 0x180163962
cmp dword [rbp + 0x18], 0
je 0x18016396b
lea rcx, [rbp - 8]
call fcn.18018a7b0
xor r15d, r15d
mov rdi, qword [rsp + 0x60]
mov eax, dword [rdi + 0xc]
test eax, eax
jle 0x180169631
mov r14, qword [rsp + 0x68]
dec eax
mov r12, qword [rsp + 0x70]
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea r9, [rdi + rax*8]
jmp 0x180161a95
mov edi, r15d
mov edx, 0x9000
jmp 0x1801638ce
movups xmm0, xmmword [rax]
mov r9d, dword [rsp + 0x44]
mov edx, 0x2000
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x68]
movups xmmword [rcx], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rcx + 0x10], xmm1
test word [rax + 0x14], dx
jne 0x1801691ee
mov eax, 0xafff
and word [rcx + 0x14], ax
or word [rcx + 0x14], dx
jmp 0x180168729
test word [rcx + 0x14], dx
jne 0x180163777
mov r9d, dword [rsp + 0x44]
mov r11d, 1
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x68]
mov word [rcx + 0x14], r11w
jmp 0x18016872f
mov eax, r14d
mov edi, dword [rbx + rax*4 + 0x78]
mov rdx, qword [rsp + 0x48]
movsxd rax, dword [rdx + 0xc]
imul rsi, rax, 0x38
mov eax, 0x9000
add rsi, qword [rsp + 0x70]
test word [rsi + 0x14], ax
je 0x180163a41
mov rcx, rsi
call fcn.18018a810
mov rdx, qword [rsp + 0x48]
lea eax, [r14 + 1]
mov eax, dword [r13 + rax*4]
cmp dword [rbx + 0x6c], eax
jb 0x180163b3a
mov eax, r14d
mov r14d, dword [r13 + rax*4]
add r14, qword [rbx + 0x60]
cmp edi, 0xc
jae 0x180163a80
mov rcx, r14
mov edx, edi
mov r8, rsi
call fcn.180171380
mov r9d, dword [rsp + 0x44]
mov r14, qword [rsp + 0x68]
jmp 0x18016871f
movzx eax, byte [rsp + 0x40]
lea ebx, [rdi - 0xc]
shr ebx, 1
mov dword [rsi + 0x10], ebx
mov byte [rsi + 0x16], al
lea edx, [rbx + 2]
cmp dword [rsi + 0x20], edx
jge 0x180163aeb
mov r13, qword [rsp + 0x58]
cmp ebx, dword [r13 + 0x88]
jg 0x1801698c0
xor r8d, r8d
mov word [rsi + 0x14], 1
mov rcx, rsi
call fcn.18016e8f0
test eax, eax
je 0x180163af3
mov r14, qword [rsp + 0x68]
mov rcx, r13
call fcn.180141850
lea rdx, str.out_of_memory
mov rcx, r14
call fcn.180161750
mov r9d, 7
mov dword [rsp + 0x44], r9d
jmp 0x1801635ae
mov rax, qword [rsi + 0x28]
mov qword [rsi + 8], rax
mov rcx, qword [rsi + 8]
mov r8, rbx
mov rdx, r14
call fcn.180002c16
mov rax, qword [rsi + 8]
lea rcx, [0x180000000]
mov r9d, dword [rsp + 0x44]
mov r14, qword [rsp + 0x68]
mov byte [rbx + rax], 0
mov rax, qword [rsi + 8]
mov byte [rbx + rax + 1], 0
mov eax, edi
and eax, 1
movzx eax, word [rcx + rax*2 + 0x23ccdc]
mov word [rsi + 0x14], ax
jmp 0x18016871f
movzx eax, byte [rsp + 0x40]
mov byte [rsi + 0x16], al
movzx eax, byte [rdx + 2]
and al, 0xc0
je 0x180163b5d
cmp al, 0x80
je 0x180163b81
cmp edi, 0xc
jb 0x180163b5d
test dil, 1
je 0x180163b81
cmp al, 0xc0
je 0x180163b81
cmp edi, 0x80
jb 0x180163b6c
lea eax, [rdi - 0xc]
shr eax, 1
jmp 0x180163b7d
mov eax, edi
lea rcx, [0x180000000]
movzx eax, byte [rax + rcx + 0x23cb50]
test eax, eax
jne 0x180163b8d
lea rcx, [0x18023a990]
jmp 0x180163a67
mov eax, r14d
mov r8d, edi
mov qword [rsp + 0x30], rsi
mov edx, r14d
mov rcx, rbx
mov r9d, dword [r13 + rax*4]
mov eax, dword [rbp - 0x68]
mov dword [rsp + 0x28], eax
mov eax, dword [r12 + 0x2c]
mov dword [rsp + 0x20], eax
call fcn.180189390
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
je 0x180163a76
mov r14, qword [rsp + 0x68]
cmp eax, 7
je 0x180169ce1
mov rsi, qword [rsp + 0x58]
cmp eax, 0x12
je 0x1801698c8
mov ebx, 1
jmp 0x1801635b8
mov rax, qword [rsp + 0x48]
mov r14, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
mov r15, qword [r14 + 8]
xor eax, eax
add rbx, r12
mov esi, eax
cmp ax, word [r14 + 0x36]
jge 0x1801694e7
lea rdi, [r15 + 0xc]
movzx eax, word [rdi + 6]
test al, 0x60
je 0x180163c37
test al, 0x20
jne 0x180163dbf
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0xc], 0
jne 0x180163dbb
movzx ecx, byte [rdi]
cmp cl, 0x43
jl 0x180163c7d
movzx eax, word [rbx + 0x14]
test al, 4
jne 0x180163d13
test al, 0x28
jne 0x180163c67
test al, 2
je 0x180163d13
mov edx, r11d
mov rcx, rbx
call fcn.1800597f0
jmp 0x180163d13
cmp cl, 0x45
jg 0x180163d13
mov rcx, rbx
call fcn.18016d8e0
jmp 0x180163d13
cmp cl, 0x42
jne 0x180163d13
movzx ecx, word [rbx + 0x14]
test cl, 2
jne 0x180163d08
test cl, 0x2c
je 0x180163d08
cmp dword [rbx + 0x20], 0x20
jge 0x180163cb3
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 0x20]
call fcn.18016e8f0
test eax, eax
je 0x180163cc3
mov byte [rbx + 0x16], 0
jmp 0x180163d08
mov rax, qword [rbx + 0x28]
and cx, 0x2d
mov qword [rbx + 8], rax
mov word [rbx + 0x14], cx
mov rdx, qword [rbx + 8]
mov r8, rbx
mov ecx, 0x20
call fcn.18018a860
movzx r10d, byte [rsp + 0x40]
mov ecx, 0xffd3
mov byte [rbx + 0x16], 1
movzx eax, word [rbx + 0x14]
and ax, cx
mov ecx, 0x202
or ax, cx
mov word [rbx + 0x14], ax
cmp r10b, 1
je 0x180163d08
movzx edx, r10b
mov rcx, rbx
call fcn.18016f590
mov r10d, 0xffd3
and word [rbx + 0x14], r10w
movzx ecx, word [rbx + 0x14]
movzx edx, cx
test cl, 1
jne 0x180163daf
mov eax, dword [rdi - 4]
shr eax, 4
and eax, 0xf
sub eax, 2
je 0x180163da6
sub eax, 1
je 0x180163da1
sub eax, 1
je 0x180163da1
sub eax, 1
je 0x180163d4a
cmp eax, 1
jne 0x180163daf
test cl, 2
jmp 0x180163da9
test cl, 4
je 0x180163d9c
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
mov rax, rbx
ja 0x180163d77
or cx, 0x20
jmp 0x180163d87
xorps xmm0, xmm0
or cx, 8
cvtsi2sd xmm0, rdx
movsd qword [rbx], xmm0
mov edx, 0x14
mov r8d, 0xfffb
and cx, r8w
mov word [rdx + rax], cx
jmp 0x180163daf
test cl, 0x28
jmp 0x180163da9
test cl, 4
jmp 0x180163da9
test cl, 0x10
je 0x18016964c
movzx r10d, byte [rsp + 0x40]
mov r11d, 1
add rbx, 0x38
movsx eax, word [r14 + 0x36]
inc esi
add rdi, 0x18
cmp esi, eax
jl 0x180163c18
mov r9d, dword [rsp + 0x44]
xor r15d, r15d
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x68]
jmp 0x180168735
mov rax, qword [rsp + 0x48]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
movzx eax, byte [rdi]
add rbx, r12
cmp al, 0x43
jl 0x180163e44
movzx ecx, word [rbx + 0x14]
test cl, 4
jne 0x180163ed9
test cl, 0x28
jne 0x180163e2f
test cl, 2
je 0x180163ed9
mov edx, r11d
mov rcx, rbx
call fcn.1800597f0
jmp 0x180163ed9
cmp al, 0x45
jg 0x180163ed9
mov rcx, rbx
call fcn.18016d8e0
jmp 0x180163ed9
cmp al, 0x42
jne 0x180163ed9
movzx ecx, word [rbx + 0x14]
test cl, 2
jne 0x180163ece
test cl, 0x2c
je 0x180163ece
cmp dword [rbx + 0x20], 0x20
jge 0x180163e79
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 0x20]
call fcn.18016e8f0
test eax, eax
je 0x180163e89
mov byte [rbx + 0x16], 0
jmp 0x180163ece
mov rax, qword [rbx + 0x28]
and cx, 0x2d
mov qword [rbx + 8], rax
mov word [rbx + 0x14], cx
mov rdx, qword [rbx + 8]
mov r8, rbx
mov ecx, 0x20
call fcn.18018a860
movzx r10d, byte [rsp + 0x40]
mov ecx, 0xffd3
mov byte [rbx + 0x16], 1
movzx eax, word [rbx + 0x14]
and ax, cx
mov ecx, 0x202
or ax, cx
mov word [rbx + 0x14], ax
cmp r10b, 1
je 0x180163ece
movzx edx, r10b
mov rcx, rbx
call fcn.18016f590
mov r10d, 0xffd3
and word [rbx + 0x14], r10w
cmp byte [rdi], 0x45
jne 0x180163f30
movzx ecx, word [rbx + 0x14]
test cl, 4
je 0x180163f30
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
ja 0x180163f14
mov eax, 0xfffb
and cx, ax
or cx, 0x20
jmp 0x180163f2c
xorps xmm0, xmm0
mov eax, 0xfff9
cvtsi2sd xmm0, rdx
and cx, ax
or cx, 8
movsd qword [rbx], xmm0
mov word [rbx + 0x14], cx
movzx eax, byte [rdi + 1]
inc rdi
test al, al
je 0x1801660e9
add rbx, 0x38
mov r11d, 1
jmp 0x180163e00
mov rcx, qword [rsp + 0x48]
mov rsi, r15
mov rdx, qword [rsp + 0x70]
mov r12d, r15d
mov r13, r15
movsxd rax, dword [rcx + 4]
mov rdi, qword [rcx + 0x10]
imul r14, rax, 0x38
mov eax, dword [rcx + 8]
dec eax
add r14, rdx
cdqe
imul r15, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add r15, r14
mov qword [rbp - 0x70], r14
add rcx, rdx
mov qword [rbp - 0x80], r15
mov qword [rbp - 0x58], rcx
test rdi, rdi
je 0x180163ff3
lea rbx, [r14 + 0x14]
mov r14d, 0xfffb
nop dword [rax]
nop dword [rax + rax]
movzx edx, byte [rdi]
lea rcx, [rbx - 0x14]
movzx r8d, r10b
call fcn.180059760
cmp byte [rdi], 0x45
jne 0x180163fd7
movzx eax, word [rbx]
test al, 4
je 0x180163fd7
and ax, r14w
or ax, 0x20
mov word [rbx], ax
movzx r10d, byte [rsp + 0x40]
inc rdi
add rbx, 0x38
cmp byte [rdi], 0
jne 0x180163fb0
mov r14, qword [rbp - 0x70]
mov r11d, 1
lea rdi, [r15 + 0x24]
nop word [rax + rax]
movzx eax, word [rdi - 0x10]
movzx edx, ax
test al, 1
je 0x180164023
inc r12d
mov eax, 0x400
and dx, ax
neg dx
sbb ebx, ebx
and ebx, 0xa
jmp 0x18016418e
test dl, 0x24
je 0x18016410c
mov r8, qword [rdi - 0x24]
mov rcx, r8
test r8, r8
jns 0x18016403b
not rcx
inc r12d
cmp rcx, 0x7f
ja 0x180164070
mov rax, r8
and eax, 1
cmp rax, r8
jne 0x180164065
mov rax, qword [rsp + 0x68]
cmp byte [rax + 0xc5], 4
jb 0x180164065
lea ebx, [rcx + 8]
jmp 0x18016418e
inc rsi
mov ebx, r11d
jmp 0x18016418e
cmp rcx, 0x7fff
ja 0x180164087
add rsi, 2
mov ebx, 2
jmp 0x18016418e
cmp rcx, 0x7fffff
ja 0x18016409e
add rsi, 3
mov ebx, 3
jmp 0x18016418e
cmp rcx, 0x7fffffff
ja 0x1801640b5
add rsi, 4
mov ebx, 4
jmp 0x18016418e
movabs r9, 0x7fffffffffff
cmp rcx, r9
ja 0x1801640d2
add rsi, 6
mov ebx, 5
jmp 0x18016418e
add rsi, 8
test dl, 0x20
je 0x180164102
xorps xmm0, xmm0
mov ecx, 0xffdf
cvtsi2sd xmm0, r8
and ax, cx
mov ebx, 7
or ax, 8
movsd qword [rdi - 0x24], xmm0
mov word [rdi - 0x10], ax
jmp 0x18016418e
mov ebx, 6
jmp 0x18016418e
test dl, 8
je 0x18016411f
inc r12d
mov ebx, 7
add rsi, 8
jmp 0x18016418e
mov r15d, dword [rdi - 0x14]
mov eax, edx
shr eax, 1
and eax, 1
bt dx, 0xa
lea ebx, [r15 + 6]
lea ebx, [rax + rbx*2]
jae 0x180164166
movsxd rax, dword [rdi - 0x24]
lea ebx, [rbx + rax*2]
test rsi, rsi
je 0x18016415f
lea rcx, [rdi - 0x24]
call fcn.18016e5c0
test eax, eax
jne 0x180169ccf
add r15d, dword [rdi - 0x24]
lea r11d, [rax + 1]
jmp 0x180164162
add r13, rax
mov r14, qword [rbp - 0x70]
mov eax, r15d
mov ecx, r11d
add rsi, rax
mov eax, ebx
shr rax, 7
test rax, rax
je 0x18016418b
nop word [rax + rax]
inc ecx
shr rax, 7
test rax, rax
jne 0x180164180
add r12d, ecx
mov rax, rdi
mov dword [rax], ebx
lea rax, [rdi - 0x24]
cmp rax, r14
je 0x1801641a5
sub rdi, 0x38
jmp 0x180164000
cmp r12d, 0x7e
jle 0x1801641ef
movsxd rax, r12d
mov edx, r11d
shr rax, 7
test rax, rax
je 0x1801641cb
nop word [rax + rax]
inc edx
shr rax, 7
test rax, rax
jne 0x1801641c0
add r12d, edx
mov ecx, r11d
movsxd rax, r12d
shr rax, 7
test rax, rax
je 0x1801641eb
nop dword [rax]
inc ecx
shr rax, 7
test rax, rax
jne 0x1801641e0
cmp edx, ecx
jge 0x1801641f2
inc r12d
mov rdi, qword [rbp - 0x58]
movsxd rbx, r12d
add rbx, rsi
movsxd rdx, dword [rdi + 0x20]
lea rcx, [rbx + r13]
cmp rcx, rdx
jle 0x18016423d
mov rsi, qword [rsp + 0x58]
movsxd rax, dword [rsi + 0x88]
cmp rcx, rax
jg 0x1801698c3
cmp edx, ebx
jge 0x18016423d
xor r8d, r8d
mov edx, ebx
mov rcx, rdi
call fcn.18016e8f0
test eax, eax
jne 0x180169cd9
lea r11d, [rax + 1]
jmp 0x180164245
mov rax, qword [rdi + 0x28]
mov qword [rdi + 8], rax
mov dword [rdi + 0x10], ebx
mov word [rdi + 0x14], 0x10
test r13, r13
je 0x18016425c
mov dword [rdi], r13d
mov word [rdi + 0x14], 0x410
mov rdi, qword [rdi + 8]
movsxd rbx, r12d
add rbx, rdi
cmp r12d, 0x80
jge 0x180164277
mov byte [rdi], r12b
inc rdi
jmp 0x1801642b8
movsxd rdx, r12d
cmp rdx, 0x7f
ja 0x18016428a
and dl, 0x7f
mov eax, r11d
mov byte [rdi], dl
jmp 0x1801642b3
cmp rdx, 0x3fff
ja 0x1801642ab
mov rax, rdx
shr rax, 7
or al, 0x80
mov byte [rdi], al
and dl, 0x7f
mov byte [rdi + 1], dl
mov eax, 2
jmp 0x1801642b3
mov rcx, rdi
call fcn.1800eab80
cdqe
add rdi, rax
lea rsi, [r14 + 0x10]
mov r14, qword [rbp - 0x80]
mov eax, dword [rsi + 0x14]
cmp eax, 7
ja 0x18016433b
mov byte [rdi], al
inc rdi
test eax, eax
je 0x1801643af
mov rcx, qword [rsi - 0x10]
lea rdx, [0x180000000]
movzx edx, byte [rax + rdx + 0x23cb50]
mov eax, edx
sub eax, 1
je 0x180164334
sub eax, 1
je 0x18016432d
sub eax, 1
je 0x180164326
sub eax, 1
je 0x18016431f
cmp eax, 2
je 0x180164311
mov byte [rbx + 7], cl
shr rcx, 8
mov byte [rbx + 6], cl
shr rcx, 8
mov byte [rbx + 5], cl
shr rcx, 8
mov byte [rbx + 4], cl
shr rcx, 8
mov byte [rbx + 3], cl
shr rcx, 8
mov byte [rbx + 2], cl
shr rcx, 8
mov byte [rbx + 1], cl
shr rcx, 8
mov byte [rbx], cl
add rbx, rdx
jmp 0x1801643af
cmp eax, 0x80
jae 0x180164355
mov byte [rdi], al
inc rdi
cmp eax, 0xe
jb 0x1801643af
movsxd rax, dword [rsi]
test eax, eax
jle 0x1801643af
jmp 0x18016439a
mov rdx, rax
cmp rax, 0x7f
ja 0x180164368
and dl, 0x7f
mov eax, r11d
mov byte [rdi], dl
jmp 0x18016438e
cmp rdx, 0x3fff
ja 0x180164386
shr rax, 7
or al, 0x80
mov byte [rdi], al
and dl, 0x7f
mov byte [rdi + 1], dl
mov eax, 2
jmp 0x18016438e
mov rcx, rdi
call fcn.1800eab80
cdqe
add rdi, rax
movsxd rax, dword [rsi]
test eax, eax
je 0x1801643af
mov rdx, qword [rsi - 8]
mov r8, rax
mov rcx, rbx
call fcn.180002c16
movsxd rax, dword [rsi]
add rbx, rax
lea rax, [rsi - 0x10]
cmp rax, r14
je 0x1801660cd
add rsi, 0x38
mov r11d, 1
jmp 0x1801642c0
mov r9, qword [rsp + 0x48]
mov rax, qword [r14 + 0x78]
cmp dword [r9 + 0xc], 0
movsxd rcx, dword [r9 + 4]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [rcx + 0x30]
je 0x1801643f4
mov rcx, rdx
call fcn.180105c80
mov rbx, rax
jmp 0x180164417
lea r8, [rbp - 0x70]
mov qword [rbp - 0x70], r15
mov rcx, r13
call fcn.1801035e0
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x1801635ae
mov rbx, qword [rbp - 0x70]
mov rax, qword [rsp + 0x48]
mov ecx, 0x9000
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
add rax, qword [r14 + 0x68]
test word [rax + 0x14], cx
je 0x180164443
mov rcx, rax
call fcn.1800e16f0
mov qword [rax], rbx
jmp 0x1801672b6
mov word [rax + 0x14], 4
mov qword [rax], rbx
jmp 0x1801672b6
mov rbx, qword [rsp + 0x48]
mov r10d, dword [rbx + 4]
mov rsi, qword [rbx + 0x10]
mov dword [rsp + 0x78], r10d
test r10d, r10d
jne 0x18016453b
cmp dword [r13 + 0xe0], r10d
jg 0x1801696c5
test rsi, rsi
jne 0x180164483
mov ebx, r15d
jmp 0x18016449f
mov rbx, 0xffffffffffffffff
nop word [rax + rax]
inc rbx
cmp byte [rsi + rbx], 0
jne 0x180164490
and ebx, 0x3fffffff
mov r8d, dword [r13 + 0x2d4]
xor edx, edx
add r8d, dword [r13 + 0x2d0]
mov rcx, r13
call fcn.180173440
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x1801635ae
mov edx, ebx
mov rcx, r13
add rdx, 0x21
call fcn.18010d770
mov rdi, rax
test rax, rax
je 0x180164531
lea rcx, [rax + 0x20]
mov rdx, rsi
lea r8d, [rbx + 1]
mov qword [rax], rcx
call fcn.180002c16
cmp byte [r13 + 0x65], 0
je 0x180164502
mov byte [r13 + 0x65], 0
mov byte [r13 + 0x6d], 1
jmp 0x180164509
inc dword [r13 + 0x2d0]
mov rax, qword [r13 + 0x2c0]
mov qword [rdi + 0x18], rax
mov qword [r13 + 0x2c0], rdi
mov rax, qword [r13 + 0x2d8]
mov qword [rdi + 8], rax
mov rax, qword [r13 + 0x2e0]
mov qword [rdi + 0x10], rax
mov r9d, dword [rsp + 0x44]
jmp 0x18016483e
mov r11, qword [rsp + 0x58]
mov r13d, r15d
mov r12, qword [r11 + 0x2c0]
test r12, r12
je 0x18016463e
lea rdi, [0x180000000]
nop word [rax + rax]
mov r8, qword [r12]
mov r9, rsi
sub r9, r8
nop word [rax + rax]
movzx edx, byte [r8]
movzx eax, byte [r9 + r8]
cmp edx, eax
jne 0x180164611
test edx, edx
jne 0x180164625
cmp dword [r11 + 0xe0], edx
jle 0x18016459c
cmp r10d, 1
je 0x1801696e4
cmp qword [r12 + 0x18], 0
jne 0x180164661
cmp byte [r11 + 0x6d], 0
je 0x180164661
mov edi, 1
mov r15d, edi
cmp r10d, edi
jne 0x180164661
mov edx, edi
mov rcx, r14
call fcn.180160d20
mov r9d, eax
test eax, eax
jne 0x180169e43
mov rsi, qword [rsp + 0x58]
mov rcx, r14
mov byte [rsi + 0x65], dil
call fcn.18016d140
cmp eax, 5
je 0x1801696f9
mov r9d, dword [r14 + 0x34]
mov dword [rsp + 0x44], r9d
test r9d, r9d
jne 0x1801696ed
mov r11, rsi
mov byte [rsi + 0x6d], r9b
jmp 0x180164780
movzx ecx, byte [rax + rdi + 0x23a870]
movzx eax, byte [rdx + rdi + 0x23a870]
cmp eax, ecx
jne 0x18016462d
inc r8
jmp 0x180164570
mov r12, qword [r12 + 0x18]
inc r13d
test r12, r12
jne 0x180164560
mov r8, rsi
lea rdx, str.no_such_savepoint:__s
mov rcx, r14
call fcn.180161750
mov ebx, 1
mov r9d, ebx
mov dword [rsp + 0x44], ebx
jmp 0x1801635b3
mov eax, dword [r11 + 0x2d0]
sub eax, r13d
lea r13d, [rax - 1]
xor eax, eax
cmp r10d, 2
jne 0x1801646cf
mov r14d, dword [r11 + 0x2c]
mov edi, eax
and r14d, 1
cmp dword [r11 + 0x28], eax
jle 0x1801646d2
mov esi, r14d
mov ebx, eax
xor esi, 1
nop
mov rcx, qword [r11 + 0x20]
mov r8d, esi
mov edx, 0x204
mov rcx, qword [rcx + rbx + 8]
call fcn.180106b50
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x180169642
mov r11, qword [rsp + 0x58]
inc edi
add rbx, 0x20
cmp edi, dword [r11 + 0x28]
jl 0x180164690
mov r10d, dword [rsp + 0x78]
xor eax, eax
jmp 0x1801646d7
mov r14d, eax
mov r9d, dword [rsp + 0x44]
cmp dword [r11 + 0x28], 0
mov edi, eax
jle 0x180164729
mov rbx, rax
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [r11 + 0x20]
mov r8d, r13d
mov edx, r10d
mov rcx, qword [rcx + rbx + 8]
call fcn.180105cf0
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x180169642
mov r11, qword [rsp + 0x58]
inc edi
mov r10d, dword [rsp + 0x78]
add rbx, 0x20
cmp edi, dword [r11 + 0x28]
jl 0x1801646f0
test r14d, r14d
je 0x180164772
mov rcx, qword [r11 + 8]
test rcx, rcx
je 0x18016475b
nop word [rax + rax]
mov eax, dword [rcx + 0xc8]
and eax, 0xfffffffd
or eax, 1
mov dword [rcx + 0xc8], eax
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x180164740
mov rcx, r11
call fcn.18014f280
mov r11, qword [rsp + 0x58]
mov r9d, dword [rsp + 0x44]
or dword [r11 + 0x2c], 1
mov r14, qword [rsp + 0x68]
test r9d, r9d
jne 0x1801635ae
mov rcx, qword [r11 + 0x2c0]
cmp rcx, r12
je 0x1801647be
nop dword [rax]
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, r11
mov qword [r11 + 0x2c0], rax
call fcn.18010d580
mov r11, qword [rsp + 0x58]
dec dword [r11 + 0x2d0]
mov rcx, qword [r11 + 0x2c0]
cmp rcx, r12
jne 0x180164790
mov ebx, dword [rsp + 0x78]
cmp ebx, 1
jne 0x1801647f1
mov rax, qword [r12 + 0x18]
mov rdx, r12
mov rcx, r11
mov qword [r11 + 0x2c0], rax
call fcn.18010d580
test r15d, r15d
jne 0x180164831
mov r11, qword [rsp + 0x58]
dec dword [r11 + 0x2d0]
jmp 0x180164813
mov rax, qword [r12 + 8]
mov qword [r11 + 0x2d8], rax
mov rax, qword [r12 + 0x10]
mov qword [r11 + 0x2e0], rax
test r15d, r15d
je 0x180164813
cmp ebx, 2
jne 0x180164831
mov r8d, r13d
mov edx, ebx
mov rcx, r11
call fcn.180173440
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x1801635ae
jmp 0x180164836
mov r9d, dword [rsp + 0x44]
mov r12, qword [rsp + 0x70]
xor r15d, r15d
cmp byte [r14 + 0xc7], 3
jne 0x180161dfb
mov r9d, 0x65
jmp 0x180169e43
mov rcx, qword [rsp + 0x48]
mov dword [rbp - 0x60], r15d
mov edx, dword [rcx + 8]
test edx, edx
je 0x18016487e
mov rax, qword [r13 + 0x30]
movabs r8, 0x200100000
test r8, rax
jne 0x180169730
movsxd rdi, dword [rcx + 4]
shl rdi, 5
add rdi, qword [r13 + 0x20]
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x1801649df
cmp byte [rbx + 0x11], 0
jne 0x1801648fa
movzx eax, byte [rbx + 0x10]
test al, al
je 0x1801648fa
cmp al, 1
jne 0x1801648ad
test edx, edx
jne 0x1801648fa
mov r8, qword [rbx + 8]
mov rax, qword [r8 + 0x18]
mov rcx, qword [rax + 0x50]
mov eax, dword [rcx + 0x28]
bswap eax
mov dword [rbp - 0x60], eax
test edx, edx
je 0x1801648f0
mov rax, qword [rbx]
mov rcx, qword [r8]
mov edx, dword [rax + 0x2d0]
cmp edx, dword [rcx + 0x80]
jle 0x1801648e6
cmp byte [rcx + 0xa], 0
je 0x1801648e6
call fcn.1800e20f0
jmp 0x180164906
mov r9d, r15d
mov dword [rsp + 0x44], r15d
jmp 0x18016490d
mov r9d, r15d
mov dword [rsp + 0x44], r15d
jmp 0x180164920
lea r8, [rbp - 0x60]
mov rcx, rbx
call fcn.18005d470
mov dword [rsp + 0x44], eax
mov r9d, eax
test r9d, r9d
jne 0x18016975f
movzx r10d, byte [rsp + 0x40]
lea r11d, [r9 + 1]
test byte [r14 + 0xc8], 0x20
mov rsi, qword [rsp + 0x48]
je 0x1801649eb
cmp dword [rsi + 8], 0
je 0x1801649eb
cmp byte [r13 + 0x65], 0
je 0x180164952
cmp dword [r13 + 0xdc], 1
jle 0x1801649eb
mov r8d, dword [r14 + 0x40]
test r8d, r8d
jne 0x180164974
inc dword [r13 + 0x2d4]
mov r8d, dword [r13 + 0x2d4]
add r8d, dword [r13 + 0x2d0]
mov dword [r14 + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, r13
call fcn.180173440
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x1801649bb
mov rax, qword [rbx + 8]
mov edx, dword [r14 + 0x40]
mov rcx, qword [rax]
cmp edx, dword [rcx + 0x80]
jle 0x1801649b3
cmp byte [rcx + 0xa], r9b
je 0x1801649b3
call fcn.1800e20f0
mov r9d, eax
mov dword [rsp + 0x44], eax
jmp 0x1801649bb
mov r9d, r15d
mov dword [rsp + 0x44], r15d
mov rax, qword [r13 + 0x2d8]
mov r11d, 1
movzx r10d, byte [rsp + 0x40]
mov qword [r14 + 0x58], rax
mov rax, qword [r13 + 0x2e0]
mov qword [r14 + 0x60], rax
jmp 0x1801649e2
mov rsi, rcx
test r9d, r9d
jne 0x1801635ae
cmp word [rsi + 2], 0
je 0x180168735
mov eax, dword [rsi + 0xc]
cmp dword [rbp - 0x60], eax
jne 0x18016979b
mov rax, qword [rsp + 0x48]
mov rcx, qword [rdi + 0x18]
mov eax, dword [rax + 0x10]
cmp dword [rcx + 4], eax
jne 0x18016979b
mov rsi, qword [rsp + 0x48]
jmp 0x180168735
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov r8d, dword [rax + 0xc]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rdx, qword [rcx + rax + 8]
mov rcx, qword [rdx + 8]
cmp r8d, 0xf
jne 0x180164a53
mov rax, qword [rcx]
mov ebx, dword [rax + 0x84]
add ebx, dword [rdx + 0x1c]
jmp 0x180164a6b
lea eax, [r8*4 + 0x24]
movsxd rdx, eax
mov rax, qword [rcx + 0x18]
mov rcx, qword [rax + 0x50]
mov ebx, dword [rdx + rcx]
bswap ebx
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [r14 + 0x68]
test word [rcx + 0x14], ax
je 0x180164ab0
call fcn.1800e16f0
mov r9d, dword [rsp + 0x44]
mov rcx, rax
movzx r10d, byte [rsp + 0x40]
mov r11d, 1
mov rsi, qword [rsp + 0x48]
movsxd rax, ebx
mov qword [rcx], rax
jmp 0x18016873a
mov rsi, qword [rsp + 0x48]
movsxd rax, ebx
mov word [rcx + 0x14], 4
mov qword [rcx], rax
jmp 0x18016873a
mov rax, qword [rsp + 0x48]
movsxd rbx, dword [rax + 4]
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 8]
shl rbx, 5
add rbx, qword [r13 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.180106c70
mov r9d, eax
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
cmp eax, 1
jne 0x180164bdd
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x48]
movzx eax, word [rax + 2]
mov ecx, dword [rcx + 0xc]
sub ecx, eax
mov rax, qword [rbx + 0x18]
mov dword [rax], ecx
or dword [r13 + 0x2c], 1
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov rdi, qword [rcx + 0x10]
test rdi, rdi
je 0x180164b89
nop dword [rax]
mov rbx, qword [rdi + 0x10]
cmp byte [rbx + 0x3f], 0
jne 0x180164b7c
mov rbx, qword [rbx + 0x48]
test rbx, rbx
je 0x180164b7c
mov rdx, qword [rbx + 0x30]
mov rcx, r13
call fcn.180078190
mov qword [rbx + 0x30], r15
mov rcx, r13
mov rdx, qword [rbx + 0x38]
call fcn.180078190
mov qword [rbx + 0x38], r15
mov rbx, qword [rbx + 8]
test rbx, rbx
jne 0x180164b53
mov rdi, qword [rdi]
test rdi, rdi
jne 0x180164b40
mov r9d, dword [rsp + 0x44]
mov rdi, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x48]
cmp dword [rsi + 4], 1
jne 0x180164bc5
mov rcx, qword [r13 + 8]
test rcx, rcx
je 0x180164bbd
mov eax, dword [rcx + 0xc8]
and eax, 0xfffffffd
or eax, 1
mov dword [rcx + 0xc8], eax
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x180164ba2
and dword [r14 + 0xc8], 0xfffffffc
test r9d, r9d
jne 0x1801635ae
movzx r10d, byte [rsp + 0x40]
lea r11d, [r9 + 1]
jmp 0x18016873a
cmp eax, 2
jne 0x180164b8e
mov rax, qword [rsp + 0x48]
mov rcx, qword [rbx + 0x18]
movzx eax, byte [rax + 0xc]
mov byte [rcx + 0x70], al
jmp 0x180164b8e
mov r9, qword [rsp + 0x48]
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r9 + 4]
mov rdi, qword [rax + rcx*8]
test rdi, rdi
je 0x180164c2b
mov eax, dword [r9 + 8]
cmp dword [rdi + 0x44], eax
jne 0x180164c2b
mov rcx, qword [rdi + 0x30]
call fcn.180102b90
mov r9d, dword [rsp + 0x44]
jmp 0x180164d34
mov r9, qword [rsp + 0x48]
mov eax, dword [r14 + 0xc8]
and al, 3
cmp al, 1
je 0x180169834
movsxd r12, dword [r9 + 0xc]
mov edi, r15d
mov rax, r12
mov r14, r15
mov r15d, dword [r9 + 8]
shl rax, 5
add rax, qword [r13 + 0x20]
mov r13, qword [rax + 8]
cmp bl, 0x71
jne 0x180164c86
mov rax, qword [rax + 0x18]
movzx esi, word [r9 + 2]
and esi, 8
or esi, 4
movzx ecx, byte [rax + 0x70]
mov rax, qword [rsp + 0x68]
cmp cl, byte [rax + 0xc5]
jae 0x180164c88
mov byte [rax + 0xc5], cl
jmp 0x180164c88
xor esi, esi
test byte [r9 + 2], 0x10
je 0x180164ca8
imul rbx, r15, 0x38
add rbx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.18016ebc0
mov r9, qword [rsp + 0x48]
mov r15d, dword [rbx]
movzx eax, byte [r9 + 1]
cmp al, 0xf8
jne 0x180164cbc
mov r14, qword [r9 + 0x10]
movzx edi, word [r14 + 8]
jmp 0x180164cc4
cmp al, 0xfd
jne 0x180164cc4
mov edi, dword [r9 + 0x10]
mov rbx, qword [rsp + 0x48]
xor r9d, r9d
mov rcx, qword [rsp + 0x68]
mov r8d, edi
mov edx, dword [rbx + 4]
call fcn.180056340
mov rdi, rax
test rax, rax
je 0x180169ccf
mov byte [rax + 1], r12b
mov r9, r14
mov byte [rax + 2], 1
mov r8d, esi
or dword [rax + 8], 4
mov rcx, r13
mov dword [rax + 0x44], r15d
mov rdx, qword [rax + 0x30]
mov qword [rsp + 0x20], rdx
mov edx, r15d
call fcn.18005df00
mov r12, qword [rsp + 0x70]
mov r9d, eax
mov qword [rdi + 0x38], r14
cmp byte [rbx + 1], 0xf8
mov r14, qword [rsp + 0x68]
mov dword [rsp + 0x44], eax
setne al
mov byte [rdi + 4], al
xor r15d, r15d
mov rax, qword [rsp + 0x48]
movzx ecx, byte [rax + 2]
mov rax, qword [rdi + 0x30]
and cl, 3
mov byte [rax + 3], cl
test r9d, r9d
jne 0x1801635ae
mov rsi, qword [rsp + 0x48]
jmp 0x180168729
mov rax, qword [rsp + 0x48]
xor r9d, r9d
movsxd rcx, dword [rax + 8]
mov rax, qword [r14 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, r14
mov rax, qword [rsp + 0x48]
movsx r8d, word [rbx + 0x48]
mov edx, dword [rax + 4]
call fcn.180056340
mov r10, rax
test rax, rax
je 0x180163ac4
mov byte [rax + 2], 1
mov r8d, 4
mov edx, dword [rax + 8]
or edx, 1
mov dword [rax + 8], edx
mov rcx, qword [rbx + 0x38]
mov qword [rax + 0x38], rcx
mov ecx, edx
movzx eax, byte [rbx + 4]
mov byte [r10 + 4], al
mov eax, dword [rbx + 0x44]
mov dword [r10 + 0x44], eax
xor ecx, dword [rbx + 8]
and ecx, 4
xor ecx, edx
mov dword [r10 + 8], ecx
or ecx, 8
mov rax, qword [rbx + 0x10]
mov qword [r10 + 0x10], rax
mov dword [r10 + 8], ecx
or dword [rbx + 8], 8
mov rax, qword [r10 + 0x30]
mov r9, qword [r10 + 0x38]
mov edx, dword [r10 + 0x44]
mov rcx, qword [r10 + 0x10]
mov qword [rsp + 0x20], rax
call fcn.18005df00
mov r9d, eax
mov dword [rsp + 0x44], eax
jmp 0x180161a9f
mov r9, qword [rsp + 0x48]
movsxd rax, dword [r9 + 0xc]
test eax, eax
jle 0x180164e2a
imul rcx, rax, 0x38
mov dword [rcx + r12 + 0x10], r15d
movsxd rax, dword [r9 + 0xc]
imul rcx, rax, 0x38
lea rax, [0x180238455]
mov qword [rcx + r12 + 8], rax
movsxd rdx, dword [r9 + 4]
mov rax, qword [r14 + 0x78]
mov rbx, qword [rax + rdx*8]
test rbx, rbx
je 0x180164e7d
test byte [rbx + 8], 8
jne 0x180164e7d
movsx eax, word [rbx + 0x48]
cmp dword [r9 + 8], eax
jg 0x180164e7d
mov qword [rbx + 0x18], r15
xor r8d, r8d
mov dword [rbx + 0x20], r15d
mov edx, dword [rbx + 0x44]
mov rcx, qword [rbx + 0x10]
call fcn.180102c80
mov dword [rsp + 0x44], eax
mov r9d, eax
mov dword [rbp - 0x80], eax
test eax, eax
jne 0x1801635ae
mov byte [rbx + 2], 1
jmp 0x180161a9f
mov rsi, qword [rsp + 0x48]
xor r9d, r9d
mov rcx, r14
mov r8d, dword [rsi + 8]
call fcn.180056340
mov rbx, rax
test rax, rax
je 0x180163ac4
or dword [rax + 8], 1
lea r9, [rax + 0x10]
movzx ecx, word [rsi + 2]
mov r8, r13
or ecx, 5
mov dword [rsp + 0x28], 0x41e
mov dword [rsp + 0x20], ecx
xor edx, edx
mov rcx, qword [r13]
call fcn.180105480
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x1801635ae
mov rcx, qword [rbx + 0x10]
cmp byte [rcx + 0x11], al
jne 0x180164f26
cmp byte [rcx + 0x10], 2
jb 0x180164f26
mov rax, qword [rcx]
mov edx, dword [rax + 0x2d0]
mov rax, qword [rcx + 8]
mov rcx, qword [rax]
cmp edx, dword [rcx + 0x80]
jle 0x180164f16
cmp byte [rcx + 0xa], r9b
je 0x180164f16
call fcn.1800e20f0
mov r9d, eax
mov dword [rsp + 0x44], eax
mov r12d, 1
jmp 0x180164f3e
mov r9d, r15d
mov dword [rsp + 0x44], r15d
mov r12d, 1
jmp 0x180164f3e
mov r12d, 1
xor r8d, r8d
mov edx, r12d
call fcn.18005d470
mov r9d, eax
mov dword [rsp + 0x44], eax
test r9d, r9d
jne 0x180164fce
mov rax, rsi
mov rdi, qword [rax + 0x10]
mov qword [rbx + 0x38], rdi
test rdi, rdi
je 0x180164fa3
movzx r8d, word [rax + 2]
lea rdx, [rbx + 0x44]
mov rcx, qword [rbx + 0x10]
or r8d, 2
call fcn.18005da50
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x180164f9d
mov rax, qword [rbx + 0x30]
mov r9, rdi
mov edx, dword [rbx + 0x44]
mov r8d, 4
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
call fcn.18005df00
mov dword [rsp + 0x44], eax
mov r9d, eax
mov byte [rbx + 4], 0
jmp 0x180164fce
mov dword [rbx + 0x44], r12d
xor r9d, r9d
mov rax, qword [rbx + 0x30]
mov edx, r12d
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 4]
call fcn.18005df00
mov r9d, eax
mov dword [rsp + 0x44], eax
mov byte [rbx + 4], 1
mov rax, rsi
mov ecx, r15d
cmp word [rax + 2], 8
mov eax, 4
cmovne ecx, eax
mov eax, dword [rbx + 8]
and eax, 0xfffffffb
or ecx, eax
mov dword [rbx + 8], ecx
test r9d, r9d
jne 0x180169844
mov r12, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x60]
mov byte [rbx + 2], 1
jmp 0x180161a9f
mov rax, qword [rsp + 0x48]
mov r9b, 1
mov rcx, r14
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
call fcn.180056340
test rax, rax
je 0x180163ac4
mov rdx, qword [rsp + 0x48]
mov r8, rax
mov rcx, qword [rdx + 0x10]
mov qword [rax + 0x38], rcx
mov rcx, r13
mov edx, dword [rdx + 0xc]
call fcn.180171800
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x1801635ae
jmp 0x180161a9f
mov rax, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
test rcx, rcx
jne case.0x1801618b5.89
jmp 0x1801634e9
mov rax, qword [rsp + 0x48]
mov r9b, 3
mov rcx, r14
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 4]
call fcn.180056340
test rax, rax
je 0x180163ac4
mov rcx, qword [rsp + 0x48]
mov byte [rax + 2], 1
mov ecx, dword [rcx + 8]
mov dword [rax + 0x24], ecx
lea rcx, [0x180294da4]
mov byte [rax + 4], 1
mov qword [rax + 0x30], rcx
jmp 0x180161a9a
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x1801650fe
mov rcx, r14
call fcn.18016cf60
mov r9d, dword [rsp + 0x44]
mov r11d, 1
movzx r10d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov qword [rax + rcx*8], r15
jmp 0x180161b8f
mov rax, qword [r14 + 0x78]
mov r12d, r15d
mov r9, qword [rsp + 0x48]
movsxd rcx, dword [r9 + 4]
mov rsi, qword [rax + rcx*8]
mov byte [rsi + 2], 0
mov byte [rsi + 3], 0
mov dword [rsi + 0x20], r15d
cmp byte [rsi + 4], 0
je 0x180165234
movsxd rax, dword [r9 + 0xc]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x70]
movzx r14d, word [rdi + 0x14]
movzx eax, r14b
and al, 0x2e
cmp al, 2
jne 0x180165164
xor edx, edx
mov rcx, rdi
call fcn.1800597f0
mov rcx, rdi
call fcn.18016d870
movzx ecx, word [rdi + 0x14]
mov r15, rax
mov word [rdi + 0x14], r14w
test cl, 0x24
jne 0x180165202
test cl, 8
jne 0x1801651e0
test cl, 1
jne 0x180168ac7
cmp ebx, 0x17
jae 0x180168ac7
mov rcx, qword [rsi + 0x30]
cmp byte [rcx], 0
jne 0x1801651c0
test byte [rcx + 1], 8
je 0x1801651c0
mov r14, qword [rsp + 0x68]
xor r15d, r15d
mov dword [rbp - 0x78], r15d
mov r9d, r15d
mov dword [rsp + 0x44], r15d
jmp 0x18016871f
lea rdx, [rbp - 0x78]
call fcn.18005e7b0
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x180169642
xor r15d, r15d
jmp 0x180165382
movsd xmm1, qword [rdi]
mov rcx, r15
call fcn.18013deb0
test eax, eax
jle 0x1801651f9
test bl, 1
jne 0x180165202
dec ebx
jmp 0x180165202
jns 0x180165202
test bl, 1
je 0x180165202
inc ebx
mov rcx, qword [rsi + 0x30]
lea rdi, [rsi + 0x30]
lea r9, [rbp - 0x78]
xor r8d, r8d
mov rdx, r15
call fcn.180106130
mov dword [rsp + 0x44], eax
mov r9d, eax
mov qword [rsi + 0x50], r15
test eax, eax
jne 0x180169642
xor r15d, r15d
jmp 0x1801652c3
mov rax, qword [rsi + 0x30]
lea rdi, [rsi + 0x30]
mov ecx, dword [r9 + 0x10]
lea r8, [rbp - 0x78]
lea rdx, [rbp + 0x1c8]
movzx r14d, byte [rax + 3]
mov rax, qword [rsi + 0x38]
and r14b, 2
mov qword [rbp + 0x1c8], rax
lea eax, [rbx - 1]
mov word [rbp + 0x1e4], cx
setne r12b
test al, 1
mov ecx, 0xffffffff
mov eax, r11d
cmovne eax, ecx
mov byte [rbp + 0x1e6], al
movsxd rax, dword [r9 + 0xc]
imul rcx, rax, 0x38
mov byte [rbp + 0x1ea], 0
add rcx, qword [rsp + 0x70]
mov qword [rbp + 0x1d0], rcx
mov rcx, qword [rdi]
call fcn.180103f00
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x180169642
test r14b, r14b
je 0x1801652c3
cmp byte [rbp + 0x1ea], al
je 0x180165382
mov eax, dword [rbp - 0x78]
cmp ebx, 0x17
jl 0x180165368
test eax, eax
js 0x1801652e3
jne 0x1801652da
cmp ebx, 0x18
je 0x1801652e3
mov dword [rbp - 0x78], r15d
jmp 0x1801653c8
mov rcx, qword [rdi]
mov dword [rbp - 0x78], r15d
mov word [rcx + 0x46], r15w
and byte [rcx + 1], 0xf9
cmp byte [rcx], 0
je 0x1801652ff
call fcn.18005e960
jmp 0x180165334
movzx r8d, word [rcx + 0x56]
mov rdx, qword [rcx + 0x88]
lea eax, [r8 + 1]
mov word [rcx + 0x56], ax
cmp ax, word [rdx + 0x18]
jb 0x180165325
mov word [rcx + 0x56], r8w
call fcn.18005e960
jmp 0x180165334
cmp byte [rdx + 8], 0
jne 0x1801653c0
call fcn.1800dbff0
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
je 0x1801653c8
cmp eax, 0x65
jne 0x180169642
mov rdi, qword [rsp + 0x60]
mov r11d, 1
mov dword [rbp - 0x78], r11d
mov r9d, r15d
mov dword [rsp + 0x44], r15d
jmp 0x1801634e4
test eax, eax
jg 0x18016538e
jne 0x180165373
cmp ebx, 0x15
je 0x18016538e
mov rax, qword [rdi]
mov ecx, r15d
cmp byte [rax], 0
setne cl
mov dword [rbp - 0x78], ecx
cmp dword [rbp - 0x78], 0
jne 0x1801655d5
jmp 0x1801653c8
mov rcx, qword [rdi]
mov dword [rbp - 0x78], r15d
and byte [rcx + 1], 0xf1
mov word [rcx + 0x46], r15w
cmp byte [rcx], 0
jne 0x1801653e9
movzx edx, word [rcx + 0x56]
test dx, dx
je 0x1801653e9
mov rax, qword [rcx + 0x88]
cmp byte [rax + 8], 0
je 0x1801653e9
dec dx
mov word [rcx + 0x56], dx
mov r9d, r15d
mov dword [rsp + 0x44], r15d
mov rsi, qword [rsp + 0x48]
test r12d, r12d
mov r12, qword [rsp + 0x70]
mov r14, qword [rsp + 0x68]
je 0x1801691ee
add rsi, 0x18
jmp 0x180168729
call fcn.18005f3c0
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
je 0x1801653c8
cmp eax, 0x65
jmp 0x180165346
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 0x1c]
mov rax, qword [r14 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi + 0x30]
cmp byte [rax], 0
jne 0x180161f82
mov rcx, qword [rsp + 0x48]
mov rax, qword [rdi + 0x38]
mov qword [rbp + 0x228], rax
mov byte [rbp + 0x246], 0
movzx eax, word [rcx + 0x28]
mov esi, dword [rcx + 4]
mov word [rbp + 0x244], ax
movsxd rax, dword [rcx + 0x24]
imul rcx, rax, 0x38
add rcx, r12
mov qword [rbp + 0x230], rcx
nop word [rax + rax]
mov rbx, qword [rdi + 0x30]
mov rcx, rbx
call fcn.1800c9af0
mov ecx, dword [rbx + 0x40]
lea rax, [rcx - 1]
cmp rax, 0x7ffffffe
ja 0x180169857
mov word [rbp + 0xcc], r15w
mov qword [rbp + 0xd0], r13
mov dword [rbp + 0xd8], r15d
mov rax, qword [rbx + 0x88]
movzx edx, word [rbx + 0x44]
mov r8d, dword [rax + 0x58]
sub r8d, dword [rbx + 0x38]
cmp edx, r8d
jle 0x1801654b7
test r8d, r8d
mov edx, r8d
cmovs edx, r15d
mov rax, qword [rbx + 0x38]
mov qword [rbp + 0xc0], rax
cmp ecx, edx
ja 0x1801654da
mov edx, 0x4010
mov dword [rbp + 0xc8], ecx
mov word [rbp + 0xcc], dx
jmp 0x18016550a
mov r8d, ecx
lea r9, [rbp + 0xb8]
mov rcx, rbx
xor edx, edx
call fcn.18016e730
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x1801635ae
mov ecx, dword [rbp + 0xc8]
mov rax, qword [rbp + 0xc0]
xor r9d, r9d
lea r8, [rbp + 0x228]
mov rdx, rax
call fcn.1801702f0
cmp dword [rbp + 0xd8], 0
mov ebx, eax
je 0x180165533
lea rcx, [rbp + 0xb8]
call fcn.18018a7b0
mov dword [rsp + 0x44], r15d
mov r9d, r15d
test ebx, ebx
jle 0x18016554d
mov rax, qword [rsp + 0x48]
cmp word [rax + 2], 0
je 0x1801655c7
test ebx, ebx
jns 0x1801655d5
test esi, esi
jle 0x1801691e9
mov dword [rdi + 0x20], r15d
dec esi
mov rcx, qword [rdi + 0x30]
mov word [rcx + 0x46], r15w
and byte [rcx + 1], 0xf9
cmp byte [rcx], 0
je 0x18016557a
call fcn.18005e960
jmp 0x1801655af
movzx r8d, word [rcx + 0x56]
mov rdx, qword [rcx + 0x88]
lea eax, [r8 + 1]
mov word [rcx + 0x56], ax
cmp ax, word [rdx + 0x18]
jb 0x1801655a0
mov word [rcx + 0x56], r8w
call fcn.18005e960
jmp 0x1801655af
cmp byte [rdx + 8], 0
jne 0x180165460
call fcn.1800dbff0
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
je 0x180165460
cmp eax, 0x65
jne 0x1801635ae
add qword [rsp + 0x48], 0x18
mov r9d, r15d
mov dword [rsp + 0x44], r15d
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x60]
mov r11d, 1
jmp 0x1801634e9
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x48]
movzx ecx, word [rdx + 0xc]
mov eax, dword [rax + 8]
cmp ecx, eax
jge 0x180165614
mov word [rdx + 0xc], ax
jmp 0x180161b8f
mov rax, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x48]
mov eax, dword [rax + 0xc]
cmp ecx, eax
jle case.0x1801618b5.89
mov word [rdx + 0xc], ax
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je case.0x1801618b5.9
cmp byte [rdx + 2], 0
je 0x180161b24
jmp case.0x1801618b5.9
mov rax, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
movzx eax, word [rcx + 0xc]
cmp eax, dword [rsi + 0x10]
jge case.0x1801618b5.89
mov rax, qword [r14 + 0x78]
mov r9, qword [rsp + 0x48]
movsxd rcx, dword [r9 + 4]
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r9 + 0xc]
imul rcx, rax, 0x38
add rcx, r12
mov qword [rbp + 0x98], rcx
movzx eax, word [r9 + 0x10]
mov word [rbp + 0xac], ax
test ax, ax
je 0x1801656f1
mov rax, qword [rbx + 0x38]
lea rsi, [rbx + 0x24]
mov qword [rbp + 0x90], rax
lea rdx, [rbp + 0x90]
mov byte [rbp + 0xae], 0
mov r8, rsi
mov rcx, qword [rbx + 0x30]
call fcn.180103f00
mov r9d, eax
mov dword [rsp + 0x44], eax
jmp 0x18016576d
mov eax, 0x400
test word [rcx + 0x14], ax
je 0x180165709
call fcn.18016e5c0
test eax, eax
jne 0x180163ac4
mov rcx, qword [rbx + 0x38]
call fcn.180160a50
mov rdi, rax
test rax, rax
je 0x180163ac4
mov rdx, qword [rbp + 0x98]
mov r9, rax
mov rcx, qword [rbx + 0x38]
mov r8, qword [rdx + 8]
mov edx, dword [rdx + 0x10]
call fcn.180170d30
mov byte [rdi + 0x1e], 0
lea rsi, [rbx + 0x24]
mov rcx, qword [rbx + 0x30]
mov r8, rsi
mov rdx, rdi
call fcn.180103f00
mov rdx, rdi
mov dword [rsp + 0x44], eax
mov rcx, r13
call fcn.18010d580
mov r9d, dword [rsp + 0x44]
mov r12, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x60]
test r9d, r9d
jne 0x1801635ae
mov ecx, dword [rsi]
test ecx, ecx
setne al
mov byte [rbx + 2], al
mov rax, qword [rsp + 0x48]
mov byte [rbx + 3], r9b
mov dword [rbx + 0x20], r15d
movzx eax, byte [rax]
cmp al, 0x1d
jne 0x1801657a1
test ecx, ecx
je 0x1801655d5
jmp 0x180161a9f
test ecx, ecx
jne 0x1801655d5
cmp al, 0x1b
jne 0x1801657ea
movzx edx, word [rbp + 0xac]
mov rcx, r15
test rdx, rdx
je 0x1801691e9
mov rax, qword [rbp + 0x98]
add rax, 0x14
nop dword [rax + rax]
test byte [rax], 1
jne 0x1801655d5
inc rcx
add rax, 0x38
cmp rcx, rdx
jl 0x1801657d0
jmp 0x180161a9f
mov rsi, qword [rsp + 0x48]
cmp byte [rsi], 0x1a
jne 0x1801691ee
movzx eax, word [rsi + 0x10]
mov r11d, 1
movzx r10d, byte [rsp + 0x40]
mov word [rbx + 0xc], ax
jmp 0x18016873a
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r12
test byte [rcx + 0x14], 0x24
jne case.0x1801618b5.31
movups xmm0, xmmword [rcx]
movups xmmword [rbp + 0x1f0], xmm0
movups xmm2, xmmword [rcx + 0x10]
movups xmmword [rbp + 0x200], xmm2
movups xmm0, xmmword [rcx + 0x20]
movq rax, xmm2
movups xmmword [rbp + 0x210], xmm0
shr rax, 0x20
movsd xmm1, qword [rcx + 0x30]
movsd qword [rbp + 0x220], xmm1
test al, 4
jne 0x180165895
test al, 0x28
jne 0x180165889
test al, 2
je 0x180165895
mov edx, r11d
lea rcx, [rbp + 0x1f0]
call fcn.1800597f0
mov r9d, dword [rsp + 0x44]
mov r11d, 1
jmp 0x180165895
lea rcx, [rbp + 0x1f0]
call fcn.18016d8e0
test byte [rbp + 0x204], 4
je 0x1801634e4
mov rdi, qword [rbp + 0x1f0]
jmp 0x1801658bc
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov rdi, qword [rcx + r12]
mov rax, qword [rsp + 0x48]
lea r9, [rbp - 0x80]
xor r8d, r8d
mov dword [rbp - 0x80], r15d
mov rdx, rdi
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.180106130
mov qword [rbx + 0x50], rdi
mov r9d, eax
mov byte [rbx + 2], 0
mov dword [rbx + 0x20], r15d
mov dword [rsp + 0x44], eax
mov eax, dword [rbp - 0x80]
mov byte [rbx + 3], 0
mov dword [rbx + 0x24], eax
test eax, eax
je 0x180164d47
mov rsi, qword [rsp + 0x48]
cmp dword [rsi + 8], 0
je 0x1801698a3
mov rdi, qword [rsp + 0x60]
mov r11d, 1
jmp 0x1801634e9
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r14 + 0x68]
test word [rdx + 0x14], ax
je 0x180165967
mov rcx, rdx
call fcn.1800e16f0
mov r9d, dword [rsp + 0x44]
mov rdx, rax
movzx r10d, byte [rsp + 0x40]
mov r11d, 1
mov r8d, dword [rsp + 0x50]
jmp 0x18016596d
mov word [rdx + 0x14], 4
mov rax, qword [r14 + 0x78]
mov rsi, rbx
movsxd rcx, dword [rbx + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x18]
mov qword [rdx], rax
mov rax, rbx
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [rbx + 4]
mov rdx, qword [rax + rcx*8]
inc qword [rdx + 0x18]
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov r13, qword [rsp + 0x48]
mov rbx, r15
mov rdi, qword [rsp + 0x68]
mov qword [rbp - 0x80], rbx
mov dword [rsp + 0x78], r15d
movsxd rax, dword [r13 + 8]
imul r14, rax, 0x38
mov eax, 0x9000
add r14, qword [rdi + 0x68]
test word [r14 + 0x14], ax
je 0x1801659e3
mov rcx, r14
call fcn.1800e16f0
mov r14, rax
jmp 0x1801659ea
mov word [r14 + 0x14], 4
movsxd rcx, dword [r13 + 4]
mov rax, qword [rdi + 0x78]
mov rsi, qword [rax + rcx*8]
test byte [rsi + 8], 2
jne 0x180165a66
mov rcx, qword [rsi + 0x30]
cmp byte [rcx], 0
jne 0x180165a3e
test byte [rcx + 1], 8
je 0x180165a3e
mov r12, qword [rsp + 0x70]
mov dword [rsp + 0x44], r15d
mov rbx, qword [rsi + 0x30]
mov rcx, rbx
call fcn.1800c9af0
mov rbx, qword [rbx + 0x30]
movabs r13, 0x7fffffffffffffff
mov qword [rbp - 0x80], rbx
cmp rbx, r13
jl 0x180165ab1
or dword [rsi + 8], 2
jmp 0x180165a70
lea rdx, [rsp + 0x78]
call fcn.18005e7b0
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x180169cf3
cmp dword [rsp + 0x78], eax
je 0x180165a15
mov ebx, 1
mov qword [rbp - 0x80], rbx
movabs r13, 0x7fffffffffffffff
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
test eax, eax
je 0x180165ae8
mov rcx, qword [rdi + 0x108]
test rcx, rcx
je 0x180165aba
mov rax, qword [rcx + 8]
test rax, rax
je 0x180165a9e
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x180165a92
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x18]
jmp 0x180165ac1
inc rbx
mov qword [rbp - 0x80], rbx
jmp 0x180165a70
imul rdi, rax, 0x38
add rdi, r12
mov rcx, rdi
call fcn.18016ebc0
mov rax, qword [rdi]
cmp rax, r13
je 0x180165b47
test byte [rsi + 8], 2
jne 0x180165b47
inc rax
cmp rbx, rax
cmovl rbx, rax
mov qword [rbp - 0x80], rbx
mov qword [rdi], rbx
test byte [rsi + 8], 2
je 0x180165b5c
mov edi, r15d
lea rdx, [rbp - 0x80]
mov ecx, 8
call fcn.180003cb5
mov rbx, qword [rbp - 0x80]
lea r9, [rsp + 0x78]
mov rcx, qword [rsi + 0x30]
movabs rax, 0x3fffffffffffffff
and rbx, rax
xor r8d, r8d
inc rbx
mov rdx, rbx
mov qword [rbp - 0x80], rbx
call fcn.180106130
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x180169642
cmp dword [rsp + 0x78], eax
jne 0x180165b61
inc edi
cmp edi, 0x64
jl 0x180165af1
mov r14, qword [rsp + 0x68]
mov r9d, 0xd
mov dword [rsp + 0x44], r9d
jmp 0x1801635ae
mov r9d, dword [rsp + 0x44]
mov byte [rsi + 3], 0
mov dword [rsi + 0x20], r15d
mov rsi, qword [rsp + 0x48]
mov qword [r14], rbx
mov r14, qword [rsp + 0x68]
jmp 0x180168729
mov r9, qword [rsp + 0x48]
movsxd rax, dword [r9 + 8]
movsxd rcx, dword [r9 + 4]
imul rdx, rax, 0x38
mov rax, qword [r14 + 0x78]
add rdx, r12
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r9 + 0xc]
imul rcx, rax, 0x38
mov rax, qword [rcx + r12]
mov qword [rbp + 0x130], rax
cmp byte [r9 + 1], 0xfb
jne 0x180165bd2
cmp qword [r13 + 0x130], 0
je 0x180165bd2
movsx rcx, byte [rbx + 1]
mov rax, qword [r13 + 0x20]
mov rdi, qword [r9 + 0x10]
shl rcx, 5
mov rsi, qword [rcx + rax]
jmp 0x180165bd8
mov rdi, r15
mov rsi, r15
test byte [r9 + 2], 1
je 0x180165bf5
inc qword [r14 + 0x38]
test byte [r9 + 2], 0x20
je 0x180165bf5
mov rax, qword [rbp + 0x130]
mov qword [r13 + 0x38], rax
mov rax, qword [rdx + 8]
mov qword [rbp + 0x138], rax
mov eax, dword [rdx + 0x10]
mov dword [rbp + 0x14c], eax
test byte [r9 + 2], 0x10
je 0x180165c16
mov r9d, dword [rbx + 0x24]
jmp 0x180165c19
mov r9d, r15d
mov eax, 0x400
test word [rdx + 0x14], ax
je 0x180165c2e
mov eax, dword [rdx]
mov dword [rbp + 0x150], eax
jmp 0x180165c35
mov dword [rbp + 0x150], r15d
mov rax, qword [rsp + 0x48]
lea rdx, [rbp + 0x128]
mov qword [rbp + 0x128], r15
mov rcx, qword [rbx + 0x30]
movzx r8d, word [rax + 2]
and r8d, 0x8a
call fcn.180104650
inc dword [rbp - 0x68]
mov r9d, eax
mov byte [rbx + 3], 0
mov dword [rsp + 0x44], eax
mov dword [rbx + 0x20], r15d
test eax, eax
jne 0x1801635ae
test rdi, rdi
je 0x1801691e9
mov rax, qword [rsp + 0x48]
mov edx, 0x12
mov r9, qword [rdi]
mov r8, rsi
mov rcx, qword [r13 + 0x128]
test byte [rax + 2], 4
mov eax, 0x17
cmovne edx, eax
mov rax, qword [rbp + 0x130]
mov qword [rsp + 0x20], rax
call qword [r13 + 0x130]
mov r9d, dword [rsp + 0x44]
mov rsi, qword [rsp + 0x48]
jmp 0x180168729
mov rbx, qword [rsp + 0x48]
mov rcx, qword [r14 + 0x78]
movsxd rax, dword [rbx + 4]
mov r9, qword [rcx + rax*8]
movsxd rax, dword [rbx + 8]
mov rdx, qword [rcx + rax*8]
mov rax, rbx
movsxd rax, dword [rbx + 0xc]
test eax, eax
je 0x180165cf3
imul rcx, rax, 0x38
mov r8, qword [rcx + r12]
jmp 0x180165cf6
mov r8, r15
mov rdx, qword [rdx + 0x30]
mov rcx, qword [r9 + 0x30]
call fcn.180106450
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x1801635ae
movzx r10d, byte [rsp + 0x40]
lea r11d, [rax + 1]
mov rsi, rbx
jmp 0x18016873a
mov r9, qword [rsp + 0x48]
mov rax, qword [r14 + 0x78]
cmp byte [r9 + 1], 0xfb
movsxd rcx, dword [r9 + 4]
mov r15d, dword [r9 + 8]
mov rdi, qword [rax + rcx*8]
jne 0x180165d87
cmp qword [r13 + 0x130], 0
je 0x180165d87
movsx rcx, byte [rdi + 1]
mov rax, qword [r13 + 0x20]
mov rsi, qword [r9 + 0x10]
shl rcx, 5
test byte [r9 + 2], 2
mov r14, qword [rcx + rax]
je 0x180165d8e
cmp byte [rdi + 4], 0
je 0x180165d8e
mov rbx, qword [rdi + 0x30]
mov rcx, rbx
call fcn.1800c9af0
mov rax, qword [rbx + 0x30]
mov r9, qword [rsp + 0x48]
mov qword [rdi + 0x50], rax
jmp 0x180165d8e
xor eax, eax
mov r14d, eax
mov esi, eax
movzx edx, byte [r9 + 2]
mov rcx, qword [rdi + 0x30]
call fcn.180103800
inc dword [rbp - 0x68]
mov r9d, eax
mov dword [rsp + 0x44], eax
xor eax, eax
mov dword [rdi + 0x20], eax
mov dword [rdi + 0x24], eax
test r9d, r9d
jne 0x180169642
test r15b, 1
je 0x1801660fb
mov rax, qword [rsp + 0x68]
inc qword [rax + 0x38]
mov r10, qword [r13 + 0x130]
test r10, r10
je 0x18016610d
test rsi, rsi
je 0x18016610d
test byte [rsi + 0x30], 0x80
jne 0x18016610d
mov rax, qword [rdi + 0x50]
mov r8, r14
mov r9, qword [rsi]
mov edx, 9
mov rcx, qword [r13 + 0x128]
mov qword [rsp + 0x20], rax
call r10
mov r9d, dword [rsp + 0x44]
xor r15d, r15d
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x68]
jmp 0x180168729
mov rax, qword [r14 + 0x38]
mov qword [r13 + 0x78], rax
add qword [r13 + 0x80], rax
mov qword [r14 + 0x38], r15
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov r9, qword [rsp + 0x48]
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r9 + 4]
mov ebx, dword [r9 + 0x10]
mov rdx, qword [rax + rcx*8]
movsxd rax, dword [r9 + 0xc]
imul r15, rax, 0x38
mov rdi, qword [rdx + 0x30]
mov rsi, qword [rdx + 0x38]
mov r14, qword [rdi + 0x30]
test r14, r14
jne 0x180165e91
mov rcx, rsi
call fcn.180160a50
mov qword [rdi + 0x30], rax
mov r14, rax
test rax, rax
je 0x1801698ab
mov word [rax + 0x1c], bx
cmp byte [rdi + 0x58], 0
je 0x180165ecd
cmp byte [rdi + 0x59], 0
je 0x180165eab
mov rax, qword [rdi + 0x10]
mov r8, qword [rax + 0x28]
lea rdx, [rax + 0x14]
jmp 0x180165ed5
mov rdx, qword [rdi + 0x18]
mov rax, qword [rdx + 0x10]
movsxd rcx, dword [rax + 4]
lea rax, [rcx + rcx*4]
shl rax, 4
add rax, qword [rdx + 0x18]
mov r8, qword [rax + 0x28]
lea rdx, [rax + 0x14]
jmp 0x180165ed5
mov rdx, qword [rdi + 0x38]
lea r8, [rdx + 0x10]
mov edx, dword [rdx]
mov r9, r14
mov rcx, rsi
call fcn.180170d30
xor ecx, ecx
test ebx, ebx
jle 0x180165eff
mov rax, qword [r14 + 8]
add rax, 0x14
test byte [rax], 1
jne 0x180165f3b
inc ecx
add rax, 0x38
cmp ecx, ebx
jl 0x180165ef0
mov rdx, qword [r15 + r12 + 8]
xor r9d, r9d
mov ecx, dword [r15 + r12 + 0x10]
mov r8, r14
call fcn.1801702f0
xor r15d, r15d
mov dword [rsp + 0x44], r15d
mov r9d, r15d
test eax, eax
jne 0x1801655d5
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x68]
mov dword [rsp + 0x44], r15d
jmp 0x180168729
xor r15d, r15d
jmp 0x1801655cd
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul rbx, rax, 0x38
mov rax, qword [r14 + 0x78]
add rbx, r12
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
cmp byte [rax + 0x58], 0
je 0x180165f9f
cmp byte [rax + 0x59], 0
je 0x180165f7d
mov rax, qword [rax + 0x10]
mov rsi, qword [rax + 0x28]
lea rdi, [rax + 0x14]
jmp 0x180165fa7
mov rdx, qword [rax + 0x18]
mov rax, qword [rdx + 0x10]
movsxd rcx, dword [rax + 4]
lea rax, [rcx + rcx*4]
shl rax, 4
add rax, qword [rdx + 0x18]
mov rsi, qword [rax + 0x28]
lea rdi, [rax + 0x14]
jmp 0x180165fa7
mov rdi, qword [rax + 0x38]
lea rsi, [rdi + 0x10]
movsxd rdi, dword [rdi]
cmp dword [rbx + 0x20], edi
jge 0x180165fc6
xor r8d, r8d
mov edx, edi
mov rcx, rbx
call fcn.18016e8f0
test eax, eax
jne 0x180163adb
jmp 0x180165fd3
mov rax, qword [rbx + 0x28]
mov qword [rbx + 8], rax
and word [rbx + 0x14], 0x2d
mov dword [rbx + 0x10], edi
mov ecx, 0xf250
movzx eax, word [rbx + 0x14]
mov r8, rdi
and ax, cx
mov rdx, rsi
or ax, 0x10
mov word [rbx + 0x14], ax
mov rcx, qword [rbx + 8]
call fcn.180002c16
mov rax, qword [rsp + 0x48]
mov r9d, r15d
mov rsi, qword [rsp + 0x48]
mov dword [rsp + 0x44], r15d
movsxd rcx, dword [rax + 0xc]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x20], r15d
jmp 0x180168729
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, qword [r14 + 0x68]
test word [rbx + 0x14], ax
je 0x180166049
mov rcx, rbx
call fcn.1800e16f0
mov rbx, rax
jmp 0x18016604f
mov word [rbx + 0x14], 4
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rdi, qword [rcx + 0x30]
mov rcx, rdi
call fcn.1800c9af0
mov edx, dword [rdi + 0x40]
cmp edx, dword [r13 + 0x88]
ja 0x1801698f2
mov r8, rbx
mov rcx, rdi
call fcn.18016e880
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x1801635ae
mov rsi, qword [rsp + 0x48]
cmp dword [rsi + 0xc], eax
jne 0x1801691ee
mov eax, 0x4000
test word [rbx + 0x14], ax
je 0x1801691ee
mov rcx, rbx
call fcn.18016ec70
test eax, eax
jne 0x180163ac4
mov r9d, dword [rsp + 0x44]
jmp 0x180168729
mov r9d, dword [rsp + 0x44]
xor r15d, r15d
mov r14, qword [rsp + 0x68]
mov r12, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x48]
jmp 0x180168729
mov r9d, dword [rsp + 0x44]
xor r15d, r15d
mov rsi, qword [rsp + 0x48]
jmp 0x180168729
mov r14, qword [rsp + 0x68]
xor r15d, r15d
mov rsi, qword [rsp + 0x48]
jmp 0x180168729
mov rsi, qword [rsp + 0x48]
mov r14, rax
xor r15d, r15d
jmp 0x180168729
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 8]
imul rdi, rax, 0x38
mov eax, 0x9000
add rdi, qword [r14 + 0x68]
test word [rdi + 0x14], ax
je 0x18016615c
mov rcx, rdi
call fcn.1800e16f0
mov r9d, dword [rsp + 0x44]
mov rdi, rax
movzx r10d, byte [rsp + 0x40]
mov r11d, 1
mov r8d, dword [rsp + 0x50]
jmp 0x180166162
mov word [rdi + 0x14], 4
movsxd rcx, dword [rbx + 4]
mov rax, qword [r14 + 0x78]
mov rbx, qword [rax + rcx*8]
cmp byte [rbx + 2], 0
je 0x180166195
mov rsi, qword [rsp + 0x48]
mov word [rdi + 0x14], r11w
mov rdi, qword [rsp + 0x60]
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
cmp byte [rbx + 3], 0
je 0x1801661b0
mov rax, qword [rbx + 0x50]
mov rsi, qword [rsp + 0x48]
mov qword [rbp - 0x38], rax
mov qword [rdi], rax
jmp 0x180168729
cmp byte [rbx], 2
mov rcx, qword [rbx + 0x30]
jne 0x1801661f9
mov rbx, qword [rcx]
lea rdx, [rbp - 0x38]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, r14
mov dword [rsp + 0x44], eax
call fcn.180172ff0
mov r9d, dword [rsp + 0x44]
test r9d, r9d
jne 0x1801635ae
mov rax, qword [rbp - 0x38]
mov r12, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x48]
mov qword [rdi], rax
jmp 0x180168729
cmp byte [rcx], 0
je 0x180166217
mov rcx, rbx
call fcn.18016d570
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x1801635ae
jmp 0x18016621f
mov r9d, r15d
mov dword [rsp + 0x44], r15d
cmp byte [rbx + 2], 0
je 0x18016623a
mov rsi, qword [rsp + 0x48]
mov r11d, 1
mov word [rdi + 0x14], r11w
jmp 0x18016872f
mov rbx, qword [rbx + 0x30]
mov rcx, rbx
call fcn.1800c9af0
mov rax, qword [rbx + 0x30]
mov r9d, dword [rsp + 0x44]
mov rsi, qword [rsp + 0x48]
mov qword [rbp - 0x38], rax
mov qword [rdi], rax
jmp 0x180168729
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rax, qword [rax + rdx*8]
test rax, rax
jne 0x1801662a9
mov r9b, 3
mov r8d, r11d
mov rcx, r14
call fcn.180056340
test rax, rax
je 0x180163ac4
mov r9d, dword [rsp + 0x44]
lea rcx, [0x180294da4]
mov dword [rax + 0x24], r15d
mov byte [rax + 4], 1
or dword [rax + 8], 8
mov qword [rax + 0x30], rcx
mov byte [rax + 2], 1
mov dword [rax + 0x20], r15d
cmp byte [rax], 0
jne 0x180161a9f
mov rcx, qword [rax + 0x30]
call fcn.180102b90
jmp 0x180161a9a
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rdi, qword [rax + rcx*8]
mov eax, r15d
mov dword [rbp - 0x80], eax
mov rcx, qword [rdi + 0x30]
cmp bl, 0x89
jne 0x18016635c
mov dword [rdi + 0x24], 0xffffffff
cmp byte [rcx], 0
je 0x180161f82
lea rdx, [rbp - 0x80]
call fcn.18005e7b0
mov r9d, eax
mov dword [rsp + 0x44], eax
mov eax, dword [rbp - 0x80]
mov byte [rdi + 2], al
mov byte [rdi + 3], 0
mov dword [rdi + 0x20], r15d
test r9d, r9d
jne 0x180162a44
movzx r10d, byte [rsp + 0x40]
lea r11d, [r9 + 1]
mov r8d, dword [rsp + 0x50]
mov rsi, qword [rsp + 0x48]
cmp dword [rsi + 8], 0
jle 0x180166537
test eax, eax
jne 0x1801655da
mov rdi, qword [rsp + 0x60]
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
cmp byte [rcx], 0
jne 0x1801662f8
test byte [rcx + 1], 8
je 0x1801662f8
mov byte [rdi + 2], al
mov r9d, r15d
mov byte [rdi + 3], 0
mov dword [rdi + 0x20], r15d
mov dword [rsp + 0x44], r15d
jmp 0x18016632e
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x30]
mov rcx, rbx
call fcn.1800dc4f0
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x1801663b8
mov rcx, rbx
mov r13d, r15d
call fcn.1800dbff0
mov r9d, eax
mov dword [rsp + 0x44], eax
jmp 0x1801663d8
cmp eax, 0x10
jne 0x1801663d4
mov r11d, 1
mov dword [rsp + 0x44], r15d
mov dword [rbp - 0x64], r11d
mov r9d, r15d
jmp 0x1801634e4
mov r13d, dword [rbp - 0x64]
mov dword [rbp - 0x64], r13d
mov r11d, r9d
test r9d, r9d
jne 0x1801635ae
mov dword [rsp + 0x44], r9d
test r13d, r13d
jne 0x1801655d5
mov rcx, rbx
call fcn.180105c80
test rax, rax
js 0x180166430
mov rcx, rax
call fcn.180140510
mov rsi, qword [rsp + 0x48]
movsx ecx, ax
cmp ecx, dword [rsi + 0xc]
jge 0x180166435
mov r9d, r11d
mov dword [rsp + 0x44], r11d
lea r11d, [r13 + 1]
mov dword [rbp - 0x64], 1
jmp 0x1801634e9
mov rsi, qword [rsp + 0x48]
movzx r10d, byte [rsp + 0x40]
mov r9d, r11d
mov dword [rsp + 0x44], r11d
mov r11d, 1
mov dword [rbp - 0x64], r13d
jmp 0x18016873a
inc dword [r14 + 0xdc]
mov rax, qword [rsp + 0x48]
mov edi, r11d
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rsi, qword [rax + rcx*8]
cmp byte [rsi], 1
mov rbx, qword [rsi + 0x30]
jne 0x1801664c9
cmp byte [rbx + 0x58], 0
mov dword [rsp + 0x44], r15d
jne 0x18016649e
cmp qword [rbx + 0x38], 0
lea rdx, [rbx + 0x38]
je 0x1801664ff
lea rcx, [rbx + 0x60]
mov edi, r15d
call fcn.18018dce0
mov dword [rsp + 0x44], eax
jmp 0x1801664ff
mov rcx, rbx
call fcn.18018c930
mov edx, eax
mov rcx, rbx
call fcn.18018caf0
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1801664ff
mov rcx, rbx
call fcn.18018d950
mov dword [rsp + 0x44], eax
mov edi, r15d
jmp 0x1801664ff
mov rcx, rbx
call fcn.1800dc4f0
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1801664ea
mov rcx, rbx
mov edi, r15d
call fcn.1800dbff0
mov dword [rsp + 0x44], eax
jmp 0x1801664f7
cmp eax, 0x10
jne 0x1801664f7
lea edi, [rax - 0xf]
mov dword [rsp + 0x44], r15d
mov byte [rsi + 3], 0
mov dword [rsi + 0x20], r15d
mov r9d, dword [rsp + 0x44]
test r9d, r9d
jne 0x1801635ae
mov byte [rsi + 2], dil
mov rsi, qword [rsp + 0x48]
cmp dword [rsi + 8], r9d
jle 0x180166532
test edi, edi
je 0x180168724
mov rdi, qword [rsp + 0x60]
lea r11d, [r9 + 1]
jmp 0x1801634e9
mov r12, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x60]
mov r11d, 1
movzx r10d, byte [rsp + 0x40]
jmp 0x18016873a
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rsi, qword [rax + rcx*8]
mov rdi, qword [rsi + 0x30]
cmp byte [rdi + 0x58], 0
je 0x1801665b6
cmp byte [rdi + 0x59], 0
je 0x180166592
mov rcx, qword [rdi + 0x10]
call fcn.18018b800
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1801665f8
mov rax, qword [rdi + 0x10]
cmp qword [rax + 0x18], 0
jne 0x1801665f8
mov r12d, 0x65
jmp 0x1801665f3
mov rcx, qword [rdi + 0x18]
lea rdx, [rbp - 0x80]
mov dword [rbp - 0x80], r15d
call fcn.18018b010
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1801665f8
cmp dword [rbp - 0x80], eax
je 0x1801665f8
lea r12d, [rax + 0x65]
jmp 0x1801665f3
mov rdx, qword [rdi + 0x38]
mov rax, qword [rdx + 8]
mov qword [rdi + 0x38], rax
mov qword [rdx + 8], r15
cmp qword [rdi + 0x40], 0
jne 0x1801665e4
nop dword [rax]
mov rbx, qword [rdx + 8]
mov rcx, r13
call fcn.18010d580
mov rdx, rbx
test rbx, rbx
jne 0x1801665d0
cmp qword [rdi + 0x38], 0
mov r12d, 0x65
cmovne r12d, r15d
mov dword [rsp + 0x44], r12d
mov r9d, dword [rsp + 0x44]
mov rbx, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x60]
jmp 0x1801666cb
mov rax, qword [r14 + 0x78]
mov rbx, qword [rsp + 0x48]
movsxd rcx, dword [rbx + 4]
mov rsi, qword [rax + rcx*8]
mov rcx, qword [rsi + 0x30]
and byte [rcx + 1], 0xf1
mov word [rcx + 0x46], r15w
cmp byte [rcx], 0
jne 0x180166657
movzx edx, word [rcx + 0x56]
test dx, dx
je 0x180166657
mov rax, qword [rcx + 0x88]
cmp byte [rax + 8], 0
je 0x180166657
dec dx
mov dword [rsp + 0x44], r15d
mov word [rcx + 0x56], dx
mov dword [rsi + 0x20], r15d
jmp 0x1801666d4
call fcn.18005f3c0
jmp 0x1801666c4
mov rax, qword [r14 + 0x78]
mov rbx, qword [rsp + 0x48]
movsxd rcx, dword [rbx + 4]
mov rsi, qword [rax + rcx*8]
mov rcx, qword [rsi + 0x30]
mov word [rcx + 0x46], r15w
and byte [rcx + 1], 0xf9
cmp byte [rcx], 0
je 0x180166688
call fcn.18005e960
jmp 0x1801666c4
movzx r8d, word [rcx + 0x56]
mov rdx, qword [rcx + 0x88]
lea eax, [r8 + 1]
mov word [rcx + 0x56], ax
cmp ax, word [rdx + 0x18]
jb 0x1801666ae
mov word [rcx + 0x56], r8w
call fcn.18005e960
jmp 0x1801666c4
cmp byte [rdx + 8], 0
je 0x1801666bf
mov dword [rsp + 0x44], r15d
mov dword [rsi + 0x20], r15d
jmp 0x1801666d4
call fcn.1800dbff0
mov dword [rsp + 0x44], eax
mov r9d, eax
mov dword [rsi + 0x20], r15d
test r9d, r9d
jne 0x1801666e9
mov byte [rsi + 2], 0
movzx eax, word [rbx + 2]
inc dword [r14 + rax*4 + 0xd4]
jmp case.0x1801618b5.9
cmp r9d, 0x65
jne 0x1801635ae
mov r9d, r15d
mov dword [rsp + 0x44], r15d
mov byte [rsi + 2], 1
jmp 0x1801672bb
mov r9, qword [rsp + 0x48]
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r9 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r9 + 8]
imul rbx, rax, 0x38
add rbx, r12
test byte [r9 + 2], 1
je 0x18016672b
inc qword [r14 + 0x38]
mov eax, 0x400
test word [rbx + 0x14], ax
je 0x180166752
mov rcx, rbx
call fcn.18016e5c0
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x1801635ae
mov r9, qword [rsp + 0x48]
movsxd rax, dword [rbx + 0x10]
mov qword [rbp + 0x2a8], rax
mov rax, qword [rbx + 8]
mov qword [rbp + 0x2a0], rax
movsxd rax, dword [r9 + 0xc]
imul rcx, rax, 0x38
add rcx, r12
mov qword [rbp + 0x2b8], rcx
movzx eax, word [r9 + 0x10]
mov word [rbp + 0x2c0], ax
movzx r8d, word [r9 + 2]
test r8b, 0x10
je 0x180166797
mov r9d, dword [rdi + 0x24]
jmp 0x18016679a
mov r9d, r15d
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp + 0x2a0]
and r8d, 0x8a
call fcn.180104650
mov dword [rsp + 0x44], eax
mov r9d, eax
mov dword [rdi + 0x20], r15d
test eax, eax
jne 0x1801635ae
mov rsi, qword [rsp + 0x48]
jmp 0x180168729
mov r9, qword [rsp + 0x48]
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r9 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r9 + 8]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, r12
test word [rbx + 0x14], ax
je 0x18016680c
mov rcx, rbx
call fcn.18016e5c0
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x1801635ae
mov rdx, rbx
mov rcx, rdi
call fcn.180171d80
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x1801635ae
mov rsi, qword [rsp + 0x48]
jmp 0x180168729
mov rax, qword [r14 + 0x78]
lea r8, [rbp - 0x40]
mov r9, qword [rsp + 0x48]
movsxd rcx, dword [r9 + 4]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x38]
mov rdi, qword [rbx + 0x30]
mov qword [rbp + 0x250], rax
mov rcx, rdi
movzx eax, word [r9 + 0xc]
mov word [rbp + 0x26c], ax
mov byte [rbp + 0x26e], 0
movsxd rax, dword [r9 + 8]
imul rdx, rax, 0x38
add rdx, r12
mov qword [rbp + 0x258], rdx
lea rdx, [rbp + 0x250]
call fcn.180103f00
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x1801635ae
cmp dword [rbp - 0x40], eax
jne 0x1801668c7
mov dl, 4
mov rcx, rdi
call fcn.180103800
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x1801635ae
mov rsi, qword [rsp + 0x48]
mov dword [rbx + 0x20], r15d
mov dword [rbx + 0x24], r15d
jmp 0x180168729
mov rsi, qword [rsp + 0x48]
cmp word [rsi + 2], 0
je 0x1801668e6
mov eax, dword [r13 + 0x30]
and eax, 0x10000001
cmp rax, 1
jne 0x1801698f9
mov dword [rbx + 0x20], r15d
mov dword [rbx + 0x24], r15d
jmp 0x180168729
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x180166935
mov rcx, rbx
call fcn.18016d570
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x1801635ae
movzx r10d, byte [rsp + 0x40]
lea r11d, [rax + 1]
mov r8d, dword [rsp + 0x50]
jmp 0x18016693d
mov r9d, r15d
mov dword [rsp + 0x44], r15d
cmp byte [rbx + 2], 0
jne 0x1801669ec
mov rdx, qword [rbx + 0x30]
lea r8, [rbp - 0x70]
mov rcx, r13
mov qword [rbp - 0x70], r15
call fcn.18016d5e0
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x1801635ae
mov rax, qword [rsp + 0x48]
cmp byte [rax], 0x8d
jne 0x1801669aa
movsxd rcx, dword [rax + 0xc]
mov rax, qword [r14 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rbp - 0x70]
mov byte [rdx + 2], r9b
mov qword [rdx + 0x50], rax
mov rax, qword [rsp + 0x48]
mov byte [rdx + 3], 1
mov dword [rdx + 0x20], r15d
mov rax, qword [rax + 0x10]
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x28], rbx
jmp 0x180161a9f
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [r14 + 0x68]
test word [rcx + 0x14], ax
je 0x1801669da
call fcn.1800e16f0
mov r9d, dword [rsp + 0x44]
mov rcx, rax
mov rax, qword [rbp - 0x70]
mov qword [rcx], rax
jmp 0x180161a9f
mov rax, qword [rbp - 0x70]
mov word [rcx + 0x14], 4
mov qword [rcx], rax
jmp 0x180161a9f
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, r12
mov eax, 0x9000
test word [rcx + 0x14], ax
je 0x180166a11
call fcn.18018a810
jmp 0x180161a9a
mov word [rcx + 0x14], r11w
jmp 0x180161b8f
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 3], 0
je 0x180161b24
call fcn.18016cd90
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x1801635ae
jmp 0x180161a9f
mov r9, qword [rsp + 0x48]
cmp bl, 0x2a
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r9 + 4]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x38]
mov rbx, qword [rdx + 0x30]
mov qword [rbp + 0x278], rax
movzx eax, word [r9 + 0x10]
mov word [rbp + 0x294], ax
sbb al, al
mov byte [rbp + 0x296], al
movsxd rax, dword [r9 + 0xc]
imul rcx, rax, 0x38
add rcx, r12
mov qword [rbp + 0x280], rcx
mov rcx, rbx
call fcn.1800c9af0
mov ecx, dword [rbx + 0x40]
lea eax, [rcx - 1]
cmp eax, 0x7ffffffe
ja 0x180169934
mov word [rbp + 0x104], r15w
mov qword [rbp + 0x108], r13
mov dword [rbp + 0x110], r15d
mov rax, qword [rbx + 0x88]
movzx edx, word [rbx + 0x44]
mov r8d, dword [rax + 0x58]
sub r8d, dword [rbx + 0x38]
cmp edx, r8d
jle 0x180166ae9
test r8d, r8d
mov edx, r8d
cmovs edx, r15d
mov rax, qword [rbx + 0x38]
mov qword [rbp + 0xf8], rax
cmp ecx, edx
ja 0x180166b16
mov r12, qword [rsp + 0x70]
mov edx, 0x4010
mov word [rbp + 0x104], dx
mov dword [rbp + 0x100], ecx
mov dword [rsp + 0x44], r15d
jmp 0x180166b46
mov r8d, ecx
lea r9, [rbp + 0xf0]
mov rcx, rbx
xor edx, edx
call fcn.18016e730
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x1801635ae
mov ecx, dword [rbp + 0x100]
mov rax, qword [rbp + 0xf8]
xor r9d, r9d
lea r8, [rbp + 0x278]
mov rdx, rax
call fcn.1801702f0
cmp dword [rbp + 0x110], 0
mov ebx, eax
je 0x180166b6f
lea rcx, [rbp + 0xf0]
call fcn.18018a7b0
mov rsi, qword [rsp + 0x48]
test byte [rsi], 1
jne 0x180166b7d
neg ebx
jmp 0x180166b7f
inc ebx
mov r9d, dword [rsp + 0x44]
test ebx, ebx
jg 0x1801655da
movzx r10d, byte [rsp + 0x40]
mov r11d, 1
jmp 0x18016873a
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, qword [r14 + 0x68]
test word [rbx + 0x14], ax
je 0x180166bcf
mov rcx, rbx
call fcn.1800e16f0
mov rcx, qword [rsp + 0x48]
mov rbx, rax
mov r11d, 1
mov word [rbx + 0x14], r11w
mov eax, dword [r13 + 0xe8]
inc eax
cmp dword [r13 + 0xdc], eax
jg 0x18016994a
movsxd rsi, dword [rcx + 0xc]
lea r8, [rbp - 0x80]
mov rax, qword [r13 + 0x20]
mov rdi, rsi
mov edx, dword [rcx + 4]
shl rdi, 5
mov dword [rbp - 0x80], r15d
mov rcx, qword [rax + rdi + 8]
call fcn.18005e020
movsxd rdx, dword [rbp - 0x80]
mov r9d, eax
mov word [rbx + 0x14], 4
mov qword [rbx], rdx
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1801635ae
test edx, edx
je 0x1801671c2
mov rax, qword [rsp + 0x48]
mov r9, qword [r13 + 0x20]
mov r8d, dword [rax + 4]
mov rax, qword [rdi + r9 + 0x18]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x180166c65
nop dword [rax]
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x28], edx
jne 0x180166c5d
mov dword [rax + 0x28], r8d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x180166c50
mov rax, qword [rdi + r9 + 0x18]
mov rcx, qword [rax + 0x28]
test rcx, rcx
je 0x180166c88
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x58], edx
jne 0x180166c80
mov dword [rax + 0x58], r8d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x180166c73
mov r9d, dword [rsp + 0x44]
lea edx, [rsi + 1]
mov rsi, qword [rsp + 0x48]
mov byte [rbp - 0x74], dl
jmp 0x180168729
mov r9, qword [rsp + 0x48]
lea r8, [rbp - 0x30]
mov qword [rbp - 0x30], r15
mov rcx, qword [r13 + 0x20]
movsxd rax, dword [r9 + 8]
mov edx, dword [r9 + 4]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.180102c80
mov rsi, qword [rsp + 0x48]
mov r9d, eax
mov dword [rsp + 0x44], eax
cmp dword [rsi + 0xc], 0
je 0x180166cf5
mov rax, qword [rbp - 0x30]
add qword [r14 + 0x38], rax
mov rax, rsi
movsxd rax, dword [rax + 0xc]
test eax, eax
jle 0x180166cf5
imul rcx, rax, 0x38
mov rax, qword [rbp - 0x30]
add qword [rcx + r12], rax
test r9d, r9d
jne 0x1801635ae
movzx r10d, byte [rsp + 0x40]
lea r11d, [r9 + 1]
jmp 0x18016873a
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 1
jne 0x180166d34
mov rdx, qword [rcx + 0x30]
mov rcx, r13
call fcn.180171a50
jmp 0x180161a9a
mov rcx, qword [rcx + 0x30]
xor r8d, r8d
mov edx, dword [rcx + 0x50]
mov rcx, qword [rcx + 8]
call fcn.180102c80
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x1801635ae
jmp 0x180161a9f
mov r9, qword [rsp + 0x48]
movsxd rax, dword [r9 + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, qword [r14 + 0x68]
test word [rbx + 0x14], ax
je 0x180166d89
mov rcx, rbx
call fcn.1800e16f0
mov r9, qword [rsp + 0x48]
mov rbx, rax
jmp 0x180166d8f
mov word [rbx + 0x14], 4
movsxd rcx, dword [r9 + 4]
lea rdx, [rbp - 0x80]
mov rax, qword [r13 + 0x20]
mov r8d, dword [r9 + 0xc]
shl rcx, 5
mov dword [rbp - 0x80], r15d
mov rcx, qword [rcx + rax + 8]
call fcn.18005da50
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x1801635ae
mov eax, dword [rbp - 0x80]
mov qword [rbx], rax
jmp 0x180161a9f
inc byte [r13 + 0x70]
mov rax, qword [rsp + 0x48]
mov rbx, qword [r13 + 0x1f0]
movzx edi, byte [r13 + 0x6e]
mov qword [rbp - 0x70], r15
cmp dword [rax + 4], 0
je 0x180166df6
mov qword [r13 + 0x1f0], r15
mov byte [r13 + 0x6e], 0
mov rdx, qword [rax + 0x10]
lea rcx, [rbp - 0x70]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
mov rcx, r13
xor r8d, r8d
call fcn.1800042a0
dec byte [r13 + 0x70]
mov r9d, eax
mov qword [r13 + 0x1f0], rbx
mov rbx, qword [rbp - 0x70]
mov dword [rsp + 0x44], eax
mov byte [r13 + 0x6e], dil
test rbx, rbx
jne 0x180166e38
test eax, eax
je 0x180161dfb
mov r8, rbx
lea rdx, [0x180242e14]
mov rcx, r14
call fcn.180161750
test rbx, rbx
je 0x18016996b
cmp dword [0x18028cb60], 0
je 0x180169962
mov rcx, qword [0x180294f30]
test rcx, rcx
je 0x180166e72
call qword [0x18028cbe0]
mov rcx, rbx
call qword [0x18028cb98]
dec qword [0x180294eb8]
mov rcx, rbx
movsxd rdx, eax
sub qword [0x180294e70], rdx
call qword [0x18028cb88]
mov rcx, qword [0x180294f30]
test rcx, rcx
je 0x18016996b
call qword [0x18028cbf0]
jmp 0x18016996b
mov r9, qword [rsp + 0x48]
cmp qword [r9 + 0x10], 0
movsxd rbx, dword [r9 + 4]
jne 0x180166f0e
mov rcx, qword [r13 + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.180151ba0
mov rax, qword [rsp + 0x48]
lea r8, [r14 + 0xa8]
and dword [r13 + 0x2c], 0xffffffef
mov edx, ebx
mov rcx, r13
movzx r9d, word [rax + 2]
call fcn.18013b960
or dword [r13 + 0x2c], 1
mov r9d, eax
and dword [r14 + 0xc8], 0xfffffffc
mov dword [rsp + 0x44], eax
jmp 0x18016700a
mov qword [rbp + 0x30], r13
lea rax, [r14 + 0xa8]
mov qword [rbp + 0x38], rax
mov rdx, rbx
mov dword [rbp + 0x40], ebx
mov dword [rbp + 0x48], r15d
mov rax, qword [r13 + 0x20]
shl rdx, 5
mov rcx, qword [rdx + rax + 8]
mov rax, qword [rcx + 8]
mov ecx, dword [rax + 0x40]
mov dword [rbp + 0x50], ecx
mov rcx, r13
mov rax, qword [r9 + 0x10]
lea r9, str.sqlite_master
mov r8, qword [r13 + 0x20]
mov qword [rsp + 0x20], rax
mov r8, qword [rdx + r8]
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
call fcn.180140890
mov rbx, rax
mov rcx, r13
test rax, rax
je 0x18016997f
mov byte [r13 + 0xc5], 1
lea r9, [rbp + 0x30]
lea r8, [fcn.18013b5b0]
mov dword [rbp + 0x44], r15d
mov rdx, rax
mov dword [rbp + 0x4c], r15d
mov qword [rsp + 0x20], r15
call fcn.1800042a0
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x180166fed
mov r12d, dword [rbp + 0x44]
mov dword [rsp + 0x44], r12d
test r12d, r12d
jne 0x180166fed
cmp dword [rbp + 0x4c], r12d
jne 0x180166fed
lea rax, [0x18024f174]
mov r9d, 0x184f2
lea r8, str.database_corruption
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
lea ecx, [r12 + 0xb]
call fcn.18000206d
mov r12d, 0xb
mov dword [rsp + 0x44], r12d
mov rdx, rbx
mov rcx, r13
call fcn.18010d580
mov r9d, dword [rsp + 0x44]
mov r12, qword [rsp + 0x70]
mov byte [r13 + 0xc5], 0
test r9d, r9d
je 0x180161a9f
mov rcx, r13
call fcn.18014f280
mov r9d, dword [rsp + 0x44]
cmp r9d, 7
je 0x180163ac4
mov dword [rsp + 0x44], r9d
jmp 0x1801635ae
mov rax, qword [rsp + 0x48]
mov rcx, r13
mov edx, dword [rax + 4]
call fcn.1800ff510
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x1801635ae
jmp 0x180161a9f
mov rax, qword [rsp + 0x48]
xor r8d, r8d
movsxd rcx, dword [rax + 4]
mov rdx, qword [rax + 0x10]
shl rcx, 5
add rcx, qword [r13 + 0x20]
mov rcx, qword [rcx + 0x18]
add rcx, 8
call fcn.18013a820
test rax, rax
je 0x1801670a1
cmp qword [r13 + 0x2e8], 0
jne 0x180167096
mov ecx, 0xffffffff
add dword [rax + 0x2c], ecx
jne 0x1801670a1
mov rdx, rax
mov rcx, r13
call fcn.18006b500
or dword [r13 + 0x2c], 1
jmp 0x180161a9a
mov r9, qword [rsp + 0x48]
xor r8d, r8d
mov rax, qword [r13 + 0x20]
movsxd rcx, dword [r9 + 4]
mov rdx, qword [r9 + 0x10]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
add rcx, 0x20
call fcn.18013a820
mov r8, rax
test rax, rax
je 0x1801670a1
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
cmp rcx, r8
jne 0x1801670f0
mov rcx, qword [r8 + 0x28]
mov qword [rax + 0x10], rcx
jmp 0x18016711b
test rcx, rcx
je 0x18016711b
nop word [rax + rax]
lea rdx, [rcx + 0x28]
mov rcx, qword [rcx + 0x28]
cmp rcx, r8
je 0x180167114
test rcx, rcx
jne 0x180167100
jmp 0x18016711b
mov rax, qword [r8 + 0x28]
mov qword [rdx], rax
mov rdx, r8
mov rcx, r13
call fcn.18011e000
or dword [r13 + 0x2c], 1
jmp 0x180161a9a
mov r9, qword [rsp + 0x48]
xor r8d, r8d
mov rax, qword [r13 + 0x20]
movsxd rcx, dword [r9 + 4]
mov rdx, qword [r9 + 0x10]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
add rcx, 0x38
call fcn.18013a820
mov rbx, rax
test rax, rax
je 0x180161a9a
mov rcx, qword [rax + 0x30]
cmp qword [rax + 0x28], rcx
jne 0x1801671ad
mov rdx, qword [rax + 8]
add rcx, 8
xor r8d, r8d
call fcn.180073a70
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x1801671ad
mov rax, qword [rdx + 0x58]
add rdx, 0x58
test rax, rax
je 0x1801671ad
cmp rax, rbx
je 0x1801671a6
lea rdx, [rax + 0x40]
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x180167192
jmp 0x1801671ad
mov rax, qword [rax + 0x40]
mov qword [rdx], rax
mov rdx, rbx
mov rcx, r13
call fcn.18010f160
or dword [r13 + 0x2c], 1
jmp 0x180161a9a
mov rdi, qword [rsp + 0x60]
jmp 0x180161a9f
mov r9, qword [rsp + 0x48]
lea r10, [rbp - 0x10]
mov rdx, qword [r13 + 0x20]
mov qword [rsp + 0x30], r10
lea r10, [rbp - 0x3c]
mov qword [rsp + 0x28], r10
movsxd rax, dword [r9 + 0xc]
mov r8, qword [r9 + 0x10]
imul rdi, rax, 0x38
movsxd rax, dword [r9 + 4]
add r8, 4
imul rbx, rax, 0x38
movzx eax, word [r9 + 2]
add rdi, r12
mov r9d, dword [r9 + 8]
add rbx, r12
shl rax, 5
mov ecx, dword [rdi]
inc ecx
mov rdx, qword [rax + rdx + 8]
mov dword [rsp + 0x20], ecx
mov rcx, r13
call fcn.180104ce0
mov r12d, eax
mov dword [rsp + 0x44], eax
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x180167243
mov rcx, rbx
call fcn.18018a810
jmp 0x180167249
mov word [rbx + 0x14], 1
mov eax, dword [rbp - 0x3c]
test eax, eax
je 0x180167283
test r12d, r12d
jne 0x180169989
mov rdx, qword [rbp - 0x10]
dec eax
movsxd rcx, eax
mov r9b, 1
sub qword [rdi], rcx
lea rax, [fcn.1800022bb]
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov r8, 0xffffffffffffffff
call fcn.18016f090
test byte [rbx + 0x14], 2
movzx r10d, byte [rsp + 0x40]
jne 0x18016729f
mov byte [rbx + 0x16], r10b
mov r9d, dword [rsp + 0x44]
mov rdi, qword [rsp + 0x60]
jmp 0x1801672c1
cmp byte [rbx + 0x16], r10b
je 0x180167293
movzx edx, r10b
mov rcx, rbx
call fcn.18016f590
mov rdi, qword [rsp + 0x60]
mov r9d, dword [rsp + 0x44]
movzx r10d, byte [rsp + 0x40]
mov eax, dword [r13 + 0x188]
test eax, eax
jne 0x180169cbf
mov rsi, qword [rsp + 0x48]
lea r11d, [rax + 1]
mov r12, qword [rsp + 0x70]
jmp 0x18016873a
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 8]
add rbx, r12
imul rdi, rax, 0x38
test byte [rbx + 0x14], 0x10
jne 0x180167311
mov rcx, rbx
call fcn.18016ef50
test eax, eax
jne 0x180163ac4
mov rdx, qword [rdi + r12]
mov rcx, qword [rbx + 8]
call fcn.18014fee0
mov r9d, dword [rsp + 0x44]
mov rsi, qword [rsp + 0x48]
jmp 0x180168729
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r12
test byte [rdi + 0x14], 0x10
je 0x1801673c2
mov rbx, qword [rdi + 8]
movzx eax, word [rbx + 0x32]
test al, 2
jne 0x18016736b
test al, 1
jne 0x180167366
mov rcx, qword [rbx + 0x10]
call fcn.1800f2240
mov qword [rbx + 0x10], rax
mov r11d, 1
or word [rbx + 0x32], 3
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x1801673c2
mov rdi, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbx + 0x10], rax
test rax, rax
jne 0x18016738c
mov rcx, rbx
call fcn.18014fdf0
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r12
test word [rcx + 0x14], ax
je 0x1801673b4
mov rdx, rdi
call fcn.18018bf20
jmp 0x1801672b1
mov qword [rcx], rdi
mov word [rcx + 0x14], 4
jmp 0x1801672b1
mov eax, 0x9000
test word [rdi + 0x14], ax
je 0x1801673da
mov rcx, rdi
call fcn.18018a810
jmp 0x180168cff
mov word [rdi + 0x14], r11w
jmp 0x180168cff
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rbx, r12
imul rdi, rax, 0x38
test byte [rbx + 0x14], 0x10
jne 0x180167415
mov rcx, rbx
call fcn.18016ef50
test eax, eax
jne 0x180163ac4
test esi, esi
je 0x180167432
mov r8, qword [rdi + r12]
mov edx, esi
mov rcx, qword [rbx + 8]
call fcn.18014ff60
test eax, eax
jne 0x180168ad4
test esi, esi
js 0x180161df6
mov rdx, qword [rdi + r12]
mov rcx, qword [rbx + 8]
call fcn.18014fee0
mov r9d, dword [rsp + 0x44]
mov rsi, qword [rsp + 0x48]
jmp 0x180168729
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 0xc]
mov r12, qword [rcx + 0x10]
imul r15, rax, 0x38
add r15, qword [rsp + 0x70]
cmp word [rcx + 2], 0
je 0x180167495
mov rax, qword [r14 + 0x108]
mov rcx, qword [r12 + 0x20]
test rax, rax
je 0x180167495
cmp qword [rax + 0x30], rcx
je 0x1801694c8
mov rax, qword [rax + 8]
test rax, rax
jne 0x180167482
mov eax, dword [r13 + 0xb0]
cmp dword [r14 + 0x118], eax
jge 0x18016999c
test byte [r15 + 0x14], 0x10
jne 0x1801675f4
mov edx, dword [r12 + 0x10]
mov ecx, dword [r12 + 0xc]
add ecx, edx
test edx, edx
lea edi, [rcx + 1]
cmovne edi, ecx
lea eax, [rdi + 2]
imul ecx, eax, 7
mov eax, dword [r12 + 8]
add ecx, edx
add eax, 7
jns 0x1801674dd
add eax, 7
sar eax, 3
lea r14d, [rax + rcx*8]
mov rcx, r13
movsxd rsi, r14d
mov rdx, rsi
call fcn.18010d770
mov rbx, rax
test rax, rax
je 0x180163abf
mov r8, rsi
xor edx, edx
mov rcx, rax
call fcn.180003b25
mov eax, 0x9000
test word [r15 + 0x14], ax
jne 0x18016751e
cmp dword [r15 + 0x20], 0
je 0x180167526
mov rcx, r15
call fcn.18018a7b0
mov rcx, qword [rsp + 0x48]
lea rax, [0x18016ce20]
sub rcx, qword [rsp + 0x60]
mov word [r15 + 0x14], 0x1010
mov qword [r15 + 8], rbx
mov dword [r15 + 0x10], r14d
mov r14, qword [rsp + 0x68]
mov qword [r15 + 0x30], rax
xor r15d, r15d
mov qword [rbx], r14
mov dword [rbx + 0x58], edi
mov eax, dword [r12 + 0x10]
mov dword [rbx + 0x5c], eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbx + 0x4c], edx
mov rax, qword [r14 + 0x68]
mov qword [rbx + 0x18], rax
mov eax, dword [r14 + 0x24]
mov dword [rbx + 0x54], eax
mov rax, qword [r14 + 0x78]
mov qword [rbx + 0x20], rax
mov eax, dword [r14 + 0x28]
mov dword [rbx + 0x48], eax
mov rax, qword [r14 + 0x88]
mov qword [rbx + 0x10], rax
mov eax, dword [r14 + 0x90]
mov dword [rbx + 0x50], eax
mov rax, qword [r12 + 0x20]
mov qword [rbx + 0x30], rax
movsxd rax, edi
add rax, 2
imul rcx, rax, 0x38
lea rax, [rbx + 0x70]
add rcx, rbx
cmp rax, rcx
je 0x1801675fb
nop dword [rax]
nop word [rax + rax]
mov word [rax + 0x14], r15w
mov qword [rax + 0x18], r13
add rax, 0x38
cmp rax, rcx
jne 0x1801675e0
jmp 0x1801675fb
mov rbx, qword [r15 + 8]
xor r15d, r15d
inc dword [r14 + 0x118]
lea rdx, [rbx + 0x70]
mov rax, qword [r14 + 0x108]
mov qword [rbx + 8], rax
mov rax, qword [r13 + 0x38]
mov qword [rbx + 0x38], rax
mov rax, qword [r14 + 0x38]
mov qword [rbx + 0x60], rax
mov rax, qword [r14]
mov qword [rsp + 0x70], rdx
mov rcx, qword [rax + 0x78]
mov qword [rbx + 0x68], rcx
mov rax, qword [r14 + 0x128]
mov qword [rbx + 0x40], rax
mov qword [r14 + 0x128], r15
mov qword [r14 + 0x38], r15
mov qword [r14 + 0x108], rbx
mov qword [r14 + 0x68], rdx
movsxd rcx, dword [rbx + 0x58]
mov dword [r14 + 0x24], ecx
movzx eax, word [rbx + 0x5c]
mov dword [r14 + 0x28], eax
imul rcx, rcx, 0x38
add rdx, rcx
mov qword [r14 + 0x78], rdx
movsxd rax, dword [r12 + 0x10]
lea rcx, [rdx + rax*8]
mov qword [rbx + 0x28], rcx
mov eax, dword [r12 + 8]
add eax, 7
cdq
and edx, 7
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call fcn.180003b25
mov rdi, qword [r12]
mov qword [r14 + 0x88], rdi
mov eax, dword [r12 + 8]
mov dword [r14 + 0x90], eax
lea rax, [rdi - 0x18]
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x48], rax
jmp 0x1801672b6
mov rax, qword [rsp + 0x48]
mov r13d, 0x9000
movsxd rax, dword [rax + 8]
imul r9, rax, 0x38
add r9, qword [r14 + 0x68]
test word [r9 + 0x14], r13w
je 0x1801676f6
mov rcx, r9
call fcn.1800e16f0
movzx r10d, byte [rsp + 0x40]
mov r9, rax
mov r11d, 1
jmp 0x1801676fd
mov word [r9 + 0x14], 4
mov r8, qword [r14 + 0x108]
movsxd rax, dword [r8 + 0x4c]
lea rcx, [rax + rax*2]
mov rax, qword [r8 + 0x10]
mov edx, dword [rax + rcx*8 + 4]
mov rax, qword [rsp + 0x48]
add edx, dword [rax + 4]
movsxd rax, edx
imul rcx, rax, 0x38
add rcx, qword [r8 + 0x18]
test word [r9 + 0x14], r13w
je 0x180167744
mov rdx, rcx
mov r8d, 0x4000
mov rcx, r9
call fcn.180189340
jmp 0x180161a9a
movups xmm0, xmmword [rcx]
mov rsi, qword [rsp + 0x48]
mov eax, 0x2000
mov r8d, dword [rsp + 0x50]
movups xmmword [r9], xmm0
movsd xmm1, qword [rcx + 0x10]
movsd qword [r9 + 0x10], xmm1
test word [rcx + 0x14], ax
jne 0x18016777f
mov eax, 0xcfff
and word [r9 + 0x14], ax
mov eax, 0x4000
or word [r9 + 0x14], ax
mov r9d, dword [rsp + 0x44]
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov eax, dword [r13 + 0x30]
bt rax, 0x13
mov rax, qword [rsp + 0x48]
jae 0x1801677b6
movsxd rax, dword [rax + 8]
add qword [r13 + 0x2e0], rax
jmp 0x180161b8f
cmp dword [rax + 4], 0
movsxd rax, dword [rax + 8]
mov rsi, qword [rsp + 0x48]
je 0x1801677de
add qword [r13 + 0x2d8], rax
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
add qword [r14 + 0x50], rax
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
cmp dword [rsi + 4], 0
je 0x180167828
cmp qword [r13 + 0x2d8], 0
jne case.0x1801618b5.89
cmp qword [r13 + 0x2e0], 0
je 0x1801634e9
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
cmp qword [r14 + 0x50], 0
jne case.0x1801618b5.89
cmp qword [r13 + 0x2e0], 0
je 0x1801634e9
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov rcx, qword [r14 + 0x108]
test rcx, rcx
je 0x18016788f
mov rax, qword [rcx + 8]
test rax, rax
je 0x18016787c
nop dword [rax + rax]
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x180167870
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x18]
jmp 0x18016789f
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r12
mov rcx, rdi
call fcn.18016ebc0
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rbx, r12
mov rcx, rbx
call fcn.18016ebc0
mov rax, qword [rbx]
mov r9d, dword [rsp + 0x44]
movzx r10d, byte [rsp + 0x40]
cmp qword [rdi], rax
jge 0x180169219
mov rsi, qword [rsp + 0x48]
mov r11d, 1
mov qword [rdi], rax
jmp 0x180168735
mov rax, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r12]
test rdx, rdx
jle case.0x1801618b5.89
mov rax, rsi
movsxd rax, dword [rax + 0xc]
sub rdx, rax
mov qword [rcx + r12], rdx
jmp 0x1801634e9
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul r8, rax, 0x38
mov eax, 0x9000
add r8, qword [r14 + 0x68]
test word [r8 + 0x14], ax
je 0x180167966
mov rcx, r8
call fcn.1800e16f0
mov r9d, dword [rsp + 0x44]
mov r8, rax
movzx r10d, byte [rsp + 0x40]
mov r11d, 1
jmp 0x18016796d
mov word [r8 + 0x14], 4
mov rcx, qword [rbx + r12]
test rcx, rcx
jle 0x1801679a8
mov rdx, qword [rdi + r12]
test rdx, rdx
cmovle rdx, r15
test rdx, rdx
js 0x180167998
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, rdx
jl 0x1801679a8
mov rsi, qword [rsp + 0x48]
add rcx, rdx
mov qword [r8], rcx
jmp 0x180168735
mov rsi, qword [rsp + 0x48]
mov rcx, 0xffffffffffffffff
mov qword [r8], rcx
jmp 0x180168735
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r12]
test rax, rax
je 0x180161b24
mov rsi, qword [rsp + 0x48]
jle 0x1801634e9
dec rax
mov qword [rcx + r12], rax
jmp 0x1801634e9
mov rax, qword [rsp + 0x48]
movabs rdx, 0x8000000000000000
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r12]
cmp rax, rdx
jle 0x180167a14
dec rax
mov qword [rcx + r12], rax
mov rsi, qword [rsp + 0x48]
test rax, rax
je 0x1801634e9
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov rax, qword [rsp + 0x48]
mov rcx, r13
movzx ebx, word [rax + 2]
mov edi, ebx
lea rdx, [rbx*8 + 0x68]
call fcn.18010d770
mov r8, rax
test rax, rax
je 0x180163ac4
mov r9, qword [rsp + 0x48]
add rdi, 6
mov qword [rax + 0x10], r15
lea rcx, [rax + rdi*8]
mov qword [rax], rcx
mov edi, 1
mov word [rcx + 0x14], di
mov qword [rcx + 0x18], r13
mov dword [rcx + 0x20], r15d
mov rcx, qword [r9 + 0x10]
mov qword [rax + 8], rcx
mov rcx, r9
sub rcx, qword [rsp + 0x60]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movzx eax, byte [rsp + 0x40]
mov dword [r8 + 0x20], edx
mov qword [r8 + 0x18], r14
mov byte [r8 + 0x29], 0
mov dword [r8 + 0x24], r15d
mov byte [r8 + 0x28], al
mov byte [r8 + 0x2a], bl
mov byte [r9 + 1], 0xf1
mov qword [r9 + 0x10], r8
mov byte [r9], 0xa3
jmp 0x180167ae2
mov r9, qword [rsp + 0x48]
mov edi, 1
movsxd rax, dword [r9 + 0xc]
mov rbx, qword [r9 + 0x10]
imul r10, rax, 0x38
add r10, r12
mov qword [rbp - 0x70], r10
cmp qword [rbx + 0x10], r10
je 0x180167b4a
mov qword [rbx + 0x10], r10
movzx eax, byte [rbx + 0x2a]
mov edx, eax
sub rdx, 1
lea r9d, [rax - 1]
js 0x180167b45
mov r10, qword [rsp + 0x48]
lea r8, [rdx + 6]
lea r8, [rbx + r8*8]
nop dword [rax]
mov eax, dword [r10 + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, r12
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x180167b20
mov r10, qword [rbp - 0x70]
mov r9, qword [rsp + 0x48]
inc dword [r10 + 0x10]
lea r8, [rbx + 0x30]
cmp dword [r9 + 4], 0
mov rcx, rbx
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x2a]
je 0x180167b69
call qword [rax + 0x30]
jmp 0x180167b6c
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x180169200
jle 0x180167bda
mov rcx, qword [rbx]
test rcx, rcx
jne 0x180167b86
mov rax, r15
jmp 0x180167bba
movzx edx, word [rcx + 0x14]
mov r8d, 0x202
movzx eax, dx
and ax, r8w
cmp ax, r8w
jne 0x180167ba9
cmp byte [rcx + 0x16], 1
jne 0x180167ba9
mov rax, qword [rcx + 8]
jmp 0x180167bba
test dl, 1
je 0x180167bb3
mov rax, r15
jmp 0x180167bba
mov dl, 1
call fcn.180188de0
mov r8, rax
lea rdx, [0x180242e14]
mov rcx, r14
call fcn.180161750
mov r12d, dword [rbx + 0x24]
mov dword [rsp + 0x44], r12d
mov r12, qword [rsp + 0x70]
cmp byte [rbx + 0x29], 0
je 0x180167c16
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax - 0x14]
test eax, eax
je 0x180167c12
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r12
test word [rcx + 0x14], ax
je 0x180167c09
mov rdx, rdi
call fcn.18018bf20
jmp 0x180167c12
mov qword [rcx], rdi
mov word [rcx + 0x14], 4
mov byte [rbx + 0x29], 0
mov rcx, qword [rbx]
mov eax, 0x9000
test word [rcx + 0x14], ax
jne 0x180167c2a
cmp dword [rcx + 0x20], 0
je 0x180167c2f
call fcn.18018a7b0
mov rax, qword [rbx]
mov r11d, 1
mov r9d, dword [rsp + 0x44]
mov word [rax + 0x14], r11w
mov dword [rbx + 0x24], r15d
test r9d, r9d
jne 0x180169ceb
mov rsi, qword [rsp + 0x48]
jmp 0x18016872f
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
mov rsi, qword [rcx + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rbx, r12
test eax, eax
je 0x180167d0b
imul rdi, rax, 0x38
xorps xmm0, xmm0
movups xmmword [rbp + 0x158], xmm0
movups xmmword [rbp + 0x168], xmm0
xor eax, eax
mov qword [rbp + 0x188], rax
add rdi, r12
mov eax, 0x9000
movups xmmword [rbp + 0x178], xmm0
test word [rdi + 0x14], ax
je 0x180167cb6
mov rcx, rdi
call fcn.18018a810
jmp 0x180167cbb
mov word [rdi + 0x14], r11w
mov qword [rbp + 0x158], rdi
mov qword [rbp + 0x168], rbx
mov qword [rbp + 0x160], rsi
mov rax, qword [rbx + 0x18]
movzx ecx, byte [rax + 0x64]
mov byte [rbp + 0x180], cl
lea rcx, [rbp + 0x158]
call qword [rsi + 0x28]
mov rax, qword [rsp + 0x48]
mov r9d, dword [rbp + 0x17c]
mov rdi, qword [rsp + 0x60]
mov dword [rsp + 0x44], r9d
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r12
jmp 0x180167d1d
mov rdx, rsi
mov rcx, rbx
call fcn.18016e650
mov r9d, eax
mov dword [rsp + 0x44], eax
test r9d, r9d
jne 0x1801699ba
test byte [rbx + 0x14], 2
movzx r10d, byte [rsp + 0x40]
jne 0x180167d44
mov rsi, qword [rsp + 0x48]
lea r11d, [r9 + 1]
mov byte [rbx + 0x16], r10b
jmp 0x18016873a
cmp byte [rbx + 0x16], r10b
je 0x180169219
movzx edx, r10b
mov rcx, rbx
call fcn.18016f590
jmp 0x180161a9a
mov rbx, qword [rsp + 0x48]
lea rax, [rbp + 0x328]
lea r9, [rbp + 0x324]
mov dword [rbp + 0x320], r15d
mov rcx, r13
mov dword [rbp + 0x328], 0xffffffff
mov dword [rbp + 0x324], 0xffffffff
mov r8d, dword [rbx + 8]
mov edx, dword [rbx + 4]
mov qword [rsp + 0x20], rax
call fcn.1801070c0
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
je 0x180167dc4
cmp eax, 5
jne 0x1801635ae
mov r12, qword [rsp + 0x70]
lea ecx, [rax - 4]
mov dword [rsp + 0x44], r15d
jmp 0x180167dca
mov ecx, dword [rbp + 0x320]
movsxd rax, dword [rbx + 0xc]
mov r13d, 0x9000
imul rbx, rax, 0x38
movsxd rax, ecx
add rbx, r12
test word [rbx + 0x14], r13w
je 0x180167df7
mov rdx, rax
mov rcx, rbx
call fcn.18018bf20
mov edx, 4
jmp 0x180167e03
mov edx, 4
mov qword [rbx], rax
mov word [rbx + 0x14], dx
lea rcx, [rbx + 0x38]
movsxd rax, dword [rbp + 0x324]
test word [rbx + 0x4c], r13w
je 0x180167e24
mov rdx, rax
call fcn.18018bf20
mov edx, 4
jmp 0x180167e2b
mov qword [rcx], rax
mov word [rbx + 0x4c], dx
lea rcx, [rbx + 0x70]
movsxd rax, dword [rbp + 0x328]
test word [rbx + 0x84], r13w
je 0x180167e4d
mov rdx, rax
call fcn.18018bf20
jmp 0x180161a9a
mov qword [rcx], rax
mov word [rbx + 0x84], dx
jmp 0x180161a9a
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 8]
imul r15, rax, 0x38
mov eax, 0x9000
add r15, qword [r14 + 0x68]
test word [r15 + 0x14], ax
je 0x180167e91
mov rcx, r15
call fcn.1800e16f0
mov r9d, dword [rsp + 0x44]
mov r15, rax
mov r11d, 1
jmp 0x180167e98
mov word [r15 + 0x14], 4
mov edx, dword [rbx + 0xc]
movsxd rcx, dword [rbx + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
cmp edx, 0xffffffff
mov r13, qword [rcx + rax + 8]
mov rax, qword [r13 + 8]
mov rbx, qword [rax]
movzx r14d, byte [rbx + 9]
mov esi, r14d
cmovne esi, edx
cmp byte [rbx + 0x15], 3
jae 0x180167ed8
mov rax, qword [rbx + 0x50]
cmp qword [rax], 0
je 0x180167edb
cmp qword [rbx + 0x60], 0
jle 0x180167edb
mov esi, r14d
cmp byte [rbx + 0x13], 0
jne 0x180167ef6
lea rax, [0x18028d770]
cmp qword [rbx], rax
je 0x180167ef6
mov rcx, qword [rbx + 0xd8]
jmp 0x180167efd
lea rcx, [0x18023ac8c]
cmp esi, 5
jne 0x180167f47
test rcx, rcx
je 0x180167f3f
mov rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x180167f10
test eax, 0x3fffffff
je 0x180167f3f
cmp byte [rbx + 0x11], 0
mov rax, qword [rbx + 0x48]
mov rcx, qword [rax]
jne 0x180167f3f
cmp byte [rbx + 8], 0
jne 0x180167f47
cmp dword [rcx], 2
jl 0x180167f3f
cmp qword [rcx + 0x68], 0
jne 0x180167f47
mov esi, r14d
jmp 0x1801680be
cmp esi, r14d
je 0x1801680be
cmp r14d, 5
je 0x180167f5f
cmp esi, 5
jne 0x1801680be
mov r12, qword [rsp + 0x58]
cmp byte [r12 + 0x65], 0
je 0x180169a0d
cmp dword [r12 + 0xdc], 1
jg 0x180169a0d
cmp r14d, 5
jne 0x180168089
xor ecx, ecx
mov edi, ecx
cmp qword [rbx + 0x128], rcx
jne 0x180168004
mov dword [rbp - 0x50], ecx
movzx eax, byte [rbx + 0x16]
cmp al, 1
jb 0x180167fa6
cmp al, r14b
jne 0x180167fc8
cmp byte [rbx + 0x11], cl
jne 0x180167fbe
mov rcx, qword [rbx + 0x48]
mov edx, r11d
mov rax, qword [rcx]
call qword [rax + 0x38]
mov edi, eax
test eax, eax
jne 0x180167fc8
cmp byte [rbx + 0x16], 5
je 0x180167fc8
mov byte [rbx + 0x16], 1
test edi, edi
jne 0x180168075
mov rax, qword [rbx]
lea r9, [rbp - 0x50]
mov rdx, qword [rbx + 0x130]
xor r8d, r8d
mov rcx, rax
call qword [rax + 0x38]
mov edi, eax
test eax, eax
jne 0x180168075
cmp dword [rbp - 0x50], eax
je 0x180168004
mov rcx, rbx
call fcn.1800e22a0
mov edi, eax
test eax, eax
jne 0x180168075
cmp qword [rbx + 0x128], 0
je 0x180168075
mov rcx, rbx
call fcn.1800e1ed0
mov edi, eax
test eax, eax
jne 0x180168075
mov rax, qword [rbx + 0x118]
mov rdx, r12
movzx r8d, byte [rbx + 0xf]
mov r9d, dword [rbx + 0xc8]
mov rcx, qword [rbx + 0x128]
mov qword [rsp + 0x20], rax
call fcn.180173c60
mov rcx, rbx
mov dword [rsp + 0x44], eax
mov edi, eax
mov qword [rbx + 0x128], 0
call fcn.1800e1f90
test edi, edi
je 0x180168075
cmp byte [rbx + 8], 0
jne 0x180168075
mov edx, 1
mov rcx, rbx
call fcn.1800e2b90
jmp 0x1801680c3
mov dword [rsp + 0x44], edi
test edi, edi
jne 0x1801680c3
mov edx, esi
mov rcx, rbx
call fcn.180143ef0
jmp 0x1801680a5
cmp r14d, 4
jne 0x1801680a0
lea edx, [r14 - 2]
mov rcx, rbx
call fcn.180143ef0
mov r9d, dword [rsp + 0x44]
test r9d, r9d
jne 0x1801680c3
xor edx, edx
mov rcx, r13
cmp esi, 5
sete dl
inc edx
call fcn.180105ff0
mov r9d, eax
mov dword [rsp + 0x44], eax
test r9d, r9d
je 0x1801680c6
mov esi, r14d
mov edx, esi
mov rcx, rbx
call fcn.180143ef0
mov word [r15 + 0x14], 0x2202
cmp eax, 6
jne 0x1801680e8
mov qword [r15 + 8], 0
xor eax, eax
jmp 0x18016811e
cdqe
lea rcx, [0x180000000]
mov rcx, qword [rcx + rax*8 + 0x23ce18]
mov qword [r15 + 8], rcx
test rcx, rcx
jne 0x180168106
xor eax, eax
jmp 0x18016811e
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x180168110
and eax, 0x3fffffff
movzx r10d, byte [rsp + 0x40]
mov dword [r15 + 0x10], eax
mov byte [r15 + 0x16], 1
cmp r10b, 1
je 0x180168145
movzx edx, r10b
mov rcx, r15
call fcn.18016f590
movzx r10d, byte [rsp + 0x40]
mov r9d, dword [rsp + 0x44]
mov r14, qword [rsp + 0x68]
test r9d, r9d
jne 0x1801635ae
mov rsi, qword [rsp + 0x48]
lea r11d, [r9 + 1]
mov r12, qword [rsp + 0x70]
xor r15d, r15d
jmp 0x180168735
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
test eax, eax
je 0x180168184
imul r9, rax, 0x38
add r9, r12
jmp 0x180168187
mov r9, r15
mov rax, qword [rsp + 0x48]
lea rcx, [r14 + 0xa8]
mov rdx, r13
mov r8d, dword [rax + 4]
call fcn.180150fc0
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x1801635ae
jmp 0x180161a9f
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
mov rdi, qword [rcx + 8]
cmp byte [rdi + 0x21], 0
je 0x1801682ad
mov rax, qword [rdi + 0x18]
mov esi, dword [rdi + 0x40]
mov edx, esi
mov rcx, qword [rax + 0x50]
mov ebx, dword [rcx + 0x24]
mov rcx, rdi
bswap ebx
mov r8d, ebx
call fcn.180072ed0
mov r14d, eax
cmp esi, eax
jb 0x180169a4d
cmp ebx, esi
jae 0x180169a4d
test ebx, ebx
je 0x1801682a7
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x18016822d
xor r8d, r8d
xor edx, edx
call fcn.1800f7980
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x18016828d
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x18016824d
nop word [rax + rax]
and byte [rax + 1], 0xfb
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x180168240
xor r9d, r9d
mov r8d, esi
mov edx, r14d
mov rcx, rdi
call fcn.1800ccbb0
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x18016828d
mov rcx, qword [rdi + 0x18]
mov rcx, qword [rcx + 0x70]
call fcn.1801447e0
mov edx, dword [rdi + 0x40]
mov r9d, eax
mov dword [rsp + 0x44], eax
mov rax, qword [rdi + 0x18]
bswap edx
mov rcx, qword [rax + 0x50]
mov dword [rcx + 0x1c], edx
mov eax, r9d
test r9d, r9d
je 0x180169207
mov dword [rsp + 0x44], r9d
cmp eax, 0x65
jne 0x180169642
mov r11d, 1
mov rdi, qword [rsp + 0x60]
mov r9d, r15d
mov dword [rsp + 0x44], r15d
jmp 0x1801634e4
cmp dword [rsi + 4], 0
jne 0x180168305
mov rdx, qword [r13 + 8]
mov r8d, dword [rsi + 8]
test rdx, rdx
je 0x18016873a
nop word [rax + rax]
mov eax, dword [rdx + 0xc8]
lea ecx, [r8 + 1]
xor ecx, eax
and ecx, 3
xor ecx, eax
mov dword [rdx + 0xc8], ecx
mov rdx, qword [rdx + 0x10]
test rdx, rdx
jne 0x1801682e0
jmp 0x18016873a
mov eax, dword [r14 + 0xc8]
mov ecx, dword [rsi + 8]
inc ecx
xor ecx, eax
and ecx, 3
xor ecx, eax
mov dword [r14 + 0xc8], ecx
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
or byte [rax + 1], 0x40
jmp 0x180161b8f
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
and byte [rax + 1], 0xbf
jmp 0x180161b8f
movsxd rdx, dword [r13 + 0x200]
mov rbx, qword [rsi + 0x10]
mov dword [rsp + 0x44], r15d
test edx, edx
jle 0x1801683ab
cmp qword [r13 + 0x228], 0
jne 0x1801683ab
mov dword [rbp - 0x80], 6
mov r9d, 6
mov dword [rsp + 0x44], r9d
test rbx, rbx
je 0x1801635ae
jmp 0x180168474
test rbx, rbx
jne 0x1801683cf
mov r12, qword [rsp + 0x70]
mov r9d, r15d
mov dword [rsp + 0x44], r15d
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov rax, qword [rbx + 0x10]
mov rdi, qword [rax]
cmp qword [rdi + 0x70], 0
je 0x18016846f
mov rcx, r15
test edx, edx
jle 0x180168405
mov rax, qword [r13 + 0x228]
nop
cmp qword [rax], rbx
je 0x1801684a2
inc rcx
add rax, 8
cmp rcx, rdx
jl 0x1801683f0
mov rcx, r13
call fcn.1800cbf30
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x18016846f
mov rcx, qword [rbx + 0x10]
call qword [rdi + 0x70]
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x18016846f
mov edx, dword [r13 + 0x2d4]
add edx, dword [r13 + 0x2d0]
movsxd rcx, dword [r13 + 0x200]
mov rax, qword [r13 + 0x228]
mov qword [rax + rcx*8], rbx
inc dword [r13 + 0x200]
inc dword [rbx + 0x18]
test edx, edx
je 0x18016846f
cmp qword [rdi + 0xa0], 0
je 0x18016846f
mov dword [rbx + 0x20], edx
dec edx
mov rcx, qword [rbx + 0x10]
call qword [rdi + 0xa0]
mov dword [rsp + 0x44], eax
mov rdi, qword [rsp + 0x60]
mov rdx, qword [rbx + 0x10]
mov rcx, r14
call fcn.180172ff0
mov r9d, dword [rsp + 0x44]
test r9d, r9d
jne 0x1801635ae
mov r12, qword [rsp + 0x70]
lea r11d, [r9 + 1]
movzx r10d, byte [rsp + 0x40]
jmp 0x18016873a
mov dword [rsp + 0x44], r15d
jmp 0x18016846f
mov rax, qword [rsp + 0x48]
lea rcx, [rbp + 0x58]
xorps xmm0, xmm0
mov qword [rbp + 0x58], r15
xorps xmm1, xmm1
mov qword [rbp + 0x88], r15
movdqu xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x70], r13
movdqu xmmword [rbp + 0x78], xmm1
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, r12
call fcn.18016e500
movzx ecx, word [rbp + 0x6c]
mov edx, 0x202
mov dword [rsp + 0x44], eax
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x180168505
cmp byte [rbp + 0x6e], 1
jne 0x180168505
mov rax, qword [rbp + 0x60]
jmp 0x18016851d
test cl, 1
jne 0x180168635
mov dl, 1
lea rcx, [rbp + 0x58]
call fcn.180188de0
movzx ecx, word [rbp + 0x6c]
test rax, rax
je 0x180168635
mov r8, qword [r13 + 0x20]
lea rbx, [r14 + 0xa8]
mov rcx, qword [rsp + 0x48]
mov rdx, rax
movsxd rcx, dword [rcx + 4]
shl rcx, 5
mov r8, qword [rcx + r8]
mov rcx, r13
call fcn.18011a8f0
xor r8d, r8d
mov rsi, rax
mov rcx, qword [rax + 0x48]
mov rdi, qword [rcx]
lea rcx, [r13 + 0x208]
mov rdx, rdi
call fcn.180073a70
mov r8, qword [rax + 0x10]
test r8, r8
je 0x18016860c
mov rcx, qword [r8]
mov r9, qword [rcx + 8]
test r9, r9
je 0x18016860c
cmp qword [rcx + 0x28], 0
je 0x18016860c
mov rdx, rsi
mov qword [rsp + 0x20], rbx
mov rcx, r13
call fcn.18018e8d0
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x18016862c
mov rax, qword [rsi + 0x50]
test rax, rax
je 0x18016862c
cmp qword [rax], r13
je 0x1801685c2
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x1801685b2
jmp 0x18016862c
mov rcx, r13
call fcn.1800cbf30
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x18016862c
mov rdx, qword [rsi + 0x50]
test rdx, rdx
je 0x1801685ee
nop dword [rax + rax]
cmp qword [rdx], r13
je 0x1801685ee
mov rdx, qword [rdx + 0x28]
test rdx, rdx
jne 0x1801685e0
movsxd rcx, dword [r13 + 0x200]
mov rax, qword [r13 + 0x228]
mov qword [rax + rcx*8], rdx
inc dword [r13 + 0x200]
inc dword [rdx + 0x18]
jmp 0x18016862c
mov r8, rdi
lea rdx, str.no_such_module:__s
mov rcx, r13
call fcn.180140890
mov r12d, 1
mov qword [rbx], rax
mov dword [rsp + 0x44], r12d
movzx ecx, word [rbp + 0x6c]
mov rdi, qword [rsp + 0x60]
mov eax, 0x9000
test ax, cx
jne 0x180168645
cmp dword [rbp + 0x78], 0
je 0x18016864e
lea rcx, [rbp + 0x58]
call fcn.18018a7b0
mov r9d, dword [rsp + 0x44]
test r9d, r9d
jne 0x1801635ae
mov r12, qword [rsp + 0x70]
jmp 0x180161a9f
mov rax, qword [rsp + 0x48]
mov rcx, r13
inc dword [r13 + 0xe8]
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.180172310
dec dword [r13 + 0xe8]
mov r9d, eax
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1801635ae
jmp 0x180161a9f
mov rax, qword [rsp + 0x48]
mov qword [rbp - 0x48], r15
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x180169a8d
mov rdi, qword [rbx]
test rdi, rdi
je 0x180169a8d
lea rdx, [rbp - 0x48]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r14
mov dword [rsp + 0x44], eax
call fcn.180172ff0
mov r9d, dword [rsp + 0x44]
test r9d, r9d
jne 0x1801635ae
mov rax, qword [rbp - 0x48]
mov r9b, 2
xor r8d, r8d
mov rcx, r14
mov qword [rax], rbx
mov rax, qword [rsp + 0x48]
mov edx, dword [rax + 4]
call fcn.180056340
mov rcx, qword [rbp - 0x48]
test rax, rax
je 0x180169a85
mov qword [rax + 0x30], rcx
inc dword [rbx + 8]
mov r9d, dword [rsp + 0x44]
mov rsi, qword [rsp + 0x48]
mov r12, qword [rsp + 0x70]
mov r11d, 1
movzx r10d, byte [rsp + 0x40]
mov rdi, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x50]
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov rax, qword [rsp + 0x48]
mov qword [rbp - 0x28], r15
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, r12
test word [rbx + 0x14], ax
je 0x180168790
mov rcx, rbx
call fcn.18018a810
mov r9d, dword [rsp + 0x44]
mov r11d, 1
movzx r10d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x180168795
mov word [rbx + 0x14], r11w
mov rax, qword [rsp + 0x48]
mov rdi, qword [rax + 0x10]
mov rax, qword [rdi + 0x50]
test rax, rax
je 0x180161f82
mov rcx, qword [rax + 0x10]
lea r8, [rbp - 0x28]
mov r9, qword [rsp + 0x48]
mov qword [rsp + 0x20], r8
mov r10, qword [rcx]
inc dword [rax + 0x18]
movsxd rax, dword [r9 + 4]
mov rdx, qword [r13 + 0x20]
mov r9d, dword [r9 + 0xc]
mov r8, qword [rdi]
shl rax, 5
mov rdx, qword [rax + rdx]
call qword [r10 + 0xc0]
mov rcx, qword [rdi + 0x50]
mov dword [rsp + 0x44], eax
call fcn.1801735a0
mov r9d, dword [rsp + 0x44]
test r9d, r9d
jne 0x180169a9d
mov rdx, qword [rbp - 0x28]
test rdx, rdx
je 0x18016920e
lea rax, [fcn.1800022bb]
mov r9b, 1
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.18016f090
jmp 0x18016871a
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rbx, qword [rax + rcx*8]
call fcn.180003c56
test eax, eax
jne 0x180163ac4
lea ecx, [rax + 0x10]
call fcn.1801408c0
mov rdi, rax
test rax, rax
je 0x180163ac4
mov rcx, qword [rbx + 0x30]
mov qword [rax], rcx
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 0xc]
imul rdx, rcx, 0x38
add rdx, r12
mov qword [rdi + 8], rdx
movsxd rcx, dword [rax + 8]
mov eax, 0x9000
imul rbx, rcx, 0x38
add rbx, qword [r14 + 0x68]
test word [rbx + 0x14], ax
je 0x18016889b
mov rcx, rbx
call fcn.1800e16f0
mov rbx, rax
mov rcx, rbx
mov word [rbx + 0x14], 1
call fcn.18018a7b0
mov r9d, dword [rsp + 0x44]
lea rax, str.ValueList
mov rsi, qword [rsp + 0x48]
mov qword [rbx], rax
lea rax, [0x180172200]
mov qword [rbx + 8], rdi
mov word [rbx + 0x14], 0x1a01
mov byte [rbx + 0x17], 0x70
mov qword [rbx + 0x30], rax
jmp 0x180168729
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 0xc]
movsxd rcx, dword [rcx + 4]
imul rdx, rax, 0x38
mov rax, qword [r14 + 0x78]
mov r13, qword [rax + rcx*8]
lea rbx, [rdx + 0x38]
mov rax, qword [rsp + 0x68]
add rbx, r12
mov r12d, dword [rdx + r12]
mov rsi, qword [r13 + 0x30]
mov r11, qword [rax + 0x70]
movq xmm4, rbx
movsxd rdi, dword [rbx]
xor eax, eax
punpcklqdq xmm4, xmm4
mov r9d, eax
mov r15, qword [rsi]
mov edx, eax
mov r14, qword [r15]
test edi, edi
jle 0x180168a4b
cmp edi, 8
jb 0x180168a4b
cmp dword [0x1802937e0], 6
jl 0x180168a4b
movdqa xmm7, xmmword [0x18024f730]
mov eax, edi
and eax, 0x80000007
jge 0x18016895b
dec eax
or eax, 0xfffffff8
inc eax
movdqa xmm5, xmmword [0x18024f6b0]
lea rcx, [r11 + 0x20]
movdqa xmm6, xmmword [0x18024f6f0]
mov r10d, edi
sub r10d, eax
mov r8d, 4
nop dword [rax + rax]
movq xmm3, xmm7
movd xmm1, r9d
pshufd xmm1, xmm1, 0
lea eax, [r8 - 2]
paddd xmm1, xmm3
movd xmm2, eax
pshufd xmm2, xmm2, 0
lea eax, [r8 + 2]
paddd xmm2, xmm3
lea rcx, [rcx + 0x40]
movq xmm0, xmm6
add r9d, 8
paddd xmm1, xmm0
add rdx, 8
pmovsxdq xmm0, xmm1
vpmullq xmm1, xmm0, xmm5
paddq xmm1, xmm4
movq xmm0, xmm6
paddd xmm2, xmm0
pmovsxdq xmm0, xmm2
movdqu xmmword [rcx - 0x60], xmm1
vpmullq xmm1, xmm0, xmm5
paddq xmm1, xmm4
movd xmm2, r8d
movdqu xmmword [rcx - 0x50], xmm1
add r8d, 8
pshufd xmm2, xmm2, 0
movq xmm0, xmm6
paddd xmm2, xmm3
paddd xmm2, xmm0
pmovsxdq xmm0, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm3
vpmullq xmm1, xmm0, xmm5
paddq xmm1, xmm4
movq xmm0, xmm6
paddd xmm2, xmm0
movdqu xmmword [rcx - 0x40], xmm1
pmovsxdq xmm0, xmm2
vpmullq xmm1, xmm0, xmm5
paddq xmm1, xmm4
movdqu xmmword [rcx - 0x30], xmm1
cmp r9d, r10d
jl 0x180168980
cmp rdx, rdi
jge 0x180168a79
lea r8d, [r9 + 1]
nop dword [rax]
nop dword [rax + rax]
movsxd rax, r8d
inc r8d
imul rcx, rax, 0x38
add rcx, rbx
mov qword [r11 + rdx*8], rcx
inc rdx
cmp rdx, rdi
jl 0x180168a60
mov rax, qword [rsp + 0x48]
mov r9d, edi
mov edx, r12d
mov qword [rsp + 0x20], r11
mov rcx, rsi
mov r8, qword [rax + 0x10]
call qword [r14 + 0x40]
mov rcx, qword [rsp + 0x68]
mov rdx, r15
mov dword [rsp + 0x44], eax
call fcn.180172ff0
mov r9d, dword [rsp + 0x44]
test r9d, r9d
jne 0x180169642
mov rcx, rsi
call qword [r14 + 0x50]
mov byte [r13 + 2], 0
test eax, eax
je 0x1801694b6
mov r9d, dword [rsp + 0x44]
xor r15d, r15d
jmp 0x1801655d5
mov r9d, dword [rsp + 0x44]
jmp 0x1801655d5
mov rbx, qword [rsp + 0x48]
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
imul rbx, rax, 0x38
add rbx, r12
cmp byte [rdi + 2], 0
je 0x180168b43
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x180168b22
mov rcx, rbx
call fcn.18018a810
mov r9d, dword [rsp + 0x44]
mov rsi, qword [rsp + 0x48]
jmp 0x180168729
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x60]
mov word [rbx + 0x14], r11w
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov rax, qword [rdi + 0x30]
xorps xmm0, xmm0
mov r9, qword [rsp + 0x48]
mov rsi, qword [rax]
xor eax, eax
mov r14, qword [rsi]
movups xmmword [rbp + 0x190], xmm0
mov qword [rbp + 0x1c0], rax
lea rax, [rbp + 0x2d0]
movups xmmword [rbp + 0x1b0], xmm0
mov qword [rbp + 0x198], rax
movups xmmword [rbp + 0x1a0], xmm0
mov qword [rbp + 0x190], rbx
mov byte [rbp + 0x1b8], r10b
mov qword [rbp + 0x2d8], r15
mov dword [rbp + 0x2d4], 0x1000000
test byte [r9 + 2], 1
je 0x180168bca
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x180168bbf
mov rcx, rbx
call fcn.18018a810
mov r9, qword [rsp + 0x48]
mov word [rbx + 0x14], 0x401
mov dword [rbx], r15d
jmp 0x180168bde
movzx eax, word [rbx + 0x14]
mov ecx, 0xf241
and ax, cx
or ax, 1
mov word [rbx + 0x14], ax
mov r8d, dword [r9 + 8]
lea rdx, [rbp + 0x190]
mov rcx, qword [rdi + 0x30]
call qword [r14 + 0x58]
mov r14, qword [rsp + 0x68]
mov rdx, rsi
mov rcx, r14
mov dword [rsp + 0x44], eax
call fcn.180172ff0
cmp dword [rbp + 0x1b4], 0
jle 0x180168c60
movzx ecx, word [rbx + 0x14]
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x180168c2e
cmp byte [rbx + 0x16], 1
jne 0x180168c2e
mov rax, qword [rbx + 8]
jmp 0x180168c42
test cl, 1
je 0x180168c38
mov rax, r15
jmp 0x180168c42
mov dl, 1
mov rcx, rbx
call fcn.180188de0
mov r8, rax
lea rdx, [0x180242e14]
mov rcx, r14
call fcn.180161750
mov r12d, dword [rbp + 0x1b4]
mov dword [rsp + 0x44], r12d
test byte [rbx + 0x14], 2
movzx r10d, byte [rsp + 0x40]
jne 0x180168c72
mov byte [rbx + 0x16], r10b
jmp 0x180168c8a
cmp byte [rbx + 0x16], r10b
je 0x180168c8a
movzx edx, r10b
mov rcx, rbx
call fcn.18016f590
movzx r10d, byte [rsp + 0x40]
mov r9d, dword [rsp + 0x44]
test r9d, r9d
jne 0x1801635ae
mov rsi, qword [rsp + 0x48]
lea r11d, [r9 + 1]
mov r12, qword [rsp + 0x70]
jmp 0x180168735
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r14 + 0x78]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], 0
jne 0x180161f82
mov rcx, qword [rdi + 0x30]
mov rbx, qword [rcx]
mov rsi, qword [rbx]
call qword [rsi + 0x48]
mov rdx, rbx
mov rcx, r14
mov dword [rsp + 0x44], eax
call fcn.180172ff0
mov r9d, dword [rsp + 0x44]
test r9d, r9d
jne 0x1801635ae
mov rcx, qword [rdi + 0x30]
call qword [rsi + 0x50]
test eax, eax
jne 0x1801672b1
mov rdi, qword [rsp + 0x60]
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rax, [rdi + rcx*8]
mov qword [rsp + 0x48], rax
jmp 0x1801672b6
mov rcx, qword [rsp + 0x48]
mov edi, dword [r13 + 0x30]
or qword [r13 + 0x30], 0x4000000
and edi, 0x4000000
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax + 0x10]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
add rbx, r12
test byte [rbx + 0x14], 2
jne 0x180168d58
mov byte [rbx + 0x16], 1
jmp 0x180168d77
cmp byte [rbx + 0x16], 1
je 0x180168d77
mov dl, 1
mov rcx, rbx
call fcn.18016f590
mov dword [rsp + 0x44], eax
mov r9d, eax
test eax, eax
jne 0x1801635ae
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rbx + 8]
call qword [rax + 0x98]
mov dword [rsp + 0x44], eax
test edi, edi
jne 0x180168d97
and qword [r13 + 0x30], 0xfffffffffbffffff
mov rdx, rsi
mov rcx, r14
call fcn.180172ff0
and dword [r14 + 0xc8], 0xfffffffc
mov r9d, dword [rsp + 0x44]
test r9d, r9d
jne 0x1801635ae
jmp 0x18016871f
mov qword [rbp - 0x18], r15
cmp byte [r13 + 0x67], 0
jne 0x180163ac4
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x180169a8d
mov r10, qword [rbx]
test r10, r10
je 0x180169a8d
cmp qword [r10 + 0x68], 0
mov rsi, qword [rsp + 0x48]
movsxd r11, dword [rsi + 8]
je 0x1801694f4
movsxd rax, dword [rsi + 0xc]
mov r9, rsi
movzx edi, byte [r13 + 0x6c]
mov r8, qword [r14 + 0x70]
imul rcx, rax, 0x38
mov rax, r15
add rcx, r12
test r11d, r11d
jle 0x180168e40
nop dword [rax]
nop word [rax + rax]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
inc rax
cmp rax, r11
jl 0x180168e30
movzx eax, byte [r9 + 2]
mov edx, r11d
lea r9, [rbp - 0x18]
mov byte [r13 + 0x6c], al
mov rcx, rbx
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [r13 + 0x6c], dil
mov rcx, r14
mov dword [rsp + 0x44], eax
call fcn.180172ff0
mov r9d, dword [rsp + 0x44]
test r9d, r9d
jne 0x180168e84
cmp dword [rsi + 4], r9d
je 0x180168eb4
mov rax, qword [rbp - 0x18]
mov qword [r13 + 0x38], rax
jmp 0x180168eb4
cmp r9b, 0x13
jne 0x180168eb4
mov rax, rsi
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x1c], 0
je 0x180168eb4
mov rcx, rsi
movzx ecx, word [rcx + 2]
cmp ecx, 4
jne 0x180169b1b
mov r9d, r15d
mov dword [rsp + 0x44], r15d
jmp 0x180168724
inc qword [r14 + 0x38]
test r9d, r9d
jne 0x1801635ae
jmp 0x180168724
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r14 + 0x68]
test word [rdx + 0x14], ax
je 0x180168f05
mov rcx, rdx
call fcn.1800e16f0
mov r9d, dword [rsp + 0x44]
mov rdx, rax
movzx r10d, byte [rsp + 0x40]
mov r11d, 1
mov r8d, dword [rsp + 0x50]
jmp 0x180168f0b
mov word [rdx + 0x14], 4
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
mov rax, qword [rcx + 8]
mov ecx, dword [rax + 0x40]
jmp 0x180161b8c
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 8]
imul r8, rax, 0x38
mov eax, 0x9000
add r8, qword [r14 + 0x68]
test word [r8 + 0x14], ax
je 0x180168f63
mov rcx, r8
call fcn.1800e16f0
movzx r10d, byte [rsp + 0x40]
mov r8, rax
mov r11d, 1
jmp 0x180168f6a
mov word [r8 + 0x14], 4
mov rax, qword [r13 + 0x20]
mov edx, r15d
movsxd rcx, dword [rbx + 4]
shl rcx, 5
mov r9, qword [rcx + rax + 8]
mov rax, rbx
mov ecx, dword [rbx + 0xc]
test ecx, ecx
je 0x180168f94
mov rax, qword [r9 + 8]
mov edx, dword [rax + 0x40]
cmp edx, ecx
cmovb edx, ecx
mov rax, qword [r9 + 8]
mov rcx, qword [rax]
test edx, edx
je 0x180168fa5
mov dword [rcx + 0xbc], edx
mov eax, dword [rcx + 0xbc]
mov rsi, rbx
mov r9d, dword [rsp + 0x44]
mov qword [r8], rax
jmp 0x18016873a
mov rax, qword [rsp + 0x48]
mov r15, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r12
cmp qword [r15], rbx
je 0x180169026
mov qword [r15 + 0x18], r14
mov qword [r15], rbx
mov byte [r15 + 0x28], r10b
movzx eax, byte [r15 + 0x2a]
mov edx, eax
sub rdx, 1
lea r9d, [rax - 1]
js 0x180169026
mov r13, qword [rsp + 0x48]
lea r8, [r15 + 0x30]
lea r8, [r8 + rdx*8]
nop dword [rax]
mov eax, dword [r13 + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, r12
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x180169000
mov r13, qword [rsp + 0x58]
movzx eax, word [rbx + 0x14]
lea r8, [r15 + 0x30]
mov ecx, 0xf241
and ax, cx
mov rcx, r15
or ax, 1
mov word [rbx + 0x14], ax
mov rax, qword [r15 + 8]
movzx edx, byte [r15 + 0x2a]
call qword [rax + 0x18]
mov eax, dword [r15 + 0x24]
test eax, eax
je 0x1801691f6
jle 0x1801690ae
movzx ecx, word [rbx + 0x14]
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x18016907b
cmp byte [rbx + 0x16], 1
jne 0x18016907b
mov rax, qword [rbx + 8]
jmp 0x18016908e
test cl, 1
je 0x180169084
xor eax, eax
jmp 0x18016908e
mov dl, 1
mov rcx, rbx
call fcn.180188de0
mov r8, rax
lea rdx, [0x180242e14]
mov rcx, r14
call fcn.180161750
mov r12d, dword [r15 + 0x24]
mov dword [rsp + 0x44], r12d
mov r12, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x68]
mov r9, qword [rsp + 0x48]
add rdi, 0x128
mov esi, dword [r15 + 0x20]
mov rbx, qword [rdi]
mov r14d, dword [r9 + 4]
test rbx, rbx
je 0x1801691ce
test esi, esi
js 0x1801690f6
cmp dword [rbx], esi
jne 0x1801690ed
mov eax, dword [rbx + 4]
test eax, eax
js 0x1801690ed
cmp eax, 0x1f
jg 0x1801690f6
bt r14d, eax
jae 0x1801690f6
lea rdi, [rbx + 0x18]
jmp 0x1801691c2
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x180169105
mov rcx, qword [rbx + 8]
call rax
mov rax, qword [rbx + 0x18]
mov qword [rdi], rax
cmp rbx, qword [r13 + 0x1e0]
jae 0x180169150
cmp rbx, qword [r13 + 0x1d0]
jb 0x180169134
mov rax, qword [r13 + 0x1c8]
mov qword [rbx], rax
mov qword [r13 + 0x1c8], rbx
jmp 0x1801691c2
cmp rbx, qword [r13 + 0x1d8]
jb 0x180169150
mov rax, qword [r13 + 0x1b8]
mov qword [rbx], rax
mov qword [r13 + 0x1b8], rbx
jmp 0x1801691c2
cmp qword [r13 + 0x2e8], 0
je 0x180169167
mov rdx, rbx
mov rcx, r13
call fcn.1800db8f0
jmp 0x1801691c2
cmp dword [0x18028cb60], 0
je 0x1801691b9
mov rcx, qword [0x180294f30]
test rcx, rcx
je 0x180169182
call qword [0x18028cbe0]
mov rcx, rbx
call qword [0x18028cb98]
dec qword [0x180294eb8]
movsxd rcx, eax
sub qword [0x180294e70], rcx
mov rcx, rbx
call qword [0x18028cb88]
mov rcx, qword [0x180294f30]
test rcx, rcx
je 0x1801691c2
call qword [0x18028cbf0]
jmp 0x1801691c2
mov rcx, rbx
call qword [0x18028cb88]
mov rbx, qword [rdi]
test rbx, rbx
jne 0x1801690d3
mov r9d, dword [rsp + 0x44]
mov r14, qword [rsp + 0x68]
mov dword [r15 + 0x24], 0
test r9d, r9d
jne 0x1801635ae
mov rsi, qword [rsp + 0x48]
xor r15d, r15d
jmp 0x180168729
mov r9d, dword [rsp + 0x44]
xor r15d, r15d
jmp 0x180169213
mov r9d, dword [rsp + 0x44]
jmp 0x180169213
mov r14, qword [rsp + 0x68]
jmp 0x180169213
mov r12, qword [rsp + 0x70]
movzx r10d, byte [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov r11d, 1
jmp 0x180168735
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov eax, 0xf7ff
and word [rcx + r12 + 0x14], ax
jmp 0x180161b8f
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
mov eax, 0x800
add rcx, r12
test word [rdx + r12 + 0x14], ax
je 0x1801669fc
movzx eax, byte [rdx + r12 + 0x17]
jmp 0x180162215
mov rcx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
add rcx, r12
test byte [rdx + r12 + 0x14], 1
je 0x1801692ba
mov eax, 0xf7ff
and word [rcx + 0x14], ax
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov eax, 0x800
or word [rcx + 0x14], ax
movzx eax, byte [rdx + r12]
mov byte [rcx + 0x17], al
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov rcx, qword [rsp + 0x48]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
mov rcx, r12
imul rbx, rax, 0x38
call fcn.180072a00
mov ecx, dword [rbx + r12 + 0x10]
xor edx, edx
shl ecx, 3
movsxd r8, ecx
mov rcx, qword [rbx + r12 + 8]
div r8
mov r8, rdx
and edx, 7
shr r8, 3
movsx eax, byte [r8 + rcx]
bts eax, edx
mov byte [r8 + rcx], al
jmp 0x180161a9a
mov rcx, qword [rsp + 0x48]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
mov rcx, r12
imul rbx, rax, 0x38
call fcn.180072a00
mov ecx, dword [rbx + r12 + 0x10]
xor edx, edx
mov r9d, dword [rsp + 0x44]
mov r11d, 1
mov rsi, qword [rsp + 0x48]
shl ecx, 3
movsxd r8, ecx
div r8
mov rax, qword [rbx + r12 + 8]
mov rcx, rdx
mov r8, rdx
shr rcx, 3
and r8b, 7
movsx edx, byte [rcx + rax]
movzx eax, r8b
bt edx, eax
jb 0x180169389
inc dword [r14 + 0xf4]
jmp 0x1801634e9
inc dword [r14 + 0xf0]
movzx r10d, byte [rsp + 0x40]
jmp 0x18016873a
test byte [r13 + 0x6e], 1
je 0x180169442
cmp byte [r14 + 0xc5], 0xfe
je 0x180169442
mov r9, qword [rsp + 0x48]
mov r9, qword [r9 + 0x10]
test r9, r9
jne 0x1801693ce
mov r9, qword [r14 + 0xf8]
test r9, r9
je 0x18016943d
cmp dword [r13 + 0xe4], 1
jle 0x180169418
mov r8, r9
lea rdx, str.____s
mov rcx, r13
call fcn.180140890
mov rdx, qword [r13 + 0x100]
mov r9, rax
mov r8, r14
mov ecx, 1
mov rbx, rax
call qword [r13 + 0xf8]
test rbx, rbx
je 0x18016942c
mov rdx, rbx
mov rcx, r13
call fcn.18010d580
jmp 0x18016942c
mov rdx, qword [r13 + 0x100]
mov r8, r14
mov ecx, r11d
call qword [r13 + 0xf8]
mov r8d, dword [rsp + 0x50]
mov r11d, 1
movzx r10d, byte [rsp + 0x40]
mov r9d, dword [rsp + 0x44]
mov rax, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x48]
mov eax, dword [rax + 4]
cmp eax, dword [0x18028cd08]
jl 0x180169496
cmp byte [rsi], 0xb8
je case.0x1801618b5.89
cmp dword [r14 + 0x90], 1
mov edx, r11d
jle 0x180169493
mov eax, 0x18
mov rcx, qword [r14 + 0x88]
cmp byte [rcx + rax], 0xf
jne 0x180169484
mov dword [rcx + rax + 4], r15d
inc edx
add rax, 0x18
cmp edx, dword [r14 + 0x90]
jl 0x180169472
mov eax, r15d
inc eax
mov dword [rsi + 4], eax
inc dword [r14 + 0xec]
jmp 0x1801634e9
mov r9d, dword [rsp + 0x44]
mov rsi, qword [rsp + 0x48]
jmp 0x180168735
mov r9d, dword [rsp + 0x44]
xor r15d, r15d
mov r14, qword [rsp + 0x68]
jmp 0x18016871f
mov rsi, qword [rsp + 0x48]
xor r15d, r15d
mov r12, qword [rsp + 0x70]
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov rsi, qword [rsp + 0x48]
xor r15d, r15d
jmp 0x180162c4a
movzx r10d, byte [rsp + 0x40]
mov r11d, 1
mov r13, qword [rsp + 0x58]
add rsi, 0x18
mov rdx, qword [rbp - 0x20]
jmp 0x180161886
mov ecx, dword [r9 + 4]
lea rbx, [r9 + 4]
mov dword [r14 + 0x34], ecx
movzx eax, byte [r9 + 8]
mov byte [r14 + 0xc4], al
test ecx, ecx
je 0x1801695d4
movzx eax, word [r9 + 2]
mov rcx, r14
test ax, ax
je 0x180169580
mov r8, qword [rdx + rax*8 + 0x23cc88]
lea rdx, str._s_constraint_failed
call fcn.180161750
mov rax, qword [rsp + 0x48]
mov r9, qword [rax + 0x10]
test r9, r9
je 0x180169590
mov r8, qword [r14 + 0xa8]
lea rdx, str._z:__s
mov rcx, r13
call fcn.180140890
mov qword [r14 + 0xa8], rax
jmp 0x180169590
mov r8, qword [r9 + 0x10]
lea rdx, [0x180242e14]
call fcn.180161750
mov r9, qword [rsp + 0x48]
movabs rax, 0x2aaaaaaaaaaaaaab
mov ecx, dword [rbx]
sub r9, rdi
imul r9
mov rax, qword [r14 + 0xa8]
mov r9, qword [r14 + 0xf8]
sar rdx, 2
mov r8, rdx
mov qword [rsp + 0x20], rax
shr r8, 0x3f
add r8, rdx
lea rdx, str.abort_at__d_in___s_:__s
call fcn.18000206d
mov rcx, r14
call fcn.18016d140
mov r9d, eax
cmp eax, 5
jne 0x180169c6d
mov dword [r14 + 0x34], eax
jmp 0x180169e43
mov dword [r14 + 0x34], 0x313
lea rdx, str.FOREIGN_KEY_constraint_failed
mov rcx, r14
mov byte [r14 + 0xc4], 2
call fcn.180161750
cmp byte [r14 + 0xc6], 0
mov ebx, 1
mov r9d, 0x313
cmovge r9d, ebx
mov dword [rsp + 0x44], r9d
jmp 0x1801635b3
mov ecx, 0x1760b
call fcn.18010af60
mov r9d, eax
mov dword [rsp + 0x44], eax
mov r14, qword [rsp + 0x68]
jmp 0x1801635ae
and edx, 0x3f
movsxd rax, esi
lea rdi, [0x180000000]
movzx r8d, byte [rdx + rdi + 0x23cbe0]
lea rcx, [rax + rax*2]
mov r9d, dword [r15 + rcx*8 + 8]
lea rdx, str.cannot_store__s_value_in__s_column__s._s
mov rax, qword [r15 + rcx*8]
shr r9d, 4
mov r8, qword [rdi + r8*8 + 0x28d810]
and r9d, 0xf
mov qword [rsp + 0x28], rax
dec r9d
mov rax, qword [r14]
mov r14, qword [rsp + 0x68]
mov rcx, r14
mov qword [rsp + 0x20], rax
mov r9, qword [rdi + r9*8 + 0x28cef0]
call fcn.180161750
mov rsi, qword [rsp + 0x58]
mov r9d, 0xc13
mov dword [rsp + 0x44], r9d
mov ebx, 1
jmp 0x1801635bf
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r14
call fcn.180161750
mov r9d, 5
mov dword [rsp + 0x44], r9d
jmp 0x1801635ae
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x1801696cc
mov byte [rsi + 0x65], 0
mov rbx, rdi
jmp 0x1801635b8
sub rbx, qword [rsp + 0x60]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rbx
mov r9d, 5
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r14 + 0x30], edx
mov byte [rsi + 0x65], 0
mov dword [r14 + 0x34], r9d
jmp 0x180169e43
mov rsi, qword [rsp + 0x58]
lea rdi, [0x180000000]
mov r15d, 0xb
bt rax, 0x14
mov r9d, 8
cmovae r9d, r15d
mov dword [rsp + 0x44], r9d
lea ebx, [r15 - 0xa]
jmp 0x1801635c5
cmp r9b, 5
jne 0x1801635ae
mov rcx, qword [rsp + 0x48]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x60]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r14 + 0x30], edx
mov dword [r14 + 0x34], r9d
jmp 0x180169e43
mov rdx, qword [r14 + 0xa8]
test rdx, rdx
je 0x1801697af
mov rcx, r13
call fcn.18010d580
mov edx, 0x1c
mov rcx, r13
call fcn.18010d770
test rax, rax
je 0x1801697e1
movups xmm0, xmmword [str.database_schema_has_changed]
movups xmmword [rax], xmm0
movsd xmm0, qword [0x180249ae8]
movsd qword [rax + 0x10], xmm0
mov ecx, dword [0x180249af0]
mov dword [rax + 0x18], ecx
mov qword [r14 + 0xa8], rax
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rax + 4]
mov rax, qword [r13 + 0x20]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp - 0x60]
cmp dword [rcx], eax
je 0x180169810
mov rcx, r13
call fcn.18014f320
mov eax, dword [r14 + 0xc8]
mov r9d, 0x11
and eax, 0xffffffed
mov dword [rsp + 0x44], r9d
or eax, 1
mov dword [r14 + 0xc8], eax
jmp 0x1801635ae
mov r9d, 0x204
mov dword [rsp + 0x44], r9d
jmp 0x1801635ae
mov rcx, qword [rbx + 0x10]
call fcn.180102d50
mov r9d, dword [rsp + 0x44]
jmp 0x1801635ae
mov r9d, 0x15dc7
mov r15d, 0xb
lea r12, [0x18024f174]
mov ecx, r15d
mov qword [rsp + 0x20], r12
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.18000206d
mov rsi, qword [rsp + 0x58]
lea rdi, [0x180000000]
mov r9d, r15d
mov dword [rsp + 0x44], r15d
mov ebx, 1
jmp 0x1801635cc
mov r9d, 0x17ed3
jmp 0x18016985d
mov r14, qword [rsp + 0x68]
mov r9d, 7
mov dword [rsp + 0x44], r9d
jmp 0x1801635ae
mov rsi, r13
mov r14, qword [rsp + 0x68]
lea rdx, str.string_or_blob_too_big
mov rcx, r14
call fcn.180161750
mov r9d, 0x12
mov dword [rsp + 0x44], r9d
lea ebx, [r9 - 0x11]
jmp 0x1801635b8
mov rsi, qword [rsp + 0x58]
jmp 0x1801698c3
mov rsi, qword [rsp + 0x58]
jmp 0x1801698c8
mov r12d, 0x30b
lea rax, [0x18024f174]
mov ecx, r12d
mov qword [rsp + 0x20], rax
mov r9d, 0x1830d
mov dword [rsp + 0x44], r12d
lea r8, str.index_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.18000206d
mov r9d, r12d
jmp 0x1801635ae
mov ecx, 0x183da
call fcn.18010af60
mov r9d, eax
mov dword [rsp + 0x44], eax
jmp 0x1801635ae
mov r9d, 6
mov byte [r14 + 0xc4], 2
mov dword [rsp + 0x44], r9d
jmp 0x1801635ae
mov rcx, rbx
call qword [0x18028cb88]
mov r9d, dword [rsp + 0x44]
cmp r9d, 7
je 0x180163ac4
jmp 0x1801635ae
call fcn.18014f280
jmp 0x180163ac4
mov rcx, qword [rbp - 0x10]
call fcn.1800022bb
mov r9d, dword [rsp + 0x44]
jmp 0x1801635ae
lea rdx, str.too_many_levels_of_trigger_recursion
mov dword [rsp + 0x44], r11d
mov rcx, r14
call fcn.180161750
mov r9d, dword [rsp + 0x44]
jmp 0x1801635ae
test rbx, rbx
je 0x1801699f1
movzx ecx, word [rbx + 0x14]
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x1801699df
cmp byte [rbx + 0x16], 1
jne 0x1801699df
mov r15, qword [rbx + 8]
jmp 0x1801699f1
test cl, 1
jne 0x1801699f1
mov dl, 1
mov rcx, rbx
call fcn.180188de0
mov r15, rax
mov r8, r15
lea rdx, [0x180242e14]
mov rcx, r14
call fcn.180161750
mov r9d, dword [rsp + 0x44]
jmp 0x1801635ae
mov r14, qword [rsp + 0x68]
lea rax, str.into
cmp esi, 5
mov dword [rsp + 0x44], r11d
lea r8, str.out_of
mov rcx, r14
cmove r8, rax
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
call fcn.180161750
mov r9d, dword [rsp + 0x44]
mov rsi, r12
mov ebx, 1
jmp 0x1801635b8
mov r15d, 0xb
lea r12, [0x18024f174]
mov ecx, r15d
mov qword [rsp + 0x20], r12
mov r9d, 0x121ea
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.18000206d
mov r14, qword [rsp + 0x68]
jmp 0x180169885
call qword [rdi + 0x38]
jmp 0x180163ac4
mov r9d, 6
mov dword [rsp + 0x44], r9d
jmp 0x1801635ae
mov rbx, qword [rbp - 0x28]
test rbx, rbx
je 0x1801635ae
cmp dword [0x18028cb60], 0
je 0x180169b08
mov rcx, qword [0x180294f30]
test rcx, rcx
je 0x180169ac5
call qword [0x18028cbe0]
mov rcx, rbx
call qword [0x18028cb98]
dec qword [0x180294eb8]
mov rcx, rbx
movsxd rdx, eax
sub qword [0x180294e70], rdx
call qword [0x18028cb88]
mov rcx, qword [0x180294f30]
test rcx, rcx
je 0x18016984d
call qword [0x18028cbf0]
mov r9d, dword [rsp + 0x44]
jmp 0x1801635ae
mov rcx, rbx
call qword [0x18028cb88]
mov r9d, dword [rsp + 0x44]
jmp 0x1801635ae
movzx eax, cl
cmp ecx, 5
mov ecx, 2
cmove eax, ecx
mov byte [r14 + 0xc4], al
jmp 0x1801635ae
mov eax, dword [r14 + 0x2c]
mov rbx, qword [rsp + 0x48]
add eax, 2
or eax, 1
mov dword [r14 + 0x2c], eax
movsxd rax, dword [rbx + 4]
imul rdx, rax, 0x38
add rdx, r12
mov qword [r14 + 0xa0], rdx
cmp byte [r13 + 0x67], 0
jne 0x180163ac4
test byte [r13 + 0x6e], 4
je 0x180169b84
mov rdx, qword [r13 + 0x100]
xor r9d, r9d
mov r8, r14
lea ecx, [r9 + 4]
call qword [r13 + 0xf8]
sub rbx, rdi
movabs rax, 0x2aaaaaaaaaaaaaab
imul rbx
mov r9d, 0x64
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
inc edx
mov dword [r14 + 0x30], edx
jmp 0x180169e43
mov rax, qword [rsp + 0x48]
mov ebx, dword [rax + 4]
mov ecx, dword [rax + 8]
movzx eax, byte [r13 + 0x65]
cmp ebx, eax
je 0x180169c86
test ecx, ecx
je 0x180169be0
mov edx, 0x204
mov rcx, r13
call fcn.18014fc50
mov al, 1
jmp 0x180169c13
test ebx, ebx
je 0x180169bfa
cmp dword [r13 + 0xe0], 0
jle 0x180169bfa
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x1801696cc
mov edx, r11d
mov rcx, r14
call fcn.180160d20
mov r9d, eax
test eax, eax
jne 0x180169e43
movzx eax, bl
mov rcx, r14
mov byte [r13 + 0x65], al
call fcn.18016d140
cmp eax, 5
jne 0x180169c65
mov rcx, qword [rsp + 0x48]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rdi
mov r9d, 5
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, 1
mov dword [r14 + 0x30], edx
sub al, bl
mov byte [r13 + 0x65], al
mov dword [r14 + 0x34], r9d
jmp 0x180169e43
mov rcx, r13
call fcn.1801076d0
cmp dword [r14 + 0x34], 0
mov r9d, 0x65
mov eax, 1
cmovne r9d, eax
jmp 0x180169e43
test ebx, ebx
jne 0x180169c9e
lea rdx, str.cannot_start_a_transaction_within_a_transaction
mov rcx, r14
call fcn.180161750
jmp 0x180164650
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
mov rcx, r14
cmovne rdx, rax
call fcn.180161750
jmp 0x180164650
mov r9d, 9
mov dword [rsp + 0x44], r9d
jmp 0x1801635ae
mov r13, qword [rsp + 0x58]
jmp 0x180163abf
mov r13, rsi
jmp 0x180163abf
mov r13, qword [rsp + 0x58]
jmp 0x180163ac4
mov rbx, r11
jmp 0x1801635b3
mov r14, rdi
jmp 0x1801635ae
cmp r9d, 0x210a
jne 0x180169d2d
mov r9d, 0x18cde
mov qword [rsp + 0x20], r12
lea r8, str.database_corruption
mov ecx, r15d
lea rdx, str._s_at_line__d_of___.10s_
call fcn.18000206d
mov r9d, r15d
mov dword [rsp + 0x44], r15d
cmp qword [r14 + 0xa8], 0
jne 0x180169d9f
cmp r9d, 0xc0a
je 0x180169d9f
mov ecx, r9d
lea r8, str.unknown_error
sub ecx, 0x64
je 0x180169d89
sub ecx, 1
je 0x180169d80
cmp ecx, 0x19f
je 0x180169d77
movzx eax, r9b
cmp eax, 0x1d
jae 0x180169d90
mov rcx, qword [rdi + rax*8 + 0x2408a0]
test rcx, rcx
je 0x180169d90
mov r8, rcx
jmp 0x180169d90
lea r8, str.abort_due_to_ROLLBACK
jmp 0x180169d90
lea r8, str.no_more_rows_available
jmp 0x180169d90
lea r8, str.another_row_available
lea rdx, [0x180242e14]
mov rcx, r14
call fcn.180161750
mov r12d, dword [rsp + 0x44]
mov rcx, rsi
mov edx, r12d
mov dword [r14 + 0x34], r12d
call fcn.180159fa0
mov rcx, qword [rsp + 0x48]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x60]
mov r9, qword [r14 + 0xf8]
imul rcx
mov rax, qword [r14 + 0xa8]
mov ecx, r12d
sar rdx, 2
mov r8, rdx
mov qword [rsp + 0x20], rax
shr r8, 0x3f
add r8, rdx
lea rdx, str.statement_aborts_at__d:___s___s
call fcn.18000206d
cmp byte [r14 + 0xc7], 2
jne 0x180169e0c
mov rcx, r14
call fcn.18016d140
cmp r12d, 0xc0a
jne 0x180169e90
mov rcx, rsi
call fcn.180141850
mov rax, qword [rsp + 0x58]
movzx ecx, byte [rbp - 0x74]
mov r9d, ebx
mov dword [rsp + 0x44], ebx
test cl, cl
je 0x180169e43
lea edx, [rcx - 1]
mov rcx, rax
call fcn.18014f320
mov r9d, ebx
mov rax, qword [rbp - 0x20]
add dword [r14 + 0xe4], eax
mov eax, r9d
mov rcx, qword [rbp + 0x330]
xor rcx, rsp
call fcn.180002c0c
lea r11, [rsp + 0x470]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
cmp r12d, 0xb
jne 0x180169e21
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x65], 0
jne 0x180169e26
movabs rcx, 0x200000000
or qword [rax + 0x30], rcx
jmp 0x180169e26