// File: /workspace/github_cpp_makefile_star2_O1/Alcaro[P]bridges/game.cpp
// Function: (anonymous namespace)::game_impl::run(game::input const&, image&, bool)
int run(const input& in, image& out, bool can_skip)
	{
		if (state == st_init)
			this->in = in;
		
		this->in_press = (in.keys & ~this->in.keys);
		if (in.lmousedown && !this->in.lmousedown)
			this->in_press |= 1<<k_click;
		if (in.rmousedown && !this->in.rmousedown)
			this->in_press |= 1<<k_rclick;
		this->prev_in = this->in;
		this->in = in;
		
		this->out.init_ref(out);
		
		if (state != st_init) // don't do too much the first frame
			gamegen_step();
		
		switch (state)
		{
			case st_init:
				init();
				to_title();
				[[fallthrough]];
			case st_title:
				title();
				break;
			case st_menu:
				menu();
				break;
			case st_ingame:
				return ingame(can_skip);
		}
		return 1;
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x24ba8, %rsp          # imm = 0x24BA8
movl %ecx, %r14d
movq %rdi, (%rsp)
movl 0x40(%rdi), %eax
testl %eax, %eax
jne 0x1e89c
movl 0x8(%rsi), %ecx
movq (%rsp), %rdi
movl %ecx, 0x10(%rdi)
movq (%rsi), %rcx
movq %rcx, 0x8(%rdi)
movq (%rsp), %rdi
movb 0x12(%rdi), %cl
notb %cl
andb 0xa(%rsi), %cl
movb %cl, 0x20(%rdi)
cmpb $0x1, 0x8(%rsi)
jne 0x1e8c5
movq (%rsp), %rdi
cmpb $0x0, 0x10(%rdi)
jne 0x1e8c5
orb $0x40, %cl
movq (%rsp), %rdi
movb %cl, 0x20(%rdi)
movq (%rsp), %rcx
leaq 0x8(%rcx), %rdi
cmpb $0x1, 0x9(%rsi)
jne 0x1e8e5
movq (%rsp), %rcx
cmpb $0x0, 0x11(%rcx)
jne 0x1e8e5
movq (%rsp), %rcx
orb $-0x80, 0x20(%rcx)
movl 0x8(%rdi), %ecx
movq (%rsp), %r8
movl %ecx, 0x1c(%r8)
movq (%rdi), %rcx
movq %rcx, 0x14(%r8)
movq (%rsi), %rcx
movq %rcx, (%rdi)
movl 0x8(%rsi), %ecx
movq %rdi, 0x130(%rsp)
movl %ecx, 0x8(%rdi)
movl (%rdx), %ecx
movl %ecx, 0x28(%r8)
movl 0x4(%rdx), %ecx
movl %ecx, 0x2c(%r8)
movl 0x8(%rdx), %ecx
movl %ecx, 0x30(%r8)
movl 0xc(%rdx), %ecx
movl %ecx, 0x34(%r8)
movq 0x10(%rdx), %rcx
movq %rcx, 0x38(%r8)
testl %eax, %eax
je 0x1ebd4
movq (%rsp), %rax
movq 0x24aa0(%rax), %rdi
testq %rdi, %rdi
je 0x1e9c1
xorl %esi, %esi
callq 0x25382
testb %al, %al
je 0x1ebd4
movq (%rsp), %rbx
movq 0x24aa0(%rbx), %rdi
callq 0x25424
movzbl 0x24a98(%rbx), %ecx
movq %rax, 0x24a80(%rbx,%rcx,8)
movq 0x24aa0(%rbx), %r15
movl 0xa0(%r15), %eax
movl %eax, 0x24aac(%rbx,%rcx,4)
testq %r15, %r15
je 0x1e9a3
movq %r15, %rdi
callq 0x22d98
movl $0xb0, %esi
movq %r15, %rdi
callq 0x3370
movq (%rsp), %rcx
movq $0x0, 0x24aa0(%rcx)
movzbl 0x24a98(%rcx), %eax
movb $0x1, 0x24aa8(%rcx,%rax)
xorl %ebx, %ebx
movq (%rsp), %rax
movq 0x24a80(%rax,%rbx,8), %rsi
testq %rsi, %rsi
je 0x1e9f4
movq (%rsp), %rax
cmpb $0x0, 0x24aa8(%rax,%rbx)
je 0x1ea92
incq %rbx
cmpq $0x3, %rbx
jne 0x1e9c3
jmp 0x1ebd4
movl $0xb0, %edi
callq 0x3340
movq %rax, %r15
leal 0x64(%rbx), %eax
movabsq $0x4e2000000000, %rcx   # imm = 0x4E2000000000
leaq 0x1b8(%rsp), %r12
movq %rcx, -0x8(%r12)
xorl %ecx, %ecx
movq %rcx, -0x14(%r12)
movb $0x0, -0xc(%r12)
leaq 0x4391(%rip), %rdx      # 0x22dc0
movq %rdx, 0x8(%r12)
movq %rdx, (%r12)
movq %rcx, 0x10(%r12)
movw $0x7, -0x18(%r12)
movb $0x7, -0x17(%r12)
movl $0x3ecccccd, -0x14(%r12) # imm = 0x3ECCCCCD
movw $0x101, -0xf(%r12)      # imm = 0x101
cmpl $0x66, %eax
je 0x1eb1d
cmpl $0x65, %eax
je 0x1eb10
cmpl $0x64, %eax
jne 0x1eb32
movl $0x3e4ccccd, 0x1a4(%rsp) # imm = 0x3E4CCCCD
movl $0x3f400000, 0x1b0(%rsp) # imm = 0x3F400000
jmp 0x1eb32
leal 0x64(%rbx), %eax
xorl %ecx, %ecx
leaq 0x108(%rsp), %r15
movq %rcx, -0x8(%r15)
movq %rcx, -0x14(%r15)
movb $0x0, -0xc(%r15)
leaq 0x430d(%rip), %rdx      # 0x22dc0
movq %rdx, 0x8(%r15)
movq %rdx, (%r15)
movq %rcx, 0x10(%r15)
movw $0x7, -0x18(%r15)
movb $0x7, -0x17(%r15)
movl $0x3ecccccd, -0x14(%r15) # imm = 0x3ECCCCCD
movl $0x4e20, -0x4(%r15)     # imm = 0x4E20
movw $0x101, -0xf(%r15)      # imm = 0x101
cmpl $0x66, %eax
je 0x1eb6e
cmpl $0x65, %eax
je 0x1eb61
cmpl $0x64, %eax
jne 0x1eb83
movl $0x3e4ccccd, 0xf4(%rsp) # imm = 0x3E4CCCCD
movl $0x3f400000, 0x100(%rsp) # imm = 0x3F400000
jmp 0x1eb83
movl $0x3f800000, 0x1b0(%rsp) # imm = 0x3F800000
jmp 0x1eb32
movl $0x3f800000, 0x1b0(%rsp) # imm = 0x3F800000
movw $0x909, 0x1a0(%rsp)     # imm = 0x909
leaq 0x1a0(%rsp), %rsi
movq %r15, %rdi
callq 0x239c0
movq (%rsp), %rax
movq %r15, 0x24aa0(%rax)
movq %r12, %rdi
movq %rax, %r15
callq 0x22dc4
movb %bl, 0x24a98(%r15)
jmp 0x1ebd4
movl $0x3f800000, 0x100(%rsp) # imm = 0x3F800000
jmp 0x1eb83
movl $0x3f800000, 0x100(%rsp) # imm = 0x3F800000
movw $0x909, 0xf0(%rsp)      # imm = 0x909
leaq 0xf0(%rsp), %rdi
leaq 0x1a0(%rsp), %r12
movq %r12, %rdx
callq 0x25474
movq %r15, %rdi
callq 0x22dc4
movq %r12, %rdi
callq 0x26d4a
movq (%rsp), %rcx
cmpl 0x24aac(%rcx,%rbx,4), %eax
je 0x1ebc8
movq (%rsp), %rax
movq $0x0, 0x24a80(%rax,%rbx,8)
movq (%rsp), %rax
movb $0x1, 0x24aa8(%rax,%rbx)
movq (%rsp), %rax
movl 0x40(%rax), %eax
movl $0x1, %ebp
cmpq $0x3, %rax
ja 0x222fb
movq (%rsp), %rcx
leaq 0x28(%rcx), %rbx
leaq 0x1305f(%rip), %rcx     # 0x31c58
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
movq %rbx, 0x8(%rsp)
jmpq *%rax
callq 0x1dd4c
movq (%rsp), %r14
movl $0x1, 0x40(%r14)
leaq 0x50(%r14), %rdi
movl $0x1, %esi
callq 0x223ec
movl $0x0, 0x60(%r14)
movq (%rsp), %r15
movq %r15, %rdi
callq 0x224aa
leaq 0x274bf(%rip), %r14     # 0x46100
movq %rbx, %rdi
movl $0x96, %esi
movl $0x41, %edx
movl $0x154, %ecx            # imm = 0x154
movl $0x96, %r8d
movq %r14, %r9
pushq $0x24
pushq $0x4
pushq $0x25
pushq $0x3
callq 0xc5da
addq $0x20, %rsp
movq %rbx, %rdi
movl $0xc8, %esi
movl $0x11d, %edx            # imm = 0x11D
movq %r14, %rcx
callq 0xbb06
movq %rbx, %rdi
movl $0x190, %esi            # imm = 0x190
movl $0x11d, %edx            # imm = 0x11D
movq %r14, %rcx
callq 0xbb06
movq %rbx, %rdi
movl $0xc8, %esi
movl $0x177, %edx            # imm = 0x177
movq %r14, %rcx
callq 0xbb06
movq %rbx, %rdi
movl $0x190, %esi            # imm = 0x190
movl $0x177, %edx            # imm = 0x177
movq %r14, %rcx
callq 0xbb06
leaq 0x273f0(%rip), %r14     # 0x460b8
movq %rbx, %rdi
movl $0xee, %esi
movl $0x12a, %edx            # imm = 0x12A
movl $0xa4, %ecx
movl $0xb, %r8d
movq %r14, %r9
callq 0xc182
movq %rbx, %rdi
movl $0xee, %esi
movl $0x184, %edx            # imm = 0x184
movl $0xa4, %ecx
movl $0xb, %r8d
movq %r14, %r9
callq 0xc182
leaq 0x273c1(%rip), %r14     # 0x460d0
movq %rbx, %rdi
movl $0xce, %esi
movl $0x143, %edx            # imm = 0x143
movl $0xb, %ecx
movl $0x36, %r8d
movq %r14, %r9
callq 0xc182
movq %rbx, %rdi
movl $0xe0, %esi
movl $0x143, %edx            # imm = 0x143
movl $0xb, %ecx
movl $0x36, %r8d
movq %r14, %r9
callq 0xc182
movq %rbx, %rdi
movl $0x196, %esi            # imm = 0x196
movl $0x143, %edx            # imm = 0x143
movl $0xb, %ecx
movl $0x36, %r8d
movq %r14, %r9
callq 0xc182
movq %rbx, %rdi
movl $0x1a8, %esi            # imm = 0x1A8
movl $0x143, %edx            # imm = 0x143
movl $0xb, %ecx
movl $0x36, %r8d
movq %r14, %r9
callq 0xc182
movl 0x60(%r15), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
negl %ecx
cmpl $-0xb, %ecx
movl $0xfffffff4, %edx       # imm = 0xFFFFFFF4
cmovgel %ecx, %edx
leal 0x10(%rdx), %ecx
movl %ecx, %esi
shll $0x6, %esi
subl %ecx, %esi
shrl %esi
leal (%rcx,%rcx,8), %eax
leal (%rax,%rax,2), %eax
addl %edx, %eax
addl $0x10, %eax
shrl %eax
movl %eax, 0x38(%rsp)
leaq 0x274e3(%rip), %rax     # 0x462b0
movq 0x10(%rax), %rdi
subl %esi, %edx
addl $0x14f, %edx            # imm = 0x14F
movq %rdx, 0x28(%rsp)
movl $0x13f, %eax            # imm = 0x13F
movl %esi, 0x10(%rsp)
subl %esi, %eax
movl %eax, 0x40(%rsp)
xorl %eax, %eax
movl %eax, 0x18(%rsp)
imull %ecx, %eax
subl 0x38(%rsp), %eax
movl %eax, %r11d
addl $0x90, %r11d
testl %r11d, %r11d
movl $0x0, %edx
cmovlel %edx, %r11d
leal 0x90(%rax,%rcx), %ebx
movl 0x40(%rsp), %ebp
movq 0x28(%rsp), %rax
movl %eax, %r14d
xorl %r15d, %r15d
testl %ebp, %ebp
movl $0x0, %r9d
cmovgl %ebp, %r9d
movl (%rdi), %r12d
testl %r12d, %r12d
jns 0x1eeed
movl %r15d, %eax
imull %ecx, %eax
subl 0x10(%rsp), %eax
leal (%rax,%rcx), %r13d
addl $0x13f, %r13d           # imm = 0x13F
movl %eax, %esi
addl $0x13f, %esi            # imm = 0x13F
testl %esi, %esi
movl $0x0, %eax
cmovlel %eax, %esi
movq (%rsp), %rax
movl 0x28(%rax), %r8d
cmpl %r8d, %r13d
cmovael %r8d, %r13d
movl 0x2c(%rax), %eax
cmpl %eax, %ebx
cmovbl %ebx, %eax
movl %r13d, %edx
subl %esi, %edx
cmpl %ecx, %edx
ja 0x1eeed
cmpl %r11d, %eax
je 0x1eeed
subl %r11d, %eax
cmpl %ecx, %eax
ja 0x1eeed
movq (%rsp), %r10
movl 0x34(%r10), %edx
imull %r11d, %edx
andl $-0x4, %edx
addq 0x38(%r10), %rdx
movl %esi, %r10d
leaq (%rdx,%r10,4), %r10
cmpl %r14d, %r8d
cmovael %r14d, %r8d
subl %r9d, %r8d
cmpq $0x1, %r8
adcq $0x0, %r8
shlq $0x2, %r8
xorl %r9d, %r9d
cmpl %esi, %r13d
je 0x1eed8
xorl %edx, %edx
movl %r12d, (%r10,%rdx)
addq $0x4, %rdx
cmpq %rdx, %r8
jne 0x1eecb
movq (%rsp), %rdx
movl 0x34(%rdx), %edx
andl $-0x4, %edx
addq %rdx, %r10
incl %r9d
cmpl %eax, %r9d
jb 0x1eec4
addq $0x4, %rdi
incl %r15d
addl %ecx, %r14d
addl %ecx, %ebp
cmpl $0x3f, %r15d
jne 0x1ee26
movl 0x18(%rsp), %eax
incl %eax
cmpl $0x1b, %eax
jne 0x1edef
movq (%rsp), %r15
movl 0x60(%r15), %eax
cmpl $0x30, %eax
jle 0x1f01b
addl $-0x30, %eax
shrl %eax
movl $0x8, %ecx
subl %eax, %ecx
cmpl $0x3, %ecx
movl $0x2, %eax
cmovgel %ecx, %eax
leaq 0x584c7(%rip), %r14     # 0x77408
movb %al, 0x488(%r14)
imull $-0x19, %eax, %ebp
leal (%rax,%rax,8), %r13d
shrl %r13d
xorl %eax, %eax
movl %eax, 0x484(%r14)
xorl %eax, %eax
leal 0x140(%rbp), %r15d
movl $0x15e, %ecx            # imm = 0x15E
subl %r13d, %ecx
subq $0x8, %rsp
movabsq $0x6d61472079616c50, %r8 # imm = 0x6D61472079616C50
movabsq $0x600000000000065, %r9 # imm = 0x600000000000065
xorps %xmm0, %xmm0
movq %r14, %rdi
movq 0x10(%rsp), %rbx
movq %rbx, %rsi
movl %r15d, %edx
pushq %rax
callq 0x1e19a
addq $0x10, %rsp
movl $0x15d, %r12d           # imm = 0x15D
subl %r13d, %r12d
addl $0x141, %ebp            # imm = 0x141
subq $0x8, %rsp
xorps %xmm0, %xmm0
movq %r14, %rdi
movq %rbx, %rsi
movl %ebp, %edx
movl %r12d, %ecx
movabsq $0x6d61472079616c50, %rbp # imm = 0x6D61472079616C50
movq %rbp, %r8
movabsq $0x600000000000065, %r13 # imm = 0x600000000000065
movq %r13, %r9
xorl %eax, %eax
pushq %rax
callq 0x1e19a
addq $0x10, %rsp
movl $0xffffff, 0x484(%r14) # imm = 0xFFFFFF
subq $0x8, %rsp
xorps %xmm0, %xmm0
movq %r14, %rdi
movq %rbx, %rsi
movl %r15d, %edx
movl %r12d, %ecx
movq 0x8(%rsp), %r15
movq %rbp, %r8
movq %r13, %r9
xorl %eax, %eax
pushq %rax
callq 0x1e19a
addq $0x10, %rsp
movl 0x60(%r15), %eax
cmpl $0x3d, %eax
jl 0x1f22c
leaq 0x583d9(%rip), %r14     # 0x77408
movb $0x1, 0x488(%r14)
subq $0x8, %rsp
xorl %ebx, %ebx
movabsq $0x32206c6f6279656b, %r8 # imm = 0x32206C6F6279656B
movabsq $0x400000000303130, %r9 # imm = 0x400000000303130
xorps %xmm0, %xmm0
movq %r14, %rdi
movq 0x10(%rsp), %r12
movq %r12, %rsi
movl $0xc6, %edx
movl $0xc4, %ecx
pushq %rbx
callq 0x1e19a
addq $0x8, %rsp
leaq 0x12ede(%rip), %r8      # 0x31f58
movabsq $-0xfffffefffffff0, %r9 # imm = 0xFF00000100000010
xorps %xmm0, %xmm0
movq %r14, %rdi
movq %r12, %rsi
movl $0x15e, %edx            # imm = 0x15E
movl $0xc4, %ecx
pushq %rbx
callq 0x1e19a
addq $0x10, %rsp
movl $0xffffff11, %eax       # imm = 0xFFFFFF11
movq 0x130(%rsp), %rcx
addl (%rcx), %eax
cmpl $0xa6, %eax
movl $0x1, %ebp
ja 0x1f237
movl $0xfffffeca, %eax       # imm = 0xFFFFFECA
addl 0xc(%r15), %eax
cmpl $0x4d, %eax
ja 0x1f237
leaq 0x27117(%rip), %rcx     # 0x461f0
movq 0x8(%rsp), %rdi
movl $0x101, %esi            # imm = 0x101
movl $0x158, %edx            # imm = 0x158
callq 0xbb06
jmp 0x1f237
movq (%rsp), %rbx
movq %rbx, %rdi
callq 0x224aa
movb 0x20(%rbx), %al
testb $0x4, %al
je 0x20e8f
movq (%rsp), %rcx
movl 0x64(%rcx), %ecx
cmpl $-0x1, %ecx
je 0x20e60
cmpl $0x64, %ecx
jl 0x20e64
leal (%rcx,%rcx,4), %ecx
leal -0x3df(,%rcx,2), %ecx
jmp 0x20e88
testb %r14b, %r14b
movq 0x130(%rsp), %rcx
je 0x1f1b4
movq (%rsp), %rax
cmpb $0x0, 0x21(%rax)
jne 0x1f1b4
movq (%rsp), %rdx
movb 0x20(%rdx), %al
orb 0x12(%rdx), %al
jne 0x1f1b4
movq (%rsp), %rax
addq $0x14, %rax
movl (%rcx), %ecx
cmpl (%rax), %ecx
jne 0x1f16e
movq (%rsp), %rcx
movl 0xc(%rcx), %eax
cmpl 0x18(%rcx), %eax
je 0x1f17b
movq (%rsp), %rax
cmpl $0x10, 0x24ac8(%rax)
jne 0x1f1b4
movq (%rsp), %rax
cmpl $0x2, 0x48(%rax)
jne 0x1f1b4
movq (%rsp), %rax
cmpb $0x0, 0x1d534(%rax)
jne 0x1f1b4
movq (%rsp), %rax
cmpl $0x0, 0x24ac4(%rax)
je 0x221f4
movq (%rsp), %rax
cmpl $0x10, 0x24ac8(%rax)
je 0x221f4
movq (%rsp), %rbx
movb 0x20(%rbx), %al
orb 0x12(%rbx), %al
setne 0x21(%rbx)
movq %rbx, %rdi
callq 0x224aa
cmpl $0x0, 0x24ac4(%rbx)
je 0x1f217
movq (%rsp), %rax
movb 0x20(%rax), %al
testb $0x50, %al
je 0x1f207
movq (%rsp), %rsi
cmpl $0x12, 0x24ac8(%rsi)
movl $0x12, %ecx
movl $0x1e, %edx
cmovll %ecx, %edx
movl %edx, 0x24ac8(%rsi)
shrb $0x4, %al
andb $0x1, %al
movb %al, 0x24acc(%rsi)
movq (%rsp), %rax
movq $-0x1, 0x8(%rax)
movb $0x0, 0x20(%rax)
movq (%rsp), %rax
movl 0x48(%rax), %eax
cmpl $0x1, %eax
jne 0x1f293
leaq 0x26f06(%rip), %rcx     # 0x46130
jmp 0x1f29a
incl %eax
movl %eax, 0x60(%r15)
movl $0x1, %ebp
leaq 0x581ca(%rip), %rax     # 0x77408
movb $0x2, 0x488(%rax)
movb 0x20(%r15), %al
testb $0x10, %al
je 0x1f25f
xorl %ecx, %ecx
movl %ecx, 0x48(%r15)
movl $0x2, 0x40(%r15)
movl %ecx, 0x64(%r15)
testb $0x40, %al
movq 0x8(%rsp), %rsi
je 0x1f280
movl $0x0, 0x48(%r15)
movl $0x2, 0x40(%r15)
movl $0xffffffff, 0x64(%r15) # imm = 0xFFFFFFFF
addq $0x50, %r15
movq %r15, %rdi
xorl %edx, %edx
callq 0x225c0
jmp 0x222fb
leaq 0x26ede(%rip), %rcx     # 0x46178
movq %rcx, 0xc0(%rsp)
movq (%rsp), %rcx
movl 0x68(%rcx), %edx
testl %eax, %eax
jne 0x1f2bc
leaq 0x26e4c(%rip), %rax     # 0x46100
movq %rax, 0xc0(%rsp)
movq (%rsp), %rcx
leaq 0x68(%rcx), %r14
shll $0x3, %edx
movq %rdx, 0xe8(%rsp)
leal (%rdx,%rdx,2), %eax
movl %eax, 0xd4(%rsp)
movl $0x144, %eax            # imm = 0x144
movq %rax, 0xb8(%rsp)
movl 0x6c(%rcx), %eax
leal (,%rax,8), %ecx
movq %rcx, 0x138(%rsp)
leal (%rcx,%rcx,2), %edx
movl $0xf4, %ecx
movl %edx, 0x140(%rsp)
subl %edx, %ecx
movq %rcx, 0xd8(%rsp)
testl %eax, %eax
movq %r14, 0x38(%rsp)
jle 0x1fdd1
movq (%rsp), %rax
addq $0x74, %rax
movq %rax, 0x98(%rsp)
movq 0xe8(%rsp), %rax
leal (%rax,%rax,2), %eax
movl $0x13c, %ecx            # imm = 0x13C
subl %eax, %ecx
movl %ecx, 0xa0(%rsp)
movq $0x0, 0x68(%rsp)
cmpl $0x0, (%r14)
jle 0x1fda7
movq 0x68(%rsp), %rax
leal (%rax,%rax,2), %eax
shll $0x4, %eax
movq 0xd8(%rsp), %rcx
leal (%rax,%rcx), %edx
addl $0x14, %edx
movq %rdx, 0x58(%rsp)
leal (%rax,%rcx), %edx
addl $0x28, %edx
movq %rdx, 0x80(%rsp)
movl %eax, %edx
addl %ecx, %edx
movl 0xa0(%rsp), %eax
movl %eax, %r15d
movq 0x98(%rsp), %rbp
xorl %r13d, %r13d
movq %rdx, 0x10(%rsp)
movq %r14, %r12
leal 0x8(%r15), %r14d
cmpb $0x0, (%rbp)
js 0x1fd6d
movb 0x8(%rbp), %r9b
movb 0x9(%rbp), %bl
cmpb $0x3, %r9b
sete %cl
cmpb $0x3, %bl
sete %dl
movb 0xa(%rbp), %al
cmpb $0x3, %al
sete %sil
movb 0xb(%rbp), %r8b
cmpb $0x3, %r8b
sete %dil
orb %cl, %dl
orb %sil, %dil
orb %dl, %dil
cmpb $0x1, %dil
jne 0x1f418
movl %r8d, %ecx
xorb $0x3, %cl
movl %r9d, %edx
xorb $0x3, %dl
orb %cl, %dl
movq %r14, 0x18(%rsp)
movl %r8d, %r11d
jne 0x1f437
movzwl 0x4be(%rbp), %ecx
cmpw 0x2(%rbp), %cx
sete %cl
movl %ecx, 0x50(%rsp)
jmp 0x1f43f
movq 0x8(%rsp), %rdi
movl %r14d, %esi
movq 0x10(%rsp), %rdx
movq 0xc0(%rsp), %rcx
callq 0xbb06
jmp 0x1fd6d
movl $0x0, 0x50(%rsp)
movq (%rsp), %rcx
movl 0x48(%rcx), %ecx
leaq 0x26d2b(%rip), %r14     # 0x46178
cmpl $0x1, %ecx
jne 0x1f459
leaq 0x26cd7(%rip), %r14     # 0x46130
movb %r9b, 0x88(%rsp)
testl %ecx, %ecx
jne 0x1f46c
leaq 0x26c94(%rip), %r14     # 0x46100
movq %r13, 0xb0(%rsp)
xorl %r12d, %r12d
xorl %esi, %esi
cmpl $0x2, %ecx
setne %r12b
sete %sil
leal 0x3(,%rsi,2), %r10d
leal 0x4(,%rsi,2), %r9d
addl %esi, %esi
leal 0x6(,%rsi,2), %ecx
movl $0x28, %edx
subl %ecx, %edx
leal 0x8(,%rsi,2), %ecx
movl $0x28, %esi
subl %ecx, %esi
movl (%r14), %ecx
movl %ecx, 0xf0(%rsp)
movl 0x4(%r14), %ecx
movl %ecx, 0xf4(%rsp)
movl 0x8(%r14), %ecx
movl %ecx, 0xf8(%rsp)
movl 0xc(%r14), %edi
movl %edi, 0xfc(%rsp)
addl %ecx, %ecx
movl $0x157fff8, %r8d        # imm = 0x157FFF8
shrl %cl, %r8d
andl $0x3, %r8d
incl %r8d
imull %r10d, %r8d
imull %r9d, %edi
addl %r8d, %edi
addq 0x10(%r14), %rdi
movq %r12, 0xc8(%rsp)
leal -0x6(,%r12,2), %ecx
movq %rcx, 0x90(%rsp)
movq %rdi, 0x100(%rsp)
movl %edx, 0xf0(%rsp)
movl %esi, 0xf4(%rsp)
cmpb $0x3, %al
movb %r11b, 0x40(%rsp)
movq %r9, 0x28(%rsp)
movb %bl, 0x60(%rsp)
movq %r10, 0x48(%rsp)
jne 0x1f695
cmpb $0x3, %bl
movl %r9d, %edx
movl $0x0, %eax
cmovel %eax, %edx
movl $0x14, %r8d
subl %edx, %r8d
addl 0x10(%rsp), %edx
movq %r9, %r12
movq 0x8(%rsp), %r13
movq %r13, %rdi
movq 0x18(%rsp), %rsi
movl $0x14, %ecx
leaq 0xf0(%rsp), %r9
pushq %rdx
pushq %rsi
callq 0xc304
addq $0x10, %rsp
cmpb $0x3, %bl
je 0x1f609
movl (%r14), %eax
movl %eax, 0x1a0(%rsp)
movl 0x4(%r14), %eax
movl %eax, 0x1a4(%rsp)
movl 0x8(%r14), %ecx
movl %ecx, 0x1a8(%rsp)
movl 0xc(%r14), %eax
movl %eax, 0x1ac(%rsp)
addl %ecx, %ecx
movl $0x157fff8, %eax        # imm = 0x157FFF8
shrl %cl, %eax
movq 0x10(%r14), %rcx
andl $0x3, %eax
addl %eax, %eax
leal (%rax,%rax,2), %eax
addq %rcx, %rax
addq $0x6, %rax
movq %rax, 0x1b0(%rsp)
movl $0x1c, 0x1a0(%rsp)
movl %r12d, 0x1a4(%rsp)
movq %r13, %rdi
movl %r15d, %esi
movq 0x10(%rsp), %rdx
leaq 0x1a0(%rsp), %rcx
callq 0xbb06
movl $0x14, %r8d
subl %r12d, %r8d
movb 0x40(%rsp), %bl
cmpb $0x3, %bl
movl $0x1c, %eax
cmovel %eax, %r8d
movq %r13, %rdi
movq 0x18(%rsp), %rsi
movq 0x58(%rsp), %rdx
movl $0x14, %ecx
leaq 0xf0(%rsp), %r9
pushq %rdx
pushq %rsi
callq 0xc304
addq $0x10, %rsp
cmpb $0x3, %bl
movq %r12, %r13
movl %ebx, %r12d
je 0x1f953
movq 0x80(%rsp), %rax
movq 0x90(%rsp), %rcx
leal (%rcx,%rax), %edx
movl $0x28, %r9d
subl %r13d, %r9d
movq 0x8(%rsp), %rdi
movl %r15d, %esi
movq %r14, %rcx
movl $0x6, %r8d
pushq %r13
pushq $0x1c
callq 0xcda4
addq $0x10, %rsp
jmp 0x1f953
xorl %r12d, %r12d
xorl %eax, %eax
cmpb $0x3, %bl
sete %r12b
setne %al
movq %r15, 0x78(%rsp)
leal 0x8(%r10,%r15), %esi
movl %r9d, %edx
movl $0x0, %ecx
cmovel %ecx, %edx
movl $0x0, %r13d
movl $0x6, %ecx
cmovel %ecx, %r13d
movl $0x14, %r9d
subl %r10d, %r9d
movl %r9d, 0x24(%rsp)
movl $0x14, %r8d
subl %edx, %r8d
movq 0x10(%rsp), %rcx
addl %ecx, %edx
leal (%rcx,%rax,8), %eax
addl $-0x8, %eax
movl %eax, 0x70(%rsp)
movq 0x8(%rsp), %rbx
movq %rbx, %rdi
movl %r9d, %ecx
leaq 0xf0(%rsp), %r9
pushq %rdx
movq %rsi, 0x38(%rsp)
pushq %rsi
movq %r10, %r15
callq 0xc304
addq $0x10, %rsp
leal 0x14(,%r12,8), %eax
leaq 0x1a0(%rsp), %r12
movl (%r14), %ecx
movl %ecx, 0x1a0(%rsp)
movl 0x4(%r14), %ecx
movl %ecx, 0x1a4(%rsp)
movl 0x8(%r14), %ecx
movl %ecx, 0x1a8(%rsp)
movl 0xc(%r14), %ecx
imull %ecx, %r13d
addq 0x10(%r14), %r13
movl %ecx, 0x1ac(%rsp)
movq %r13, 0x1b0(%rsp)
movl %r15d, 0x1a0(%rsp)
movl %eax, 0x1a4(%rsp)
movq %rbx, %rdi
movq 0x18(%rsp), %rsi
movl 0x70(%rsp), %edx
movq %r12, %rcx
callq 0xbb06
cmpb $0x3, 0x60(%rsp)
je 0x1f803
movl (%r14), %eax
movl %eax, 0x1a0(%rsp)
movl 0x4(%r14), %eax
movl %eax, 0x1a4(%rsp)
movl 0x8(%r14), %ecx
movl %ecx, 0x1a8(%rsp)
movl 0xc(%r14), %eax
addl %ecx, %ecx
movl $0x157fff8, %edx        # imm = 0x157FFF8
shrl %cl, %edx
andl $0x3, %edx
incl %edx
imull 0x48(%rsp), %edx
addq 0x10(%r14), %rdx
movl %eax, 0x1ac(%rsp)
movq %rdx, 0x1b0(%rsp)
movl 0x24(%rsp), %eax
movl %eax, 0x1a0(%rsp)
movq 0x28(%rsp), %rax
movl %eax, 0x1a4(%rsp)
movq 0x8(%rsp), %rdi
movq 0x30(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %r12, %rcx
callq 0xbb06
movl $0x14, %r13d
subl 0x28(%rsp), %r13d
cmpb $0x3, 0x40(%rsp)
movl $0x1c, %eax
cmovel %eax, %r13d
movl $0x14, %r12d
movl $0xa, %eax
cmovel %eax, %r12d
movq 0x8(%rsp), %r15
movq %r15, %rdi
movq 0x30(%rsp), %rsi
movq 0x58(%rsp), %rbx
movl %ebx, %edx
movl 0x24(%rsp), %ecx
movl %r13d, %r8d
leaq 0xf0(%rsp), %r9
pushq %rbx
pushq %rsi
callq 0xc304
addq $0x10, %rsp
movl (%r14), %eax
movl %eax, 0x1a0(%rsp)
movl 0x4(%r14), %eax
movl %eax, 0x1a4(%rsp)
movl 0x8(%r14), %eax
movl %eax, 0x1a8(%rsp)
movl 0xc(%r14), %eax
imull %eax, %r12d
addq 0x10(%r14), %r12
movl %eax, 0x1ac(%rsp)
movq %r12, 0x1b0(%rsp)
leaq 0x1a0(%rsp), %rcx
movb 0x40(%rsp), %r12b
movq 0x48(%rsp), %rax
movl %eax, 0x1a0(%rsp)
movl %r13d, 0x1a4(%rsp)
movq %r15, %rdi
movq 0x18(%rsp), %rsi
movl %ebx, %edx
callq 0xbb06
cmpb $0x3, %r12b
movq 0x28(%rsp), %r13
movq 0x78(%rsp), %r15
je 0x1f953
movq 0x80(%rsp), %rax
movq 0x90(%rsp), %rcx
leal (%rcx,%rax), %edx
movl $0x28, %eax
subl %r13d, %eax
movl (%r14), %ecx
movl %ecx, 0x1a0(%rsp)
movl 0x4(%r14), %ecx
movl %ecx, 0x1a4(%rsp)
movl 0x8(%r14), %ecx
movl %ecx, 0x1a8(%rsp)
movl 0xc(%r14), %ecx
imull %ecx, %eax
addq 0x10(%r14), %rax
movl %ecx, 0x1ac(%rsp)
movq %rax, 0x1b0(%rsp)
movl $0x14, 0x1a0(%rsp)
movl %r13d, 0x1a4(%rsp)
movq 0x8(%rsp), %rdi
movq 0x18(%rsp), %rsi
leaq 0x1a0(%rsp), %rcx
callq 0xbb06
leal 0x1c(%r15), %r10d
movb 0x60(%rsp), %bl
cmpb $0x3, %bl
movl %r13d, %eax
movl $0x0, %ecx
cmovel %ecx, %eax
movq 0x10(%rsp), %rcx
leal (%rax,%rcx), %edx
cmpb $0x3, 0x88(%rsp)
movq %r10, 0x30(%rsp)
jne 0x1fa6e
movl $0x14, %r8d
subl %eax, %r8d
movq 0x8(%rsp), %rdi
movl %r10d, %esi
movl $0x1c, %ecx
leaq 0xf0(%rsp), %r9
pushq %rdx
pushq %r10
callq 0xc304
addq $0x10, %rsp
cmpb $0x3, %bl
movq 0xb0(%rsp), %r13
je 0x1fa41
movl (%r14), %eax
movl %eax, 0x1a0(%rsp)
movl 0x4(%r14), %eax
movl %eax, 0x1a4(%rsp)
movl 0x8(%r14), %ecx
movl %ecx, 0x1a8(%rsp)
movl 0xc(%r14), %eax
movl %eax, 0x1ac(%rsp)
addl %ecx, %ecx
movl $0x157fff8, %eax        # imm = 0x157FFF8
shrl %cl, %eax
movq 0x10(%r14), %rcx
andl $0x3, %eax
addl %eax, %eax
leal (%rax,%rax,2), %eax
addq %rcx, %rax
addq $0x6, %rax
movq %rax, 0x1b0(%rsp)
movl $0x1c, 0x1a0(%rsp)
movq 0x28(%rsp), %rax
movl %eax, 0x1a4(%rsp)
movq 0x8(%rsp), %rdi
movq 0x30(%rsp), %rsi
movq 0x10(%rsp), %rdx
leaq 0x1a0(%rsp), %rcx
callq 0xbb06
cmpb $0x0, 0x50(%rsp)
je 0x1fcb3
movl $0x14, %r8d
subl 0x28(%rsp), %r8d
cmpb $0x3, %r12b
movl $0x1c, %eax
cmovel %eax, %r8d
movq 0x30(%rsp), %rbx
jmp 0x1fd00
movq 0xc8(%rsp), %rax
leal -0x5(,%rax,2), %eax
movl $0x14, %ecx
movq %r14, 0xa8(%rsp)
movq 0x48(%rsp), %r14
subl %r14d, %ecx
movl $0x14, %r8d
subl %r13d, %r8d
xorl %r13d, %r13d
xorl %edi, %edi
cmpb $0x3, %bl
sete %r13b
movl %r8d, 0xc8(%rsp)
movl $0x1c, %esi
cmovel %esi, %r8d
setne %dil
leal 0x30(%rax,%r15), %eax
movl %eax, 0x50(%rsp)
movq 0x10(%rsp), %rax
leal -0x8(%rax,%rdi,8), %eax
movl %eax, 0x24(%rsp)
movl $0x0, %r12d
movl $0x6, %eax
cmovel %eax, %r12d
movq 0x8(%rsp), %rbx
movq %rbx, %rdi
movl %r10d, %esi
movq %rcx, 0x88(%rsp)
leaq 0xf0(%rsp), %r9
pushq %rdx
pushq %r10
callq 0xc304
addq $0x10, %rsp
movl $0x28, %r8d
subl %r14d, %r8d
leal 0x14(,%r13,8), %eax
movq %rbx, %rdi
movl 0x50(%rsp), %esi
movl 0x24(%rsp), %edx
movq 0xa8(%rsp), %rcx
movl %r8d, 0x24(%rsp)
movl %r12d, %r9d
pushq %rax
pushq %r14
movq 0xb8(%rsp), %rbx
callq 0xcda4
addq $0x10, %rsp
cmpb $0x3, 0x60(%rsp)
je 0x1fbd6
movl (%rbx), %eax
movl %eax, 0x1a0(%rsp)
movl 0x4(%rbx), %eax
movl %eax, 0x1a4(%rsp)
movl 0x8(%rbx), %ecx
movl %ecx, 0x1a8(%rsp)
movl 0xc(%rbx), %eax
movl %eax, 0x1ac(%rsp)
addl %ecx, %ecx
movl $0x157fff8, %eax        # imm = 0x157FFF8
shrl %cl, %eax
movq 0x10(%rbx), %rcx
andl $0x3, %eax
shll $0x2, %eax
leal (%rax,%rax,4), %eax
addq %rcx, %rax
addq $0x14, %rax
movq %rax, 0x1b0(%rsp)
movq 0x88(%rsp), %rax
movl %eax, 0x1a0(%rsp)
movq 0x28(%rsp), %rax
movl %eax, 0x1a4(%rsp)
movq 0x8(%rsp), %rdi
movq 0x30(%rsp), %rsi
movq 0x10(%rsp), %rdx
leaq 0x1a0(%rsp), %rcx
callq 0xbb06
xorl %r13d, %r13d
cmpb $0x3, 0x40(%rsp)
sete %r13b
movl $0x1c, %eax
movl 0xc8(%rsp), %r8d
cmovel %eax, %r8d
movl $0x14, %r12d
movl $0xa, %eax
cmovel %eax, %r12d
movq 0x8(%rsp), %r14
movq %r14, %rdi
movq 0x30(%rsp), %rsi
movq 0x58(%rsp), %rbx
movl %ebx, %edx
movq 0x88(%rsp), %rcx
leaq 0xf0(%rsp), %r9
pushq %rbx
pushq %rsi
callq 0xc304
addq $0x10, %rsp
leal 0x14(,%r13,8), %eax
movq %r14, %rdi
movl 0x50(%rsp), %esi
movl %ebx, %edx
movq 0xa8(%rsp), %rbx
movq %rbx, %rcx
movl 0x24(%rsp), %r8d
movl %r12d, %r9d
pushq %rax
pushq 0x50(%rsp)
callq 0xcda4
addq $0x10, %rsp
cmpb $0x3, 0x40(%rsp)
movq 0xb0(%rsp), %r13
je 0x1fd63
movq 0x90(%rsp), %rdx
addl 0x80(%rsp), %edx
movl $0x28, %r9d
movq 0x28(%rsp), %rax
subl %eax, %r9d
movq 0x8(%rsp), %rdi
movq 0x30(%rsp), %rsi
movq %rbx, %rcx
movl $0x14, %r8d
pushq %rax
pushq 0x90(%rsp)
jmp 0x1fd5a
movq 0x28(%rsp), %rax
cmpb $0x3, %r12b
movq 0x30(%rsp), %rbx
jne 0x1fcf7
movq 0x8(%rsp), %rdi
movl %ebx, %esi
movq 0x80(%rsp), %rdx
movl $0x14, %ecx
movl $0x8, %r8d
leaq 0xf0(%rsp), %r9
pushq %rdx
pushq %rbx
callq 0xc304
movq 0x40(%rsp), %rbx
addq $0x10, %rsp
xorl %eax, %eax
movl $0x14, %r8d
subl %eax, %r8d
movq 0x8(%rsp), %rdi
movl %ebx, %esi
movq 0x58(%rsp), %rdx
movl $0x1c, %ecx
leaq 0xf0(%rsp), %r9
pushq %rdx
pushq %rbx
callq 0xc304
addq $0x10, %rsp
cmpb $0x3, %r12b
je 0x1fd63
movq 0x90(%rsp), %rdx
addl 0x80(%rsp), %edx
movl $0x28, %r9d
movq 0x28(%rsp), %rax
subl %eax, %r9d
movq 0x8(%rsp), %rdi
movl %ebx, %esi
movq %r14, %rcx
movl $0x6, %r8d
pushq %rax
pushq $0x1c
callq 0xcda4
addq $0x10, %rsp
movq 0x38(%rsp), %r12
movq 0x18(%rsp), %r14
cmpb $-0x2, (%rbp)
jne 0x1fd8c
movq 0x8(%rsp), %rdi
movl %r14d, %esi
movq 0x10(%rsp), %rdx
leaq 0x264f9(%rip), %rcx     # 0x46280
callq 0xbb06
incq %r13
movq %r12, %r14
movslq (%r12), %rax
addq $0xc, %rbp
addl $0x30, %r15d
cmpq %rax, %r13
jl 0x1f3a4
movq 0x68(%rsp), %rdx
incq %rdx
movq (%rsp), %rax
movslq 0x6c(%rax), %rax
addq $0x4b0, 0x98(%rsp) # imm = 0x4B0
movq %rdx, 0x68(%rsp)
cmpq %rax, %rdx
jl 0x1f350
movq 0xb8(%rsp), %rax
subl 0xd4(%rsp), %eax
movq %rax, 0xb8(%rsp)
movq (%rsp), %rax
movl 0x6c(%rax), %eax
testl %eax, %eax
movq 0x8(%rsp), %r13
jle 0x20c58
movq (%rsp), %rax
leaq 0x74(%rax), %r15
movslq 0xb8(%rsp), %rax
movq %rax, 0xc0(%rsp)
movslq 0xd8(%rsp), %rax
movq %rax, 0x178(%rsp)
movq 0xe8(%rsp), %rax
leal (%rax,%rax,2), %eax
movl $0x140, %ecx            # imm = 0x140
subl %eax, %ecx
movslq %ecx, %rax
leaq 0x10(,%rax,4), %rcx
movq %rcx, 0x170(%rsp)
movq 0x138(%rsp), %rcx
leal (%rcx,%rcx,2), %ecx
movl $0xf0, %edx
subl %ecx, %edx
movslq %edx, %rcx
leaq 0x18(,%rcx,4), %rdx
movq %rdx, 0x158(%rsp)
leaq 0x10(,%rcx,4), %rcx
movq %rcx, 0xa0(%rsp)
leaq 0x18(,%rax,4), %rcx
movq %rcx, 0x168(%rsp)
leaq 0xa4(,%rax,4), %rax
movq %rax, 0x160(%rsp)
movl $0xc0, %edi
movq $0x0, 0x48(%rsp)
movq %r15, 0x58(%rsp)
cmpl $0x0, (%r14)
jle 0x20c2a
movq 0x48(%rsp), %rax
leaq (%rax,%rax,2), %rcx
shlq $0x4, %rcx
addq 0x178(%rsp), %rcx
imulq $0x64, %rax, %rax
movq %rax, 0xc8(%rsp)
leal 0x25(%rcx), %eax
movl %eax, 0x24(%rsp)
leal 0xc(%rcx), %eax
movl %eax, 0x80(%rsp)
leal 0xd(%rcx), %eax
movl %eax, 0xe8(%rsp)
leal 0x6(%rcx), %eax
movl %eax, 0x138(%rsp)
movq %rcx, 0x50(%rsp)
leal 0x18(%rcx), %eax
movl %eax, 0x144(%rsp)
movq 0x160(%rsp), %rdx
movq 0x168(%rsp), %r12
movq 0x170(%rsp), %r8
xorl %esi, %esi
leaq (%rsi,%rsi,2), %rbx
imulq $0x4b0, 0x48(%rsp), %rcx # imm = 0x4B0
addq %r15, %rcx
movsbl (%rcx,%rbx,4), %eax
testl %eax, %eax
js 0x20c12
movq %r8, 0x28(%rsp)
movq %rdx, 0x40(%rsp)
leaq (%rcx,%rbx,4), %rbp
shlq $0x4, %rbx
addq 0xc0(%rsp), %rbx
movb 0x8(%rbp), %dil
movb 0x9(%rbp), %r11b
movb 0xa(%rbp), %r8b
movb 0xb(%rbp), %r10b
movswq 0x2(%rbp), %rcx
movq 0xc8(%rsp), %rdx
addq %rsi, %rdx
cmpb $0x50, %al
movq %r12, 0x60(%rsp)
movq %rsi, 0x30(%rsp)
movb %dil, 0xa8(%rsp)
movb %r8b, 0x88(%rsp)
jl 0x20359
cmpq %rcx, %rdx
jne 0x20359
leaq 0x26136(%rip), %rsi     # 0x460e8
movl 0x8(%rsi), %ecx
movl %ecx, 0x1a8(%rsp)
addl %ecx, %ecx
movl $0x157fff8, %edx        # imm = 0x157FFF8
shrl %cl, %edx
addl $-0x50, %eax
movl 0xc(%rsi), %ecx
andl $0x3, %edx
incl %edx
imull %eax, %edx
shll $0x6, %edx
addq 0x10(%rsi), %rdx
movl %ecx, 0x1ac(%rsp)
movq %rdx, 0x1b0(%rsp)
movabsq $0x4000000040, %rax     # imm = 0x4000000040
movq %rax, 0x1a0(%rsp)
movl $0xc, %eax
leal (%rbx,%rax), %esi
movq %r13, %rdi
movl 0x80(%rsp), %edx
leaq 0x1a0(%rsp), %rcx
movb %r10b, 0xb0(%rsp)
movb %r11b, 0x90(%rsp)
callq 0xbb06
movsbl (%rbp), %eax
xorl %r14d, %r14d
cmpl $0x50, %eax
sete %r14b
movq %rbx, 0x18(%rsp)
movl $0x0, %ebx
movl $0x31, %ecx
cmovel %ecx, %ebx
movl %r14d, %edx
shll $0x4, %edx
cmpl $0x51, %eax
movl $0x3, %ecx
cmovel %ecx, %r14d
movl $0x1c, %ecx
cmovel %ecx, %ebx
cmovel %ecx, %edx
cmpl $0x52, %eax
movl $0x30, %ecx
cmovel %ecx, %ebx
movl $0x14, %ecx
cmovel %ecx, %edx
movl %eax, %ecx
andb $-0x2, %cl
cmpb $0x52, %cl
movl $0x2, %ecx
cmovel %ecx, %r14d
cmpl $0x53, %eax
movl $0x20, %ecx
cmovel %ecx, %ebx
cmovel %ecx, %edx
movq 0x50(%rsp), %rcx
movq 0x18(%rsp), %rsi
addl %esi, %ecx
movq (%rsp), %rsi
movslq 0x44(%rsi), %rsi
imulq $0x55555556, %rsi, %rsi # imm = 0x55555556
movq %rsi, %rdi
shrq $0x3f, %rdi
shrq $0x20, %rsi
addl %edi, %esi
addl %ecx, %esi
movslq %esi, %rcx
imulq $-0x77777777, %rcx, %rsi # imm = 0x88888889
shrq $0x20, %rsi
addl %ecx, %esi
movl %esi, %edi
shrl $0x1f, %edi
sarl $0x4, %esi
addl %edi, %esi
movl %esi, %edi
shll $0x5, %edi
addl %esi, %esi
subl %edi, %esi
addl %ecx, %esi
xorl %r12d, %r12d
cmpl $0xf, %esi
setge %r12b
movq %rbp, 0x10(%rsp)
movslq %esi, %rbp
imulq $-0x77777777, %rbp, %rcx # imm = 0x88888889
shrq $0x20, %rcx
addl %ebp, %ecx
movl %ecx, %esi
shrl $0x1f, %esi
sarl $0x3, %ecx
addl %esi, %ecx
leal (%rcx,%rcx,4), %ecx
leal (%rcx,%rcx,2), %ecx
subl %ecx, %ebp
addl %ebp, %ebp
movl $0x10, %ecx
cmpl %ecx, %ebp
cmovgel %ecx, %ebp
shll $0x4, %eax
leaq 0x26061(%rip), %r13     # 0x46190
movl 0x8(%r13), %ecx
movl 0xc(%r13), %esi
movl %ecx, 0x1a8(%rsp)
movl %esi, 0x1ac(%rsp)
addl %ecx, %ecx
movl $0x157fff8, %esi        # imm = 0x157FFF8
shrl %cl, %esi
movl $0xfffffb00, %ecx       # imm = 0xFFFFFB00
addl %ecx, %eax
andl $0x3, %esi
incl %esi
imull %eax, %esi
movq 0x18(%rsp), %rax
leal (%rdx,%rax), %r15d
addl $0xc, %r15d
orl 0x80(%rsp), %r14d
addq 0x10(%r13), %rsi
movq %rsi, 0x1b0(%rsp)
leal (%r14,%r12), %edx
movl %edx, 0x78(%rsp)
movl %ebp, 0x1a0(%rsp)
movl $0xc, %eax
movl %eax, 0x1a4(%rsp)
movq 0x8(%rsp), %rdi
movl %r15d, %esi
leaq 0x1a0(%rsp), %rcx
callq 0xbb06
addl %ebp, %r15d
subl %r12d, %r14d
incl %r14d
movq 0x10(%rsp), %rax
movsbl (%rax), %eax
shll $0x4, %eax
addl %ebp, %eax
addl $0xfffffb00, %eax       # imm = 0xFFFFFB00
movl $0x10, %r12d
subl %ebp, %r12d
movl 0x8(%r13), %ecx
movl 0xc(%r13), %edx
movl %ecx, 0x1a8(%rsp)
addl %ecx, %ecx
movl $0x157fff8, %esi        # imm = 0x157FFF8
shrl %cl, %esi
andl $0x3, %esi
incl %esi
imull %eax, %esi
addq 0x10(%r13), %rsi
movl %edx, 0x1ac(%rsp)
movq %rsi, 0x1b0(%rsp)
movl %r12d, 0x1a0(%rsp)
movl $0xc, %eax
movl %eax, 0x1a4(%rsp)
movq 0x8(%rsp), %rdi
movl %r15d, %esi
movl %r14d, %edx
leaq 0x1a0(%rsp), %rcx
callq 0xbb06
movq 0x18(%rsp), %rax
leal (%rbx,%rax), %r15d
addl $0xc, %r15d
movq 0x18(%rsp), %rbx
movq 0x10(%rsp), %rax
movsbl (%rax), %eax
shll $0x4, %eax
movl $0xfffffb00, %ecx       # imm = 0xFFFFFB00
addl %ecx, %eax
movl 0x8(%r13), %ecx
movl 0xc(%r13), %edx
movl %ecx, 0x1a8(%rsp)
addl %ecx, %ecx
movl $0x157fff8, %esi        # imm = 0x157FFF8
shrl %cl, %esi
andl $0x3, %esi
incl %esi
imull %eax, %esi
addq 0x10(%r13), %rsi
movl %edx, 0x1ac(%rsp)
movq %rsi, 0x1b0(%rsp)
movl %ebp, 0x1a0(%rsp)
movl $0xc, %eax
movl %eax, 0x1a4(%rsp)
movq 0x8(%rsp), %rdi
movl %r15d, %esi
movl 0x78(%rsp), %edx
leaq 0x1a0(%rsp), %rcx
callq 0xbb06
movl %ebp, %esi
addl %r15d, %esi
movq 0x60(%rsp), %r8
movq 0x58(%rsp), %r15
movq 0x10(%rsp), %rax
movsbl (%rax), %eax
shll $0x4, %eax
addl %ebp, %eax
addl $0xfffffb00, %eax       # imm = 0xFFFFFB00
leaq 0x1a0(%rsp), %r9
movq 0x10(%rsp), %rbp
movl 0x8(%r13), %ecx
movl 0xc(%r13), %edx
movl %ecx, 0x1a8(%rsp)
addl %ecx, %ecx
movl $0x157fff8, %edi        # imm = 0x157FFF8
shrl %cl, %edi
andl $0x3, %edi
incl %edi
imull %eax, %edi
addq 0x10(%r13), %rdi
movq 0x8(%rsp), %r13
movl %edx, 0x1ac(%rsp)
movq %rdi, 0x1b0(%rsp)
movl %r12d, 0x1a0(%rsp)
movq %r8, %r12
movl $0xc, %eax
movl %eax, 0x1a4(%rsp)
movq %r13, %rdi
movl %r14d, %edx
movq 0x38(%rsp), %r14
movq %r9, %rcx
callq 0xbb06
movb 0x90(%rsp), %r11b
movb 0xb0(%rsp), %r10b
jmp 0x2089a
cmpq %rcx, %rdx
jne 0x2089a
movl %r10d, %ecx
xorb $0x3, %cl
movl %edi, %edx
xorb $0x3, %dl
orb %cl, %dl
movq %rbp, 0x10(%rsp)
movb %r10b, 0xb0(%rsp)
movb %r11b, 0x90(%rsp)
jne 0x20392
movq 0x48(%rsp), %rcx
addl %esi, %ecx
testb $0x1, %cl
jne 0x20404
cmpb $0x3, %dil
je 0x20430
cmpb $0x3, %r10b
je 0x20404
movq %r13, %r10
xorl %ecx, %ecx
cmpb $0x1, %al
sete %cl
leal (%rcx,%rcx,2), %eax
addl $0x19, %eax
movq %rax, 0x98(%rsp)
xorl %eax, %eax
cmpb $0x1, 0x1(%rbp)
sete %al
leal 0x4(%rax,%rax), %eax
movq %rax, 0x68(%rsp)
movl $0x4, %ecx
movl $0x1a, 0x18(%rsp)
movl $0x3, %eax
movq %rax, 0x70(%rsp)
movl $0x12, %eax
movq %rax, 0x78(%rsp)
movl $0x12, %eax
movq %rax, 0xe0(%rsp)
movl $0x4, %edx
jmp 0x204aa
movq %r13, %r10
movl $0xd, %ecx
movl $0xa, %r9d
movl $0x43, 0x18(%rsp)
movl $0x17, %edx
movq %rdx, 0x70(%rsp)
movl $0x30, %esi
movl $0xa, %edx
jmp 0x2045a
movq %r13, %r10
movl $0x37, %r9d
movl $0x19, 0x18(%rsp)
movl $0x10, %ecx
movq %rcx, 0x70(%rsp)
movl $0x6, %esi
movl $0x6, %ecx
movl $0x10, %edx
movq %rsi, 0x78(%rsp)
leal 0x2(%rdx), %esi
cmpb $0x1, %al
cmovnel %edx, %esi
addl $0x4, %esi
cmpb $0xa, %al
cmovgel %edx, %esi
leal 0x2(%rsi), %edi
cmpb $0xb, %al
cmovnel %esi, %edi
movq %rdi, 0x98(%rsp)
movb 0x1(%rbp), %al
leal 0x2(%r9), %esi
cmpb $0x1, %al
cmovnel %r9d, %esi
addl $0x4, %esi
cmpb $0xa, %al
movq %r9, 0xe0(%rsp)
cmovgel %r9d, %esi
leal 0x2(%rsi), %edi
cmpb $0xb, %al
cmovnel %esi, %edi
movq %rdi, 0x68(%rsp)
leaq 0x56f57(%rip), %r13     # 0x77408
movb $0x1, 0x488(%r13)
movl $0xffff00, 0x484(%r13) # imm = 0xFFFF00
movabsq $-0x10000000000, %r15   # imm = 0xFFFFFF0000000000
movq 0x188(%rsp), %r8
andq %r15, %r8
orq $0x2e706f50, %r8        # imm = 0x2E706F50
addl %ebx, %edx
movq 0x50(%rsp), %r14
addl %r14d, %ecx
movabsq $0xffffffffffffff, %rbp # imm = 0xFFFFFFFFFFFFFF
movq 0x180(%rsp), %r9
andq %rbp, %r9
movabsq $0xb00000000000000, %r12 # imm = 0xB00000000000000
orq %r12, %r9
subq $0x8, %rsp
xorps %xmm0, %xmm0
movq %r13, %rdi
movq %r10, %r12
movq %r10, %rsi
movq %r8, 0x190(%rsp)
movq %r9, 0x188(%rsp)
xorl %eax, %eax
pushq %rax
callq 0x1e19a
addq $0x10, %rsp
movl $0xffffff, 0x484(%r13) # imm = 0xFFFFFF
movq 0x198(%rsp), %r8
andq %r15, %r8
orq $0x2e697242, %r8        # imm = 0x2E697242
movq 0xe0(%rsp), %rdx
addl %ebx, %edx
movl 0x18(%rsp), %ecx
addl %r14d, %ecx
movq 0x190(%rsp), %r9
andq %rbp, %r9
movabsq $0xb00000000000000, %rax # imm = 0xB00000000000000
orq %rax, %r9
movq %r13, %r15
subq $0x8, %rsp
xorps %xmm0, %xmm0
movq %r13, %rdi
movq %r12, %rsi
movq %r8, 0x1a0(%rsp)
movq %r9, 0x198(%rsp)
xorl %r13d, %r13d
pushq %r13
callq 0x1e19a
addq $0x10, %rsp
movb $0x2, 0x488(%r15)
movl %r13d, 0x484(%r15)
movq 0x98(%rsp), %r13
movq %rbx, 0x18(%rsp)
leal (%rbx,%r13), %eax
incl %eax
movl %eax, 0xe0(%rsp)
movq 0x70(%rsp), %rbx
addl %r14d, %ebx
movq 0x10(%rsp), %rax
movsbq (%rax), %rsi
leaq 0x1a0(%rsp), %rdi
callq 0x1b7cf
movq 0x1a0(%rsp), %r8
movq 0x1a8(%rsp), %r9
subq $0x8, %rsp
xorps %xmm0, %xmm0
movq %r15, %rdi
movq %r12, %rsi
movl 0xe8(%rsp), %edx
movl %ebx, %ecx
xorl %eax, %eax
pushq %rax
callq 0x1e19a
addq $0x10, %rsp
cmpb $0x0, 0x1af(%rsp)
movq %r13, %r15
jns 0x2063f
movq 0x1a0(%rsp), %rdi
callq 0x3430
movq 0x18(%rsp), %r13
addl %r13d, %r15d
movq %rbx, 0x70(%rsp)
leal 0x1(%rbx), %r14d
movq 0x10(%rsp), %rbp
movsbq (%rbp), %rsi
leaq 0x1a0(%rsp), %r12
movq %r12, %rdi
callq 0x1b7cf
movq 0x1a0(%rsp), %r8
movq 0x1a8(%rsp), %r9
subq $0x8, %rsp
xorps %xmm0, %xmm0
leaq 0x56d80(%rip), %rdi     # 0x77408
movq 0x10(%rsp), %rsi
movq %r15, 0xa0(%rsp)
movl %r15d, %edx
movl %r14d, %ecx
pushq $0x0
callq 0x1e19a
addq $0x10, %rsp
cmpb $0x0, 0x1af(%rsp)
movq %r13, %rbx
movq %r12, %r13
movq 0x68(%rsp), %r15
jns 0x206c8
movq 0x1a0(%rsp), %rdi
callq 0x3430
leal (%r15,%rbx), %r12d
incl %r12d
movq 0x78(%rsp), %r14
addl 0x50(%rsp), %r14d
movsbq 0x1(%rbp), %rsi
movq %r13, %rdi
callq 0x1b7cf
movq 0x1a0(%rsp), %r8
movq 0x1a8(%rsp), %r9
subq $0x8, %rsp
xorps %xmm0, %xmm0
leaq 0x56d04(%rip), %r13     # 0x77408
movq %r13, %rdi
movq 0x10(%rsp), %rsi
movl %r12d, %edx
movl %r14d, %ecx
pushq $0x0
callq 0x1e19a
addq $0x10, %rsp
cmpb $0x0, 0x1af(%rsp)
movq %r13, %r12
jns 0x20737
movq 0x1a0(%rsp), %rdi
callq 0x3430
addl %ebx, %r15d
movq %r15, 0x68(%rsp)
movq %r14, 0x78(%rsp)
incl %r14d
movsbq 0x1(%rbp), %rsi
leaq 0x1a0(%rsp), %r13
movq %r13, %rdi
callq 0x1b7cf
movq 0x1a0(%rsp), %r8
movq 0x1a8(%rsp), %r9
subq $0x8, %rsp
xorps %xmm0, %xmm0
movq %r12, %rdi
movq 0x10(%rsp), %r12
movq %r12, %rsi
movl %r15d, %edx
movl %r14d, %ecx
pushq $0x0
callq 0x1e19a
addq $0x10, %rsp
cmpb $0x0, 0x1af(%rsp)
movq 0x98(%rsp), %r14
leaq 0x56c62(%rip), %r15     # 0x77408
jns 0x207b5
movq 0x1a0(%rsp), %rdi
callq 0x3430
movl $0xffff00, 0x484(%r15) # imm = 0xFFFF00
movsbq (%rbp), %rsi
movq %r13, %rdi
callq 0x1b7cf
movq 0x1a0(%rsp), %r8
movq 0x1a8(%rsp), %r9
subq $0x8, %rsp
xorps %xmm0, %xmm0
movq %r15, %rdi
movq %r12, %rsi
movl %r14d, %edx
movq 0x78(%rsp), %rcx
pushq $0x0
callq 0x1e19a
addq $0x10, %rsp
cmpb $0x0, 0x1af(%rsp)
movq 0x38(%rsp), %r14
jns 0x20819
movq 0x1a0(%rsp), %rdi
callq 0x3430
movl $0xffffff, 0x484(%r15) # imm = 0xFFFFFF
movsbq 0x1(%rbp), %rsi
movq %r13, %rdi
callq 0x1b7cf
movq 0x1a0(%rsp), %r8
movq 0x1a8(%rsp), %r9
subq $0x8, %rsp
xorps %xmm0, %xmm0
movq %r15, %rdi
movq %r12, %rsi
movq 0x70(%rsp), %rdx
movq 0x80(%rsp), %rcx
pushq $0x0
callq 0x1e19a
addq $0x10, %rsp
cmpb $0x0, 0x1af(%rsp)
movq %r12, %r13
jns 0x20880
movq 0x1a0(%rsp), %rdi
callq 0x3430
movb 0xb0(%rsp), %r10b
movb 0x90(%rsp), %r11b
movq 0x60(%rsp), %r12
movq 0x58(%rsp), %r15
movzwl 0x2(%rbp), %eax
imulq $0x28f5c29, %rax, %rcx  # imm = 0x28F5C29
shrq $0x20, %rcx
imull $0x64, %ecx, %edx
subl %edx, %eax
imulq $0x4b0, %rcx, %rcx      # imm = 0x4B0
addq %r15, %rcx
leaq (%rax,%rax,2), %rdx
movb 0x1(%rcx,%rdx,4), %sil
movl $0xff0000, %eax         # imm = 0xFF0000
cmpb (%rcx,%rdx,4), %sil
movl $0xffff00, %ecx         # imm = 0xFFFF00
cmovel %ecx, %eax
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
cmovll %ecx, %eax
jl 0x20a8e
movq %r12, %r15
movq (%rsp), %rcx
movl 0x30(%rcx), %ecx
cmpl $0x8, %ecx
je 0x208f4
cmpl $0x5, %ecx
jne 0x208f9
orl $0xff000000, %eax       # imm = 0xFF000000
movb 0xa8(%rsp), %r14b
movb 0x88(%rsp), %r12b
movq (%rsp), %rcx
movl 0x34(%rcx), %edx
shrl $0x2, %edx
movq 0x38(%rcx), %rcx
cmpb $0x3, %r11b
je 0x2096e
cmpb $0x3, %r12b
movl $0x2, %edi
movq $-0xb, %rsi
cmoveq %rsi, %rdi
cmpb $0x3, %r14b
movl $0x33, %esi
movl $0x26, %r8d
cmovneq %r8, %rsi
subq %rdi, %rsi
movq 0x158(%rsp), %r8
imulq %rdx, %r8
addq 0x28(%rsp), %r8
leaq (%r8,%rdi,4), %rdi
addq %rcx, %rdi
xorl %r8d, %r8d
movl %eax, (%rdi,%r8,4)
incq %r8
cmpq %r8, %rsi
jne 0x20962
cmpb $0x3, %r10b
je 0x209d0
cmpb $0x3, %r12b
movl $0x2, %edi
movq $-0xb, %rsi
cmoveq %rsi, %rdi
cmpb $0x3, %r14b
leal (%rdx,%rdx,8), %esi
leal (%rdx,%rsi,4), %r8d
movl $0x33, %esi
movl $0x26, %r9d
cmovneq %r9, %rsi
subq %rdi, %rsi
movq 0xa0(%rsp), %r9
imulq %rdx, %r9
addq 0x28(%rsp), %r9
leaq (%r9,%rdi,4), %rdi
leaq (%rdi,%r8,4), %rdi
addq %rcx, %rdi
xorl %r8d, %r8d
movl %eax, (%rdi,%r8,4)
incq %r8
cmpq %r8, %rsi
jne 0x209c4
cmpb $0x3, %r12b
movq %r15, %r12
je 0x20a2b
cmpb $0x3, %r11b
movl $0x2, %edi
movq $-0xb, %rsi
cmoveq %rsi, %rdi
cmpb $0x3, %r10b
movl $0x33, %esi
movl $0x26, %r8d
cmovneq %r8, %rsi
subq %rdi, %rsi
movq 0xa0(%rsp), %r8
leaq (%r8,%rdi,4), %rdi
imulq %rdx, %rdi
addq %rcx, %rdi
addq %r12, %rdi
leal (,%rdx,4), %r8d
movl %eax, (%rdi)
addq %r8, %rdi
decq %rsi
jne 0x20a21
cmpb $0x3, %r14b
movq 0x38(%rsp), %r14
movq 0x58(%rsp), %r15
je 0x20a8e
cmpb $0x3, %r11b
movl $0x2, %edi
movq $-0xb, %rsi
cmoveq %rsi, %rdi
cmpb $0x3, %r10b
movl $0x33, %esi
movl $0x26, %r8d
cmovneq %r8, %rsi
subq %rdi, %rsi
movq 0xa0(%rsp), %r8
leaq (%r8,%rdi,4), %rdi
imulq %rdx, %rdi
addq 0x40(%rsp), %rcx
addq %rdi, %rcx
leal (,%rdx,4), %edx
movl %eax, (%rcx)
addq %rdx, %rcx
decq %rsi
jne 0x20a84
cmpb $0x1, 0x9(%rbp)
jne 0x20ac3
movsbl 0x5(%rbp), %eax
shll $0x4, %eax
leal (%rax,%rax,2), %ecx
movl 0x24(%rsp), %edx
subl %ecx, %edx
leal (%rax,%rax,2), %r8d
addl $-0x22, %r8d
leal 0xe(%rbx), %esi
movq %r13, %rdi
movl $0xb, %ecx
leaq 0x25612(%rip), %r9      # 0x460d0
callq 0xc182
cmpb $0x2, 0x9(%rbp)
jne 0x20b46
movsbl 0x5(%rbp), %eax
shll $0x4, %eax
leal (%rax,%rax,2), %ecx
movl 0x24(%rsp), %r12d
movl %r12d, %edx
subl %ecx, %edx
leal (%rax,%rax,2), %r8d
addl $-0x22, %r8d
leal 0x6(%rbx), %esi
movq %r13, %rdi
movl $0xb, %ecx
movq %r14, %r15
movq %rbp, %r14
movq %r13, %rbp
leaq 0x255d0(%rip), %r13     # 0x460d0
movq %r13, %r9
callq 0xc182
movsbl 0x5(%r14), %eax
shll $0x4, %eax
leal (%rax,%rax,2), %ecx
movl %r12d, %edx
movq 0x60(%rsp), %r12
subl %ecx, %edx
leal (%rax,%rax,2), %r8d
addl $-0x22, %r8d
leal 0x18(%rbx), %esi
movq %rbp, %rdi
movl $0xb, %ecx
movq %r13, %r9
movq %rbp, %r13
movq %r14, %rbp
movq %r15, %r14
movq 0x58(%rsp), %r15
callq 0xc182
cmpb $0x1, 0xa(%rbp)
jne 0x20b7f
movsbl 0x6(%rbp), %eax
shll $0x4, %eax
leal (%rax,%rax,2), %ecx
movl %ebx, %esi
subl %ecx, %esi
addl $0x25, %esi
leal (%rax,%rax,2), %ecx
addl $-0x22, %ecx
movq %r13, %rdi
movl 0xe8(%rsp), %edx
movl $0xb, %r8d
leaq 0x2553e(%rip), %r9      # 0x460b8
callq 0xc182
cmpb $0x2, 0xa(%rbp)
jne 0x20bfe
movsbl 0x6(%rbp), %eax
shll $0x4, %eax
leal (%rax,%rax,2), %ecx
addl $0x25, %ebx
movl %ebx, %esi
subl %ecx, %esi
leal (%rax,%rax,2), %ecx
addl $-0x22, %ecx
movq %r13, %rdi
movl 0x138(%rsp), %edx
movl $0xb, %r8d
movq %r15, %r14
movq %r12, %r15
movq %r13, %r12
leaq 0x254fc(%rip), %r13     # 0x460b8
movq %r13, %r9
callq 0xc182
movsbl 0x6(%rbp), %eax
shll $0x4, %eax
leal (%rax,%rax,2), %ecx
subl %ecx, %ebx
leal (%rax,%rax,2), %ecx
addl $-0x22, %ecx
movq %r12, %rdi
movl %ebx, %esi
movl 0x144(%rsp), %edx
movl $0xb, %r8d
movq %r13, %r9
movq %r12, %r13
movq %r15, %r12
movq %r14, %r15
movq 0x38(%rsp), %r14
callq 0xc182
movq 0x30(%rsp), %rsi
movq 0x40(%rsp), %rdx
movl $0xc0, %edi
movq 0x28(%rsp), %r8
incq %rsi
movslq (%r14), %rax
addq %rdi, %r8
addq %rdi, %r12
addq %rdi, %rdx
cmpq %rax, %rsi
jl 0x1ff2a
movq 0x48(%rsp), %rdx
incq %rdx
movq (%rsp), %rax
movslq 0x6c(%rax), %rax
addq %rdi, 0x158(%rsp)
addq %rdi, 0xa0(%rsp)
movq %rdx, 0x48(%rsp)
cmpq %rax, %rdx
jl 0x1feb1
movq (%rsp), %rdx
movl 0x8(%rdx), %ecx
movl 0xc(%rdx), %esi
movb 0x20(%rdx), %dl
movl %edx, %edi
andb $0x40, %dil
shrb $0x6, %dil
leal -0x253(%rcx), %r8d
cmpl $0x2a, %r8d
setb %r8b
leal -0x1c7(%rsi), %r9d
cmpl $0x16, %r9d
setb %r9b
andb %r8b, %r9b
testb %dil, %r9b
je 0x20cce
movq (%rsp), %rdi
cmpb $0x0, 0x24a74(%rdi)
je 0x20caf
movq (%rsp), %rdi
movb $0x0, 0x24a74(%rdi)
jmp 0x20cc4
movq (%rsp), %rdi
movb $0x1, 0x24a74(%rdi)
movl $0xffffffff, 0x24a7c(%rdi) # imm = 0xFFFFFFFF
andb $-0x41, %dl
movq (%rsp), %rdi
movb %dl, 0x20(%rdi)
movq (%rsp), %rdx
cmpl 0x24a78(%rdx), %esi
jge 0x214b5
movl 0xd4(%rsp), %edx
negl %edx
subl %edx, %ecx
movl %ecx, %edx
addl $0xfffffec0, %edx       # imm = 0xFFFFFEC0
js 0x214b5
addl $0xfffffef0, %ecx       # imm = 0xFFFFFEF0
movslq %ecx, %rdx
imulq $0x2aaaaaab, %rdx, %rdx # imm = 0x2AAAAAAB
movq %rdx, %rdi
shrq $0x3f, %rdi
sarq $0x23, %rdx
leal (%rdx,%rdi), %r8d
cmpl (%r14), %r8d
jg 0x214b5
movl 0x140(%rsp), %r8d
negl %r8d
subl %r8d, %esi
movl %esi, %r8d
addl $0xffffff10, %r8d       # imm = 0xFFFFFF10
js 0x214b5
addl $0xffffff40, %esi       # imm = 0xFFFFFF40
movslq %esi, %r8
imulq $0x2aaaaaab, %r8, %r8   # imm = 0x2AAAAAAB
movq %r8, %r9
shrq $0x3f, %r9
sarq $0x23, %r8
leal (%r8,%r9), %r10d
cmpl %eax, %r10d
jg 0x214b5
leal (%rdx,%rdi), %r14d
decl %r14d
leal -0x1(%r8,%r9), %r15d
movq (%rsp), %r8
leaq 0x74(%r8), %rax
movl %r15d, %edx
movl %r14d, %edi
imulq $0x4b0, %rdx, %rdx      # imm = 0x4B0
addq %r8, %rdx
addq $0x74, %rdx
leaq (%rdi,%rdi,2), %rdi
leaq (%rdx,%rdi,4), %rdx
movl %ecx, %edi
movl $0xaaaaaaab, %r8d       # imm = 0xAAAAAAAB
imulq %r8, %rdi
shrq $0x25, %rdi
shll $0x4, %edi
leal (%rdi,%rdi,2), %edi
subl %edi, %ecx
movl %esi, %edi
imulq %r8, %rdi
shrq $0x25, %rdi
shll $0x4, %edi
leal (%rdi,%rdi,2), %edi
subl %edi, %esi
xorl %edi, %edi
cmpl $0x18, %esi
setae %dil
leal (,%rdi,4), %r8d
cmpl $0x18, %ecx
leal 0x2(,%rdi,4), %edi
cmovbl %r8d, %edi
xorl %r8d, %r8d
cmpl %ecx, %esi
setae %r8b
orl %edi, %r8d
movl $0x2f, %edi
subl %esi, %edi
xorl %esi, %esi
cmpl %edi, %ecx
setae %sil
xorl %r8d, %esi
leaq 0x1114d(%rip), %rcx     # 0x31f50
movzbl (%rsi,%rcx), %edi
movl $0x6, %ecx
movl $0x10, %ebx
movl %edi, %esi
shrl %cl, %esi
andl $0x3, %esi
cmpb $-0x1, 0x4(%rdx,%rsi)
je 0x20e2a
movb 0x8(%rdx,%rsi), %r9b
cmpb $0x3, %r9b
jne 0x20e33
testl %ecx, %ecx
jne 0x20e5b
jmp 0x21363
movb $0x1, %r8b
testb %r9b, %r9b
jne 0x2136b
cmpb $0x0, (%rdx)
jns 0x2136b
movq %rsi, %r9
xorq $0x1, %r9
cmpb $0x0, 0x8(%rdx,%r9)
je 0x2136b
addl $-0x2, %ecx
jmp 0x20e11
xorl %ecx, %ecx
jmp 0x20e88
movslq %ecx, %rdx
imulq $0x66666667, %rdx, %rdx # imm = 0x66666667
movq %rdx, %rsi
shrq $0x3f, %rsi
sarq $0x21, %rdx
addl %esi, %edx
leal (%rdx,%rdx,4), %edx
movl %ecx, %esi
subl %edx, %esi
testl %esi, %esi
jle 0x20e8f
decl %ecx
movq (%rsp), %rdx
movl %ecx, 0x64(%rdx)
testb $0x1, %al
je 0x20eff
movq (%rsp), %rcx
movl 0x64(%rcx), %ecx
cmpl $-0x1, %ecx
je 0x20ed1
movslq %ecx, %rdx
imulq $0x66666667, %rdx, %rdx # imm = 0x66666667
movq %rdx, %rsi
shrq $0x3f, %rsi
cmpl $0x63, %ecx
jg 0x20ed5
movq %rdx, %rdi
sarq $0x21, %rdi
addl %esi, %edi
leal (%rdi,%rdi,4), %edi
movl %ecx, %r8d
subl %edi, %r8d
cmpl $0x3, %r8d
jg 0x20ed5
incl %ecx
jmp 0x20ef8
xorl %ecx, %ecx
jmp 0x20ef8
sarq $0x22, %rdx
addl %esi, %edx
leal (%rdx,%rdx), %esi
leal (%rsi,%rsi,4), %esi
movl %ecx, %edi
subl %esi, %edi
cmpl $0x9, %edi
jne 0x20eff
movq (%rsp), %rsi
cmpl %ecx, 0x4c(%rsi)
jl 0x20eff
addl $0x64, %edx
movl %edx, %ecx
movq (%rsp), %rdx
movl %ecx, 0x64(%rdx)
testb $0x2, %al
je 0x20f33
movq (%rsp), %rcx
movl 0x64(%rcx), %ecx
cmpl $-0x1, %ecx
je 0x20f20
cmpl $0x64, %ecx
jl 0x20f24
leal (%rcx,%rcx,4), %ecx
leal -0x3e4(,%rcx,2), %ecx
jmp 0x20f2c
xorl %ecx, %ecx
jmp 0x20f2c
cmpl $0x5, %ecx
jl 0x20f33
addl $-0x5, %ecx
movq (%rsp), %rdx
movl %ecx, 0x64(%rdx)
testb $0x8, %al
je 0x20f86
movq (%rsp), %rcx
movl 0x64(%rcx), %ecx
cmpl $-0x1, %ecx
je 0x20f54
cmpl $0x64, %ecx
jl 0x20f58
leal (%rcx,%rcx,4), %ecx
leal -0x3da(,%rcx,2), %ecx
jmp 0x20f7f
xorl %ecx, %ecx
jmp 0x20f7f
movslq %ecx, %rdx
imulq $0x66666667, %rdx, %rdx # imm = 0x66666667
movq %rdx, %rsi
shrq $0x3f, %rsi
sarq $0x21, %rdx
addl %esi, %edx
movq (%rsp), %rsi
movl 0x4c(%rsi), %esi
decl %esi
cmpl %esi, %edx
jge 0x20f86
addl $0x5, %ecx
movq (%rsp), %rdx
movl %ecx, 0x64(%rdx)
movq (%rsp), %rcx
movl 0x64(%rcx), %edx
cmpl $0x63, %edx
jg 0x20fa6
movq (%rsp), %rcx
movl 0x4c(%rcx), %ecx
cmpl %ecx, %edx
jl 0x20fa6
decl %ecx
movq (%rsp), %rdx
movl %ecx, 0x64(%rdx)
testb $0x10, %al
je 0x20fdf
movq (%rsp), %rax
movl 0x64(%rax), %esi
cmpl $-0x1, %esi
je 0x20fdf
movq (%rsp), %rbx
movl $0x3, 0x40(%rbx)
movq %rbx, %rdi
movl $0x1, %edx
callq 0x22a28
movb $0x0, 0x24a74(%rbx)
movl $0x1e0, 0x24a78(%rbx)   # imm = 0x1E0
movq (%rsp), %rax
testb $0x20, 0x20(%rax)
je 0x21009
movq (%rsp), %rbx
movl $0x1, 0x40(%rbx)
leaq 0x50(%rbx), %rdi
movl $0x1, %esi
callq 0x223ec
movl $0x0, 0x60(%rbx)
leaq 0x563f8(%rip), %rax     # 0x77408
movl $0xffffff, 0x484(%rax)  # imm = 0xFFFFFF
leaq 0x120(%rsp), %rcx
movq (%rsp), %rax
movq %rax, (%rcx)
xorl %r15d, %r15d
xorl %r12d, %r12d
xorl %r11d, %r11d
xorl %eax, %eax
leaq 0x2513d(%rip), %r9      # 0x46178
cmpq $0x4, %r12
setae %dl
setb %r8b
jae 0x2104f
leaq 0x25111(%rip), %r9      # 0x46160
cmpq $0x2, %r12
jae 0x2105c
leaq 0x250a4(%rip), %r9      # 0x46100
movl %r15d, %ebx
andl $0x1, %ebx
movl %ebx, %esi
shll $0x5, %esi
leal (%rbx,%rbx), %r14d
subl %esi, %r14d
addl $0xb6, %r14d
addl $0x5, %ebx
imulq $0x4b, %r12, %rdi
leal 0x26(%rdi), %r13d
movl %r12d, %r10d
andl $0x1, %r10d
movl %r10d, %ecx
shll $0x5, %ecx
subl %r10d, %ecx
subl %r10d, %ecx
movl $0x96, %esi
movl %ecx, 0x60(%rsp)
subl %ecx, %esi
movq %r10, 0x48(%rsp)
imull $0x3c, %r10d, %ecx
addl $0x154, %ecx            # imm = 0x154
movb %dl, %r11b
leal 0x3(%r11), %ebp
movb %r8b, %al
leal 0x23(,%rax,2), %r10d
orl $0x4, %r11d
leal 0x22(,%rax,2), %eax
movq %rdi, 0x10(%rsp)
leal 0x1e(%rdi), %edx
movq 0x8(%rsp), %rdi
movl %edx, 0x30(%rsp)
movl %ecx, 0x40(%rsp)
movl $0x32, %r8d
pushq %rax
movq %r11, 0x30(%rsp)
pushq %r11
pushq %r10
movq %rbp, 0x50(%rsp)
pushq %rbp
callq 0xc5da
addq $0x20, %rsp
movq %r12, 0x18(%rsp)
movl %r12d, %ebp
shrl %ebp
orl $0x64, %ebp
xorl %r12d, %r12d
cmpl $0x5, %r12d
jne 0x21126
leaq 0x120(%rsp), %rdi
movl %r14d, %esi
movl %r13d, %edx
movl %ebp, %ecx
jmp 0x21138
leal (%r15,%r12), %ecx
leaq 0x120(%rsp), %rdi
movl %r14d, %esi
movl %r13d, %edx
callq 0x227c4
incl %r12d
addl $0x3c, %r14d
cmpl %r12d, %ebx
jne 0x2110e
xorl %eax, %eax
movq 0x18(%rsp), %r14
cmpq $0x4, %r14
setae %dl
movq (%rsp), %r8
movslq 0x4c(%r8), %rdi
leaq 0x1(%r14), %r13
leaq (,%r13,4), %rsi
addq %r13, %rsi
cmpq %rdi, %rsi
movq 0x8(%rsp), %rbx
jl 0x212a0
movl 0x28(%r8), %ecx
movl %ecx, 0x1a0(%rsp)
movl 0x2c(%r8), %ecx
movl %ecx, 0x1a4(%rsp)
movl 0x30(%r8), %ecx
movl %ecx, 0x1a8(%rsp)
movl 0x34(%r8), %r10d
movl %r10d, 0x1ac(%rsp)
movq 0x38(%r8), %r9
movq %r9, 0x1b0(%rsp)
leaq (%r14,%r14,4), %r11
xorl %r8d, %r8d
cmpq %rdi, %r11
movl 0x60(%rsp), %ebp
jge 0x21226
movl %edi, %r8d
subl %r11d, %r8d
imull $0x3c, %r8d, %r8d
subl %ebp, %r8d
movl $0x1d6, %r11d           # imm = 0x1D6
subl %r8d, %r11d
addl $0xaa, %r8d
movl %ecx, 0x1a8(%rsp)
addl %ecx, %ecx
movl $0x157fff8, %ebx        # imm = 0x157FFF8
shrl %cl, %ebx
movl %r10d, 0x1ac(%rsp)
andl $0x3, %ebx
incl %ebx
imull %r8d, %ebx
addq %rbx, %r9
movq 0x8(%rsp), %rbx
movq %r9, 0x1b0(%rsp)
movl %r11d, 0x1a0(%rsp)
movl $0x1e0, 0x1a4(%rsp) # imm = 0x1E0
movl %edi, %ecx
cmpq %rcx, %rsi
movl %r8d, %ecx
movl $0x280, %esi            # imm = 0x280
cmovel %esi, %ecx
cmpl $0x0, 0x48(%rsp)
cmovnel %r8d, %ecx
leaq 0x24ed2(%rip), %r9      # 0x46118
cmpq $0x4, %r14
jae 0x21253
leaq 0x24ef5(%rip), %r9      # 0x46148
movb %dl, %al
movl $0x24, %r10d
subl %eax, %r10d
xorl $0x25, %eax
addl %ecx, %ebp
movl $0x96, %esi
subl %ebp, %esi
cmpq $0x2, %r14
cmovbq 0x24d5a(%rip), %r9      # 0x45fd0
leaq 0x1a0(%rsp), %rdi
movl 0x30(%rsp), %edx
movl 0x40(%rsp), %ecx
movl $0x32, %r8d
pushq %r10
pushq 0x30(%rsp)
pushq %rax
pushq 0x50(%rsp)
callq 0xc5da
addq $0x20, %rsp
leaq 0x24569(%rip), %rax     # 0x45810
movq (%rax,%r14,8), %r14
movq %r14, %rdi
callq 0x30f0
leaq 0xf0(%rsp), %rdi
movq %r14, %rsi
movq %rax, %rdx
movl $0x1, %ecx
callq 0x5040
movq 0xf0(%rsp), %rsi
movq 0xf8(%rsp), %rdx
xorps %xmm0, %xmm0
leaq 0x56123(%rip), %r12     # 0x77408
movq %r12, %rdi
callq 0x1e118
shrl %eax
movl $0x140, %ebp            # imm = 0x140
subl %eax, %ebp
movq %r14, %rdi
callq 0x30f0
leaq 0x148(%rsp), %rdi
movq %r14, %rsi
movq %rax, %rdx
movl $0x1, %ecx
callq 0x5040
movq 0x148(%rsp), %r8
movq 0x150(%rsp), %r9
movq 0x10(%rsp), %rcx
addl $0x10, %ecx
subq $0x8, %rsp
xorps %xmm0, %xmm0
movq %r12, %rdi
movq %rbx, %rsi
movl %ebp, %edx
pushq $0x0
callq 0x1e19a
addq $0x10, %rsp
addl $0x5, %r15d
movq %r13, %r12
cmpq $0x6, %r13
jne 0x2102f
movl $0x1, %ebp
jmp 0x222fb
movl $0x13, %ebx
xorl %r8d, %r8d
testb %r8b, %r8b
je 0x214a3
cmpl $0x3, %esi
movl $0x1, %ecx
cmovnel %esi, %ecx
testl %ecx, %ecx
movl $0x2, %ebp
cmovnel %ecx, %ebp
cmpb $0x0, (%rdx)
cmovnsl %esi, %ebp
cmpl $0x1, %ebp
movq 0x8(%rsp), %rdi
jne 0x213a5
movsbl 0x5(%rdx), %ecx
subl %ecx, %r15d
movl $0x3, %ebp
cmpl $0x2, %ebp
jne 0x213b3
movsbl 0x6(%rdx), %ecx
subl %ecx, %r14d
xorl %ebp, %ebp
leal (%r14,%r14,2), %esi
shll $0x4, %esi
addl 0xb8(%rsp), %esi
leal (%r15,%r15,2), %edx
shll $0x4, %edx
addl 0xd8(%rsp), %edx
movslq %r15d, %rcx
movslq %r14d, %r9
movl %ebp, %r8d
imulq $0x4b0, %rcx, %rcx      # imm = 0x4B0
addq %rcx, %rax
leaq (%r9,%r9,2), %rcx
leaq (%rax,%rcx,4), %rax
movsbl 0x4(%r8,%rax), %eax
leal (%rax,%rax,2), %r8d
shll $0x4, %r8d
addl $-0x22, %r8d
testl %ebp, %ebp
je 0x2141c
addl $0xd, %esi
addl $0x25, %edx
xorl %eax, %eax
leaq 0x24c19(%rip), %r9      # 0x46028
movl $0xc, %ecx
pushq $0x9
pushq $0x6
pushq %rax
pushq %rax
jmp 0x2143a
addl $0x25, %esi
addl $0xe, %edx
xorl %eax, %eax
leaq 0x24be5(%rip), %r9      # 0x46010
movl %r8d, %ecx
movl $0xc, %r8d
pushq %rax
pushq %rax
pushq $0x9
pushq $0x6
callq 0xc5da
addq $0x20, %rsp
movq (%rsp), %rax
movb 0x20(%rax), %al
movl %eax, %ecx
shrb $0x6, %cl
andb $0x1, %cl
movl %eax, %edx
shrb $0x7, %dl
xorl %ebx, %ebx
cmpb %dl, %cl
je 0x214a3
testb %al, %al
jns 0x21473
movq 0x38(%rsp), %rdi
movl %r14d, %esi
movl %r15d, %edx
movl %ebp, %ecx
callq 0x23244
movq 0x38(%rsp), %r13
movq %r13, %rdi
movl %r14d, %esi
movl %r15d, %edx
movl %ebp, %ecx
callq 0x23244
movq %r13, %rdi
callq 0x23458
testb %al, %al
je 0x214a3
movq (%rsp), %rax
movq $0x1, 0x24ac4(%rax)
cmpl $0x13, %ebx
je 0x214b5
movl $0x1, %ebp
testl %ebx, %ebx
jne 0x222fb
movq (%rsp), %rax
movb 0x20(%rax), %al
testb $0x1f, %al
je 0x214ea
movq (%rsp), %rcx
cmpb $0x0, 0x24ac1(%rcx)
jne 0x214ea
movq (%rsp), %rcx
cmpb $0x0, 0x24a74(%rcx)
jne 0x214ea
movq (%rsp), %rcx
movb $0x1, 0x24ac1(%rcx)
andb $0x20, %al
movb %al, 0x20(%rcx)
movq (%rsp), %rax
movb 0x20(%rax), %al
cmpb $0x40, %al
movq 0x8(%rsp), %rbx
jb 0x21521
movq (%rsp), %rcx
movb 0x24ac0(%rcx), %cl
testb %cl, %cl
je 0x21521
decb %cl
movq (%rsp), %rdx
movb %cl, 0x24ac0(%rdx)
jne 0x21521
movq (%rsp), %rcx
movb $0x0, 0x24ac1(%rcx)
movq (%rsp), %rcx
movb 0x24ac1(%rcx), %cl
testb %cl, %cl
je 0x21540
movq (%rsp), %rdx
cmpb $0x0, 0x24a74(%rdx)
je 0x215f5
movq (%rsp), %rax
movzbl 0x24ac1(%rax), %eax
testl %eax, %eax
je 0x21591
movq (%rsp), %rdx
movl 0x24ab8(%rdx), %ecx
movl 0x24abc(%rdx), %edx
leal (%rcx,%rcx,2), %ecx
shll $0x4, %ecx
leal (%rax,%rax,4), %eax
movq 0xb8(%rsp), %rsi
leal (%rsi,%rax,2), %esi
addl %ecx, %esi
leal (%rdx,%rdx,2), %edx
shll $0x4, %edx
addl 0xd8(%rsp), %edx
leaq 0x24c1f(%rip), %rcx     # 0x461a8
movq %rbx, %rdi
callq 0xbb06
movq (%rsp), %r14
leaq 0x50(%r14), %r15
movl 0x48(%r14), %edx
movq %r15, %rdi
movq %rbx, %rsi
callq 0x225c0
cmpl $0x2, 0x48(%r14)
jne 0x215b8
leaq 0x24c82(%rip), %rcx     # 0x46238
jmp 0x215bf
leaq 0x24c61(%rip), %rcx     # 0x46220
movq %rbx, %rdi
movl $0x257, %esi            # imm = 0x257
movl $0x1cb, %edx            # imm = 0x1CB
callq 0xbb06
movq (%rsp), %rax
testb $0x20, 0x20(%rax)
je 0x21639
movq (%rsp), %rax
cmpb $0x0, 0x24a74(%rax)
je 0x21624
movq (%rsp), %rax
movb $0x0, 0x24a74(%rax)
jmp 0x21639
movq (%rsp), %rdx
movzbl 0x12(%rdx), %edx
cmpl $0x8, %edx
ja 0x21614
movl $0x116, %esi            # imm = 0x116
btl %edx, %esi
jae 0x21614
testb %al, %al
je 0x216e5
movq (%rsp), %rax
movb $0x14, 0x24ac2(%rax)
jmp 0x2170a
movq (%rsp), %rax
movb $0x1, 0x24a74(%rax)
movl $0x2, 0x24a7c(%rax)
movq (%rsp), %rcx
movl 0x24a78(%rcx), %eax
cmpb $0x1, 0x24a74(%rcx)
jne 0x2165a
movl $0xfffffffc, %ecx       # imm = 0xFFFFFFFC
cmpl $0x1b8, %eax            # imm = 0x1B8
jg 0x21666
jmp 0x21672
movl $0x4, %ecx
cmpl $0x1df, %eax            # imm = 0x1DF
jg 0x21672
addl %ecx, %eax
movq (%rsp), %rcx
movl %eax, 0x24a78(%rcx)
movq (%rsp), %rax
movl 0x24a78(%rax), %edx
cmpl $0x1df, %edx            # imm = 0x1DF
jg 0x21cf5
leaq 0x24bd9(%rip), %r9      # 0x46268
movq %rbx, %rdi
xorl %esi, %esi
movl $0x280, %ecx            # imm = 0x280
movl $0x28, %r8d
pushq $0x28
pushq $0x0
pushq $0x1e
pushq $0xa
callq 0xc5da
addq $0x20, %rsp
movq (%rsp), %rax
movb 0x20(%rax), %al
testb $0x4, %al
je 0x21907
movq (%rsp), %rcx
movl 0x24a7c(%rcx), %ecx
cmpl $-0x1, %ecx
je 0x218f4
cmpl $0x1, %ecx
jne 0x218fb
movl $0x4, %ecx
jmp 0x218fd
movq (%rsp), %rax
decb 0x24ac2(%rax)
jne 0x216ff
movq (%rsp), %rax
movb $0x3, 0x24ac2(%rax)
movb %dl, 0x20(%rax)
movq (%rsp), %rax
movb $0x1, 0x24ac0(%rax)
movq (%rsp), %rax
movb 0x20(%rax), %al
testb $0x10, %al
je 0x21772
movq (%rsp), %rdi
movslq 0x24abc(%rdi), %rsi
imulq $0x4b0, %rsi, %rsi      # imm = 0x4B0
addq %rdi, %rsi
movslq 0x24ab8(%rdi), %rdi
leaq (%rdi,%rdi,2), %rdi
cmpb $-0x1, 0x78(%rsi,%rdi,4)
jne 0x21756
leaq (%rsi,%rdi,4), %rsi
addq $0x78, %rsi
cmpb $-0x1, 0x1(%rsi)
jne 0x21756
cmpb $-0x1, 0x2(%rsi)
jne 0x21756
cmpb $-0x1, 0x3(%rsi)
je 0x21767
movb $0x3, %sil
subb %cl, %sil
movq (%rsp), %rcx
movb %sil, 0x24ac1(%rcx)
movq (%rsp), %rcx
movb $0x1, 0x24ac0(%rcx)
testb $0x10, %dl
jne 0x2181b
movq (%rsp), %rcx
cmpb $0x2, 0x24ac1(%rcx)
je 0x2181b
testb $0x1, %al
je 0x217af
movq (%rsp), %rdx
movl 0x24ab8(%rdx), %ecx
movl 0x68(%rdx), %edx
decl %edx
cmpl %edx, %ecx
jge 0x217af
incl %ecx
movq (%rsp), %rdx
movl %ecx, 0x24ab8(%rdx)
testb $0x2, %al
je 0x217cd
movq (%rsp), %rcx
movl 0x24abc(%rcx), %ecx
testl %ecx, %ecx
jle 0x217cd
decl %ecx
movq (%rsp), %rdx
movl %ecx, 0x24abc(%rdx)
testb $0x4, %al
je 0x217eb
movq (%rsp), %rcx
movl 0x24ab8(%rcx), %ecx
testl %ecx, %ecx
jle 0x217eb
decl %ecx
movq (%rsp), %rdx
movl %ecx, 0x24ab8(%rdx)
testb $0x8, %al
je 0x21540
movq (%rsp), %rcx
movl 0x24abc(%rcx), %eax
movl 0x6c(%rcx), %ecx
decl %ecx
cmpl %ecx, %eax
jge 0x21540
incl %eax
movq (%rsp), %rcx
movl %eax, 0x24abc(%rcx)
jmp 0x21540
movq (%rsp), %rax
leaq 0x74(%rax), %rbx
xorl %ebp, %ebp
movl $0x1, %r14d
movl $0x2, %r15d
xorl %eax, %eax
movq (%rsp), %rcx
movzbl 0x20(%rcx), %ecx
btl %ebp, %ecx
jae 0x218b6
movq (%rsp), %rcx
movslq 0x24ab8(%rcx), %rsi
movslq 0x24abc(%rcx), %rdx
imulq $0x4b0, %rdx, %r8       # imm = 0x4B0
addq %rbx, %r8
leaq (%rsi,%rsi,2), %r9
leaq (%r8,%r9,4), %rdi
cmpl $0x3, %ebp
movl %ebp, %ecx
cmovel %r14d, %ecx
testl %ecx, %ecx
cmovel %r15d, %ecx
cmpb $-0x1, (%r8,%r9,4)
cmovnel %ebp, %ecx
cmpb $-0x1, 0x4(%rcx,%rdi)
je 0x218ab
cmpl $0x1, %ecx
jne 0x21892
movsbl 0x5(%rdi), %eax
subl %eax, %edx
movl $0x3, %ecx
cmpl $0x2, %ecx
jne 0x2189f
movsbl 0x6(%rdi), %eax
subl %eax, %esi
xorl %ecx, %ecx
movq 0x38(%rsp), %rdi
callq 0x23244
movb $0x1, %al
movq (%rsp), %rcx
movb $0x1, 0x24ac1(%rcx)
incl %ebp
cmpl $0x4, %ebp
jne 0x21833
testb $0x1, %al
movq 0x8(%rsp), %rbx
movq 0x38(%rsp), %rdi
je 0x21540
callq 0x23458
testb %al, %al
je 0x21540
movq (%rsp), %rax
movq $0x2, 0x24ac4(%rax)
jmp 0x21540
movl $0x2, %ecx
jmp 0x218fd
decl %ecx
movq (%rsp), %rdx
movl %ecx, 0x24a7c(%rdx)
testb $0x1, %al
je 0x21939
movq (%rsp), %rax
movl 0x24a7c(%rax), %eax
cmpl $-0x1, %eax
je 0x21926
cmpl $0x4, %eax
jne 0x2192d
movl $0x1, %eax
jmp 0x2192f
movl $0x2, %eax
jmp 0x2192f
incl %eax
movq (%rsp), %rcx
movl %eax, 0x24a7c(%rcx)
movq %r15, 0x10(%rsp)
movq (%rsp), %rax
movq %rax, 0x120(%rsp)
movslq 0x24a70(%rax), %rsi
cmpq $0x63, %rsi
jg 0x21aa3
incq %rsi
leaq 0x148(%rsp), %r14
movq %r14, %rdi
callq 0x1b7cf
movq (%r14), %rsi
movq 0x8(%r14), %rax
leaq 0xf0(%rsp), %r15
movl $0x6576654c, (%r15)     # imm = 0x6576654C
movw $0x206c, 0x4(%r15)      # imm = 0x206C
movb $0x0, 0x6(%r15)
movb $0x9, 0xf(%r15)
leaq 0x1a0(%rsp), %rcx
movq %rsi, (%rcx)
movq %rax, 0x8(%rcx)
movzbl 0xf(%rcx), %edx
movq %rdx, %rdi
xorq $0xf, %rdi
testb %dl, %dl
movl %eax, %edx
cmovnsq %rcx, %rsi
cmovnsq %rdi, %rdx
movq %r15, %rdi
callq 0x19466
movq (%r15), %r12
movq 0x8(%r15), %r13
movq (%rsp), %rax
movl 0x24a78(%rax), %ebp
leal 0xa(%rbp), %ecx
leaq 0x55a2a(%rip), %r14     # 0x77408
xorl %eax, %eax
movl %eax, 0x484(%r14)
xorl %eax, %eax
subq $0x8, %rsp
xorps %xmm0, %xmm0
movq %r14, %rdi
movq 0x10(%rsp), %rbx
movq %rbx, %rsi
movl $0x10, %edx
movq %r12, %r8
movq %r13, %r9
pushq %rax
callq 0x1e19a
addq $0x10, %rsp
addl $0xb, %ebp
subq $0x8, %rsp
xorps %xmm0, %xmm0
movq %r14, %rdi
movq %rbx, %rsi
movl $0xf, %edx
movl %ebp, %ecx
movq %r12, %r8
movq %r13, %r9
xorl %eax, %eax
pushq %rax
callq 0x1e19a
addq $0x10, %rsp
movl $0xffffff, 0x484(%r14) # imm = 0xFFFFFF
subq $0x8, %rsp
xorps %xmm0, %xmm0
movq %r14, %rdi
movq %rbx, %rsi
movl $0xf, %edx
movl %ebp, %ecx
movq %r12, %r8
movq %r13, %r9
xorl %eax, %eax
pushq %rax
callq 0x1e19a
addq $0x10, %rsp
cmpb $0x0, 0xf(%r15)
jns 0x21a7e
movq 0xf0(%rsp), %rdi
callq 0x3430
cmpb $0x0, 0x157(%rsp)
movq 0x38(%rsp), %r14
jns 0x21b5d
movq 0x148(%rsp), %rdi
callq 0x3430
jmp 0x21b5d
movq (%rsp), %rax
movl 0x24a78(%rax), %r15d
leal 0xa(%r15), %ecx
leaq 0x5594f(%rip), %r12     # 0x77408
xorl %ebx, %ebx
movl %ebx, 0x484(%r12)
subq $0x8, %rsp
movabsq $0x3f3f206c6576654c, %r13 # imm = 0x3F3F206C6576654C
movabsq $0x700000000000000, %rbp # imm = 0x700000000000000
xorps %xmm0, %xmm0
movq %r12, %rdi
movq 0x10(%rsp), %r14
movq %r14, %rsi
movl $0x10, %edx
movq %r13, %r8
movq %rbp, %r9
pushq %rbx
callq 0x1e19a
addq $0x10, %rsp
addl $0xb, %r15d
subq $0x8, %rsp
xorps %xmm0, %xmm0
movq %r12, %rdi
movq %r14, %rsi
movl $0xf, %edx
movl %r15d, %ecx
movq %r13, %r8
movq %rbp, %r9
pushq %rbx
callq 0x1e19a
addq $0x10, %rsp
movl $0xffffff, 0x484(%r12) # imm = 0xFFFFFF
subq $0x8, %rsp
xorps %xmm0, %xmm0
movq %r12, %rdi
movq %r14, %rsi
movl $0xf, %edx
movl %r15d, %ecx
movq %r13, %r8
movq %rbp, %r9
pushq %rbx
callq 0x1e19a
addq $0x10, %rsp
movq 0x38(%rsp), %r14
movabsq $0x400000000303130, %r8 # imm = 0x400000000303130
addq $0x49303c, %r8          # imm = 0x49303C
leaq 0x120(%rsp), %rdi
movabsq $0x50206f7420776f48, %rcx # imm = 0x50206F7420776F48
movl $0x1, %esi
movl $0x78, %edx
callq 0x22be2
testb %al, %al
je 0x21ba9
movq (%rsp), %rax
movq $0x3, 0x24ac4(%rax)
movb $0x0, 0x24a74(%rax)
leaq 0x120(%rsp), %rdi
movabsq $0x7465736552, %rcx     # imm = 0x7465736552
movabsq $0xa00000000000000, %r8 # imm = 0xA00000000000000
movl $0x2, %esi
movl $0x118, %edx            # imm = 0x118
callq 0x22be2
testb %al, %al
movq 0x8(%rsp), %rbx
movq 0x10(%rsp), %r15
je 0x21bf5
movq %r14, %rdi
callq 0x233e0
movq (%rsp), %rax
movb $0x0, 0x24a74(%rax)
leaq 0x120(%rsp), %rdi
movabsq $0x6553206c6576654c, %rcx # imm = 0x6553206C6576654C
movabsq $0x30000007463656c, %r8 # imm = 0x30000007463656C
movl $0x3, %esi
movl $0x177, %edx            # imm = 0x177
callq 0x22be2
testb %al, %al
je 0x21c45
movq (%rsp), %rcx
movl $0x0, 0x48(%rcx)
movl $0x2, 0x40(%rcx)
xorl %eax, %eax
btl $0x4, 0x20(%rcx)
adcb $-0x1, %al
movsbl %al, %eax
movl %eax, 0x64(%rcx)
leaq 0x120(%rsp), %rdi
movl $0x746e6948, %ecx       # imm = 0x746E6948
movl $0x4, %esi
movl $0x221, %edx            # imm = 0x221
movabsq $0xb00000000000000, %r8 # imm = 0xB00000000000000
callq 0x22be2
testb %al, %al
je 0x21c8a
movq %r14, %rdi
callq 0x23458
movq %r14, %rdi
testb %al, %al
je 0x21c85
callq 0x2633c
jmp 0x21c8a
callq 0x25dc4
movq (%rsp), %r14
movl 0x24a78(%r14), %edx
addl $0x12, %edx
leaq 0x24569(%rip), %rcx     # 0x46208
movq %rbx, %rdi
movl $0x258, %esi            # imm = 0x258
callq 0xbb06
testb $0x40, 0x20(%r14)
je 0x21cf5
movl $0xfffffdad, %eax       # imm = 0xFFFFFDAD
movq 0x130(%rsp), %rcx
addl (%rcx), %eax
cmpl $0x29, %eax
ja 0x21cf5
movq (%rsp), %rcx
movl 0xc(%rcx), %eax
movl 0x24a78(%rcx), %ecx
leal 0xd(%rcx), %edx
cmpl %edx, %eax
setge %dl
addl $0x23, %ecx
cmpl %ecx, %eax
setl %al
andb %dl, %al
cmpb $0x1, %al
jne 0x21cf5
movq (%rsp), %rax
movb $0x0, 0x24a74(%rax)
movq (%rsp), %rax
movl 0x24ac4(%rax), %eax
movl $0x1, %ebp
testl %eax, %eax
je 0x222fb
movq (%rsp), %rsi
movslq 0x24ac8(%rsi), %rcx
leal 0x1(%rcx), %edx
movl %edx, 0x24ac8(%rsi)
imulq $0x55555556, %rcx, %rcx # imm = 0x55555556
movq %rcx, %rdx
shrq $0x3f, %rdx
shrq $0x20, %rcx
addl %edx, %ecx
cmpl $0xa, %ecx
ja 0x222fb
leaq 0xff24(%rip), %rdx      # 0x31c68
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
leaq 0x244fc(%rip), %r9      # 0x46250
movq %rbx, %rdi
movl $0xf0, %esi
movl $0x46, %edx
movl $0xa0, %ecx
movl $0x28, %r8d
jmp 0x222ea
leaq 0x244d8(%rip), %r9      # 0x46250
movq %rbx, %rdi
movl $0x8c, %esi
movl $0x32, %edx
movl $0x168, %ecx            # imm = 0x168
movl $0x50, %r8d
jmp 0x222ea
leaq 0x244b4(%rip), %r9      # 0x46250
movq %rbx, %rdi
movl $0xbe, %esi
movl $0x3c, %edx
movl $0x104, %ecx            # imm = 0x104
movl $0x3c, %r8d
jmp 0x222ea
leaq 0x24490(%rip), %r9      # 0x46250
movq %rbx, %rdi
movl $0x5a, %esi
movl $0x32, %edx
movl $0x1cc, %ecx            # imm = 0x1CC
movl $0x64, %r8d
jmp 0x222ea
leaq 0x2446c(%rip), %r9      # 0x46250
movq %rbx, %rdi
movl $0x28, %esi
movl $0x28, %edx
movl $0x230, %ecx            # imm = 0x230
movl $0x78, %r8d
pushq $0x78
pushq $0x0
pushq $0x1e
pushq $0xa
callq 0xc5da
addq $0x20, %rsp
movq (%rsp), %rax
movl 0x24ac4(%rax), %eax
decl %eax
cmpl $0x1, %eax
ja 0x21f44
leaq 0x555df(%rip), %r14     # 0x77408
movb $0x6, 0x488(%r14)
movl $0xffff00, 0x484(%r14) # imm = 0xFFFF00
subq $0x8, %rsp
xorl %ebx, %ebx
movabsq $0x4e4f44204c4c4557, %r15 # imm = 0x4E4F44204C4C4557
movabsq $0x500000000002145, %r12 # imm = 0x500000000002145
movss 0xfde2(%rip), %xmm0     # 0x31c40
movq %r14, %rdi
movq 0x10(%rsp), %rsi
movl $0x9d, %edx
movl $0x3b, %ecx
movq %r15, %r8
movq %r12, %r9
pushq %rbx
callq 0x1e19a
addq $0x8, %rsp
movq %r14, %rdi
movq 0x10(%rsp), %rsi
movl $0x9f, %edx
movl $0x3b, %ecx
movq %r15, %r8
movq %r12, %r9
movss 0xfda0(%rip), %xmm0     # 0x31c40
pushq %rbx
callq 0x1e19a
addq $0x8, %rsp
movq %r14, %rdi
movq 0x10(%rsp), %rsi
movl $0x9d, %edx
movl $0x3d, %ecx
movq %r15, %r8
movq %r12, %r9
movss 0xfd76(%rip), %xmm0     # 0x31c40
pushq %rbx
callq 0x1e19a
addq $0x8, %rsp
movq %r14, %rdi
movq 0x10(%rsp), %rsi
movl $0x9f, %edx
movl $0x3d, %ecx
movq %r15, %r8
movq %r12, %r9
movss 0xfd4c(%rip), %xmm0     # 0x31c40
pushq %rbx
callq 0x1e19a
addq $0x10, %rsp
movl $0xff0000, 0x484(%r14) # imm = 0xFF0000
subq $0x8, %rsp
movq %r14, %rdi
movq 0x10(%rsp), %rsi
movl $0x9e, %edx
movl $0x3c, %ecx
movq %r15, %r8
movq %r12, %r9
movss 0xfd13(%rip), %xmm0     # 0x31c40
pushq %rbx
movq 0x18(%rsp), %rbx
callq 0x1e19a
addq $0x10, %rsp
movb $0x2, 0x488(%r14)
movq (%rsp), %rax
movslq 0x24ac4(%rax), %rax
leaq 0x238ea(%rip), %rcx     # 0x45840
movq (%rcx,%rax,8), %r12
movsbl (%r12), %eax
leal (%rax,%rax,4), %ecx
leal 0x30(%rax,%rcx,2), %r15d
movl %r15d, 0x10(%rsp)
leaq 0x55495(%rip), %r14     # 0x77408
movb $0xb, 0x480(%r14)
movl $0x0, 0x484(%r14)
leal (%rax,%rcx,2), %ebp
addl $0x31, %ebp
incq %r12
movq %r12, %rdi
callq 0x30f0
leaq 0xf0(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
movq %rax, %rdx
movl $0x1, %ecx
callq 0x5040
subq $0x10, %rsp
movups (%r13), %xmm0
movups %xmm0, (%rsp)
movq %r14, %rdi
movq %rbx, %rsi
movl $0x3c, %edx
movl %ebp, %ecx
movl $0x208, %r8d            # imm = 0x208
callq 0x1e5a0
addq $0x10, %rsp
movq (%rsp), %rax
movslq 0x24ac4(%rax), %rax
leaq 0x23853(%rip), %rcx     # 0x45840
movq (%rcx,%rax,8), %r12
incq %r12
movq %r12, %rdi
callq 0x30f0
leaq 0x148(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
movq %rax, %rdx
movl $0x1, %ecx
callq 0x5040
subq $0x10, %rsp
movups (%r13), %xmm0
movups %xmm0, (%rsp)
movq %r14, %rdi
movq %rbx, %rsi
movl $0x3d, %edx
movl %r15d, %ecx
movl $0x208, %r8d            # imm = 0x208
callq 0x1e5a0
addq $0x10, %rsp
movb $0x11, 0x403(%r14)
leaq 0xcf6(%rip), %rax       # 0x22d46
leaq 0x1a0(%rsp), %r12
movq %rax, 0x8(%r12)
movq (%rsp), %rax
movq %rax, (%r12)
xorl %r15d, %r15d
movq %r15, 0x10(%r12)
leaq 0x490(%r14), %r13
movq %r13, %rdi
callq 0x1dfa8
movups (%r12), %xmm0
movups %xmm0, 0x490(%r14)
movq 0x10(%r12), %rax
movq %rax, 0x4a0(%r14)
movq %r15, 0x10(%r12)
movq %r12, %rdi
callq 0x1dfa8
movl $0xffffff, 0x484(%r14) # imm = 0xFFFFFF
movq (%rsp), %rax
movslq 0x24ac4(%rax), %rax
leaq 0x23781(%rip), %rcx     # 0x45840
movq (%rcx,%rax,8), %rbp
incq %rbp
movq %rbp, %rdi
callq 0x30f0
leaq 0x120(%rsp), %r15
movq %r15, %rdi
movq %rbp, %rsi
movq %rax, %rdx
movl $0x1, %ecx
callq 0x5040
subq $0x10, %rsp
movups (%r15), %xmm0
movups %xmm0, (%rsp)
movq %r14, %rdi
movq %rbx, %rsi
movl $0x3c, %edx
movl 0x20(%rsp), %ecx
movl $0x208, %r8d            # imm = 0x208
callq 0x1e5a0
addq $0x10, %rsp
movb $0x9, 0x480(%r14)
leaq -0x417c(%rip), %rax     # 0x1dfa6
movq %rax, 0x8(%r12)
movq %rax, (%r12)
xorl %ebx, %ebx
movq %rbx, 0x10(%r12)
movq %r13, %rdi
callq 0x1dfa8
movups (%r12), %xmm0
movups %xmm0, 0x490(%r14)
movq 0x10(%r12), %rax
movq %rax, 0x4a0(%r14)
movq %rbx, 0x10(%r12)
movq (%rsp), %rbx
leaq 0x1a0(%rsp), %rdi
callq 0x1dfa8
cmpl $0x11, 0x24ac8(%rbx)
jne 0x21359
movl $0x10, 0x24ac8(%rbx)
jmp 0x21359
leal -0x1(%rax), %ecx
cmpl $0xd, %ecx
ja 0x2222b
leaq 0xfafc(%rip), %rdx      # 0x31c94
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movq (%rsp), %rax
movl $0x0, 0x24ac4(%rax)
jmp 0x222b4
movq (%rsp), %rax
movl 0x24a70(%rax), %esi
cmpl $0x1d, %esi
jne 0x22289
xorl %ebx, %ebx
movq (%rsp), %r14
movl %ebx, 0x48(%r14)
movl $0x1, 0x40(%r14)
movq %r15, %rdi
movl $0x1, %esi
callq 0x223ec
movl %ebx, 0x60(%r14)
movq 0x8(%rsp), %rbx
jmp 0x222b4
movq (%rsp), %rax
cmpb $0x0, 0x24a74(%rax)
jne 0x1f1b4
movq (%rsp), %rax
cmpl $0x1e0, 0x24a78(%rax)   # imm = 0x1E0
jne 0x1f1b4
movq (%rsp), %rax
movb $0x0, 0x21(%rax)
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
jmp 0x222fb
incl %eax
movq (%rsp), %rcx
movl %eax, 0x24ac4(%rcx)
jmp 0x222b4
movq (%rsp), %rax
movl 0x24a70(%rax), %eax
cmpl $0x4, %eax
jg 0x2230f
movq (%rsp), %rax
movl $0x5, 0x24ac4(%rax)
jmp 0x222b4
movq (%rsp), %rax
cmpl $0x64, 0x24a70(%rax)
jl 0x22279
movq (%rsp), %rax
movl $0xc, 0x24ac4(%rax)
jmp 0x222b4
movq (%rsp), %rax
movl $0x6, 0x24ac4(%rax)
jmp 0x222b4
cmpl $0x64, %esi
jge 0x222a4
incl %esi
movq (%rsp), %rax
movl 0x4c(%rax), %eax
cmpl %eax, %esi
jl 0x222a4
incl %eax
movq (%rsp), %rcx
movl %eax, 0x4c(%rcx)
movq (%rsp), %rdi
movzbl 0x24acc(%rdi), %edx
callq 0x22a28
movq (%rsp), %rax
movl $0x2, 0x24ac8(%rax)
cmpl $0x0, 0x24ac4(%rax)
je 0x222fb
leaq 0x23f7e(%rip), %r9      # 0x46250
movq %rbx, %rdi
movl $0x122, %esi            # imm = 0x122
movl $0x50, %edx
movl $0x3c, %ecx
movl $0x14, %r8d
pushq $0x6e
pushq $0x0
pushq $0x1e
pushq $0xa
callq 0xc5da
addq $0x20, %rsp
movl %ebp, %eax
addq $0x24ba8, %rsp          # imm = 0x24BA8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
cmpl $0x9, %eax
jg 0x22324
movq (%rsp), %rax
movl $0xa, 0x24ac4(%rax)
jmp 0x222b4
movq (%rsp), %rax
movl $0xb, 0x24ac4(%rax)
jmp 0x222b4