// File: /workspace/github_c_makefile_star2_O3/aap[P]rx-0/pdp1/mach.c
// Function: simthread
void*
simthread(void *arg)
{
	PDP1 *pdp = (PDP1*)arg;
	Msg msg;
	for(;;){
		switch(channbrecv(cmdchan, &msg)){
		case -1:	// channel closed
			return nil;
		case 0: break;  // nothing
		case 1:
			handlemsg(pdp, msg);
			break;
		}

		// a cycle takes 5μs
		if(pdp->run) {
			!pdp->cyc ? cycle0(pdp) :
			pdp->df1 ? defer(pdp)
				: cycle1(pdp);
//printf("%s %s  hack/%d\n", pdp->cyc ? "cyc" : "   ", pdp->df1 ? "df1" : "   ", pdp->cychack);
		}
//		handleio(pdp);
	}
	return nil;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdi, %rbx
leaq 0x4034(%rdi), %r15
leaq 0xc(%rdi), %rax
movq %rax, -0x30(%rbp)
leaq 0x18(%rdi), %r13
leaq -0x38(%rbp), %r14
movq 0xdcf0(%rip), %rdi      # 0x12678
movq %r14, %rsi
callq 0x40bb
cmpl $0x1, %eax
je 0x499f
cmpl $-0x1, %eax
jne 0x49ab
jmp 0x55ef
movq -0x38(%rbp), %rsi
movq %rbx, %rdi
callq 0x4725
cmpl $0x0, (%r15)
je 0x4981
cmpl $0x0, 0x403c(%rbx)
je 0x4a07
cmpl $0x0, 0x4040(%rbx)
je 0x4a1d
movl 0x8(%rbx), %ecx
movl $0xfff, %eax            # imm = 0xFFF
andl %eax, %ecx
orl 0xc(%rbx), %ecx
movl %ecx, 0xc(%rbx)
movl 0x18(%rbx,%rcx,4), %edx
movl %edx, 0x8(%rbx)
btl $0xc, %edx
jb 0x4a6e
movl 0x14(%rbx), %eax
cmpl $0x18, %eax
je 0x49fa
cmpl $0x19, %eax
jne 0x4a7b
movl 0x10(%rbx), %esi
movl %esi, (%rbx)
movl %edx, %esi
andl $0xfff, %esi            # imm = 0xFFF
movl %esi, 0x10(%rbx)
jmp 0x4a7b
cmpl $0x4, 0x4080(%rbx)
jne 0x4ad1
movl 0x8(%rbx), %r12d
jmp 0x4dea
cmpl $0x1, 0x4080(%rbx)
movl 0x14(%rbx), %eax
jne 0x4af3
movl 0x4(%rbx), %edx
movl %eax, %ecx
xorl $0x17, %ecx
movl %edx, %r9d
andl $0x1, %r9d
orl %r9d, %ecx
je 0x4c34
movl $0x0, 0x8(%rbx)
cmpl $0x4, %eax
jne 0x4d26
movl $0x0, 0x403c(%rbx)
movl $0x4, 0x4080(%rbx)
jmp 0x4981
movl $0x1, 0x4044(%rbx)
movl 0x14(%rbx), %eax
movl %edx, (%r13,%rcx,4)
cmpl $0x1e, %eax
ja 0x4b6d
movl $0x40008061, %ecx       # imm = 0x40008061
btl %eax, %ecx
movq %r15, %rcx
jae 0x4b6d
movl $0x0, (%rcx)
cmpl $0x0, 0x4044(%rbx)
jne 0x4ac2
movl $0x0, 0x4040(%rbx)
cmpl $0x18, %eax
jb 0x4ac2
movl $0x0, 0x403c(%rbx)
movl $0x0, 0x4044(%rbx)
jmp 0x4981
movl 0x14(%rbx), %eax
cmpl $0x1b, %eax
jne 0x4b62
movl 0x8(%rbx), %eax
testb $0x20, %al
jne 0x4ccd
movl 0x10(%rbx), %ecx
orl %ecx, 0xc(%rbx)
jmp 0x4cea
movl 0x8(%rbx), %ecx
cmpl $0x7, %eax
jne 0x4bbe
movl %ecx, %r8d
andl $0xfff, %r8d            # imm = 0xFFF
btl $0xc, %ecx
movl $0x40, %eax
cmovael %eax, %r8d
movq -0x30(%rbp), %rax
orl (%rax), %r8d
movl %r8d, (%rax)
leaq (,%r8,4), %rcx
addq %r13, %rcx
movl $0x0, (%rcx)
xorl %edi, %edi
movl (%rbx), %r9d
movl 0x10(%rbx), %eax
movl %r9d, 0x8(%rbx)
movl %eax, (%rbx)
movl $0x0, 0x10(%rbx)
movl %r9d, (%rcx)
orl %r8d, 0x10(%rbx)
movl $0x7, %eax
movb $0x1, %cl
testb %dil, %dil
jne 0x54b1
jmp 0x54d4
movl 0x10(%rbx), %ecx
orl %ecx, 0xc(%rbx)
jmp 0x4d82
cmpl $0x0, 0x4078(%rbx)
movq %r15, %rcx
jne 0x4a9a
cmpl $0x0, 0x407c(%rbx)
je 0x4b9b
cmpl $0x18, %eax
jb 0x4b9b
cmpl $0x0, 0x4044(%rbx)
movq %r15, %rcx
je 0x4a9a
cmpl $0x0, 0x4038(%rbx)
movq %r15, %rcx
je 0x4a9a
cmpl $0x0, (%r15)
movq -0x30(%rbp), %rcx
jne 0x4a9a
jmp 0x4aa0
andl $0xfff, %ecx            # imm = 0xFFF
orl %ecx, 0xc(%rbx)
movl 0x4(%rbx), %edx
cmpl $0x17, %eax
jne 0x4a30
movl (%rbx), %eax
movl %eax, %ecx
movl $0xfffdffff, %edi       # imm = 0xFFFDFFFF
andl %edi, %ecx
movl %edx, %esi
shrl $0x11, %esi
andl $0x1, %esi
leal (%rsi,%rcx,2), %ecx
andl %edi, %edx
movl %eax, %esi
shrl $0x11, %esi
andl $0x1, %esi
leal (%rsi,%rdx,2), %edx
xorl $0x1, %edx
movl %edx, 0x4(%rbx)
movl %ecx, (%rbx)
btl $0x11, %eax
jb 0x4c34
movl 0xc(%rbx), %r8d
leaq (,%r8,4), %rcx
addq %r13, %rcx
movl 0x18(%rbx,%r8,4), %esi
movl %esi, 0x8(%rbx)
movl $0x0, 0x18(%rbx,%r8,4)
movl $0x17, %eax
movl $0x1, %r9d
jmp 0x5164
movl (%rbx), %eax
movl 0xc(%rbx), %r8d
leal 0x1(%rax), %r10d
cmpl $0x3ffff, %eax          # imm = 0x3FFFF
movl $0x1, %eax
cmovel %eax, %r10d
leaq (,%r8,4), %rcx
addq %r13, %rcx
movl 0x18(%rbx,%r8,4), %esi
movl %esi, 0x8(%rbx)
movl $0x0, 0x18(%rbx,%r8,4)
xorl %esi, %r10d
movl $0x17, %eax
xorl %edi, %edi
movl %r10d, %r9d
notl %r9d
andl %esi, %r9d
leal (%r10,%r9,2), %r11d
addl %r9d, %r9d
btl $0x12, %r11d
adcl %r10d, %r9d
andl $0x3ffff, %r9d          # imm = 0x3FFFF
movl %r9d, (%rbx)
movl %eax, %r9d
andl $-0x2, %r9d
cmpl $0x12, %r9d
jne 0x50df
movl (%rbx), %r9d
cmpl $0x3fffe, %r9d          # imm = 0x3FFFE
je 0x50d4
cmpl $0x3ffff, %r9d          # imm = 0x3FFFF
jne 0x50d9
movl $0x1, %r9d
jmp 0x50dc
movq %rbx, %rdi
callq 0x5859
movl 0x10(%rbx), %ecx
movl 0x14(%rbx), %eax
orl %ecx, 0xc(%rbx)
cmpl $0x1b, %eax
jne 0x4d82
movl 0x8(%rbx), %eax
testb $0x40, %al
je 0x4d05
movq %rbx, %rdi
callq 0x5859
movl 0x14(%rbx), %eax
cmpl $0x1b, %eax
jne 0x4d82
movl 0x8(%rbx), %eax
testb %al, %al
js 0x4d77
movl 0x10(%rbx), %ecx
incl %ecx
andl $0xfff, %ecx            # imm = 0xFFF
movl %ecx, 0x10(%rbx)
movl $0x0, 0x4064(%rbx)
jmp 0x4dd9
movl 0xc(%rbx), %r8d
leaq (,%r8,4), %rcx
addq %r13, %rcx
movl 0x18(%rbx,%r8,4), %esi
movl %esi, 0x8(%rbx)
movl $0x0, 0x18(%rbx,%r8,4)
cmpl $0x10, %eax
jg 0x5131
leal -0x1(%rax), %edi
cmpl $0x8, %edi
ja 0x53e9
leaq 0x1632(%rip), %r10      # 0x6394
movslq (%r10,%rdi,4), %rdi
addq %r10, %rdi
jmpq *%rdi
andl %esi, (%rbx)
movl $0x1, %edx
jmp 0x55dc
movq %rbx, %rdi
callq 0x5859
movl 0x14(%rbx), %eax
movl 0x10(%rbx), %ecx
incl %ecx
andl $0xfff, %ecx            # imm = 0xFFF
movl %ecx, 0x10(%rbx)
cmpl $0x1d, %eax
jne 0x4dc4
xorl %r12d, %r12d
cmpl $0x0, 0x406c(%rbx)
movl $0x0, %eax
jne 0x4db2
xorl %eax, %eax
cmpl $0x0, 0x4064(%rbx)
sete %al
movl %eax, 0x4060(%rbx)
movl $0x0, 0x4064(%rbx)
jmp 0x4dea
movl $0x0, 0x4064(%rbx)
xorl %r12d, %r12d
cmpl $0x1b, %eax
jne 0x4dea
movl 0x8(%rbx), %eax
xorl %r12d, %r12d
btl $0x8, %eax
jae 0x4dea
movq %rbx, %rdi
callq 0x5859
movl 0xc(%rbx), %eax
orl 0x18(%rbx,%rax,4), %r12d
movl %r12d, 0x8(%rbx)
movl $0x0, 0x18(%rbx,%rax,4)
movl %r12d, %ecx
shrl $0xd, %ecx
movl %ecx, 0x14(%rbx)
cmpl $0x1d, %ecx
je 0x4e3e
movl %r12d, %eax
andl $0x1000, %eax           # imm = 0x1000
je 0x4e3e
cmpl $0x7, %ecx
je 0x4e3e
cmpl $0x1f, %ecx
je 0x4e3e
movl %r12d, %eax
andl $0xffffc000, %eax       # imm = 0xFFFFC000
cmpl $0x34000, %eax          # imm = 0x34000
je 0x4e3e
cmpl $0x1c, %ecx
je 0x4e3e
movl $0x1, 0x4040(%rbx)
cmpl $0x1d, %ecx
jne 0x4e80
btl $0xc, %r12d
jb 0x4edf
movl $0x1d, %ecx
cmpl $0x0, 0x406c(%rbx)
je 0x4f21
movabsq $0x100000001, %rax      # imm = 0x100000001
movq %rax, 0x4060(%rbx)
movl $0x0, 0x406c(%rbx)
jmp 0x4f21
cmpl $0x1b, %ecx
setne %al
testb $0x1, %r12b
sete %dl
orb %al, %dl
jne 0x4e9c
movq %rbx, %rdi
callq 0x5859
movl 0x14(%rbx), %ecx
xorl %eax, %eax
leal -0x19(%rcx), %edx
cmpl $0x6, %edx
ja 0x4f23
leaq 0x154b(%rip), %rsi      # 0x63f8
movslq (%rsi,%rdx,4), %rdx
addq %rsi, %rdx
jmpq *%rdx
movl $0x19, %eax
cmpl $0x0, 0x4040(%rbx)
jne 0x517d
movb $0x1, %al
movl $0x0, (%rbx)
jmp 0x4f23
testb $0x10, 0x9(%rbx)
jne 0x4edf
movl $0x1d, %ecx
jmp 0x4f21
movl $0x1d, %ecx
cmpl $0x0, 0x406c(%rbx)
jne 0x4f21
cmpl $0x0, 0x4064(%rbx)
jne 0x4f21
movl $0x1, 0x406c(%rbx)
jmp 0x4f21
movl 0x8(%rbx), %eax
testb %al, %al
jns 0x4f0f
movl $0x0, (%rbx)
movl $0x1f, %ecx
btl $0xb, %eax
jae 0x4f21
movl $0x0, 0x4(%rbx)
xorl %eax, %eax
cmpl $0x0, 0x4040(%rbx)
je 0x500e
cmpl $0x1b, %ecx
je 0x5037
cmpl $0x1a, %ecx
jne 0x5051
movl 0x8(%rbx), %eax
xorl %ecx, %ecx
btl $0xa, %eax
jae 0x4f56
xorl %ecx, %ecx
testb $0x2, 0x6(%rbx)
sete %cl
btl $0x9, %eax
jae 0x4f6b
cmpl $0x0, 0x4050(%rbx)
movl $0x1, %edx
cmovel %edx, %ecx
btl $0x8, %eax
jae 0x4f7d
testb $0x2, 0x2(%rbx)
movl $0x1, %edx
cmovnel %edx, %ecx
testb %al, %al
jns 0x4f8d
testb $0x2, 0x2(%rbx)
movl $0x1, %edx
cmovel %edx, %ecx
testb $0x40, %al
je 0x4f9c
cmpl $0x0, (%rbx)
movl $0x1, %edx
cmovel %edx, %ecx
testb $0x38, %al
je 0x4fc2
movl %eax, %edx
shrl %edx
andl $0x1c, %edx
leaq 0x15c2(%rip), %rsi      # 0x6570
movl (%rdx,%rsi), %esi
movl $0x1, %edx
testl %esi, 0x4070(%rbx)
je 0x4fc0
movl %ecx, %edx
movl %edx, %ecx
movslq %eax, %rdx
andq $0x7, %rdx
je 0x4fe4
leaq 0x14a2(%rip), %rsi      # 0x6474
movl -0x4(%rsi,%rdx,4), %edx
testl %edx, 0x4074(%rbx)
movl $0x1, %edx
cmovel %edx, %ecx
xorl %edx, %edx
testl %ecx, %ecx
sete %dl
btl $0xc, %eax
cmovael %ecx, %edx
testl %edx, %edx
je 0x50b0
movl 0x10(%rbx), %eax
incl %eax
andl $0xfff, %eax            # imm = 0xFFF
movl $0x1a, %ecx
jmp 0x5178
testb %al, %al
je 0x5020
movl 0x10(%rbx), %eax
orl %eax, (%rbx)
movl $0x0, 0x10(%rbx)
jmp 0x5051
cmpl $0x18, %ecx
je 0x5176
cmpl $0x1a, %ecx
je 0x4f42
cmpl $0x1b, %ecx
jne 0x5051
movl $0x1b, %eax
testb $0x2, 0x8(%rbx)
je 0x517d
movq %rbx, %rdi
callq 0x5859
movl 0x14(%rbx), %ecx
cmpl $0x1c, %ecx
je 0x509a
movl %ecx, %eax
cmpl $0x1f, %ecx
jne 0x517d
movl 0x8(%rbx), %ecx
btl $0xa, %ecx
jae 0x5072
movl 0x401c(%rbx), %eax
orl %eax, (%rbx)
testb $0x40, %cl
je 0x507c
movl 0x10(%rbx), %eax
orl %eax, (%rbx)
movl %ecx, %edx
andl $0x7, %edx
movl 0x4074(%rbx), %eax
testb $0x8, %cl
jne 0x50ba
movl %edx, %edx
leaq 0x14fb(%rip), %rsi      # 0x6590
andl (%rsi,%rdx,4), %eax
jmp 0x50c4
movl 0x8(%rbx), %ecx
movl %ecx, %eax
andl $0xfff, %eax            # imm = 0xFFF
orl %eax, (%rbx)
movl $0x1c, %eax
jmp 0x5180
movl $0x1a, %eax
jmp 0x517d
leaq 0x14af(%rip), %rsi      # 0x6570
orl (%rsi,%rdx,4), %eax
movl %eax, 0x4074(%rbx)
movl $0x1f, %eax
jmp 0x5180
xorl %r9d, %r9d
jmp 0x50dc
incl %r9d
movl %r9d, (%rbx)
leal -0x7(%rax), %r9d
cmpl $0xf, %r9d
ja 0x53bb
leaq 0x12c4(%rip), %r10      # 0x63b8
movslq (%r10,%r9,4), %r9
addq %r10, %r9
jmpq *%r9
movl (%rbx), %r9d
movl %r9d, 0x8(%rbx)
cmpl $0xb, %eax
je 0x5479
cmpl $0xd, %eax
je 0x5124
movl %r9d, %esi
cmpl $0xc, %eax
je 0x5377
jmp 0x53be
movl %edx, 0x8(%rbx)
movl $0xd, %eax
jmp 0x5498
leal -0x12(%rax), %edi
cmpl $0x2, %edi
jb 0x53e7
cmpl $0x11, %eax
je 0x5164
cmpl $0x17, %eax
jne 0x53e9
movl (%rbx), %r10d
testl %r9d, %r9d
je 0x4c68
movl $0x17, %eax
movl $0x1, %r9d
jmp 0x5167
movl (%rbx), %r10d
xorl $0x3ffff, %r10d         # imm = 0x3FFFF
movl %r10d, (%rbx)
jmp 0x53fc
xorl %eax, %eax
movl %eax, 0x10(%rbx)
movl %ecx, %eax
movl 0x8(%rbx), %ecx
movl 0xc(%rbx), %edx
movl %ecx, 0x18(%rbx,%rdx,4)
movl %eax, %edx
andl $-0x2, %edx
cmpl $0x18, %edx
jne 0x51a5
cmpl $0x0, 0x4040(%rbx)
jne 0x51a5
andl $0xfff, %ecx            # imm = 0xFFF
orl %ecx, 0x10(%rbx)
jmp 0x51e6
cmpl $0x1b, %eax
je 0x51cd
cmpl $0x1a, %eax
jne 0x51e6
movl $0x1a, %eax
btl $0x9, %ecx
jae 0x526a
movl $0x0, 0x4050(%rbx)
jmp 0x526a
movl $0x1b, %eax
testb $0x4, %cl
je 0x526a
movq %rbx, %rdi
callq 0x5859
movl 0x14(%rbx), %eax
cmpl $0x1b, %eax
jg 0x5202
leal -0x5(%rax), %ecx
cmpl $0x2, %ecx
jb 0x5277
testl %eax, %eax
je 0x5277
cmpl $0xf, %eax
je 0x5277
jmp 0x526a
leal -0x1c(%rax), %ecx
cmpl $0x3, %ecx
ja 0x526a
leaq 0x1203(%rip), %rdx      # 0x6414
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movl $0x1c, %eax
testb $0x10, 0x9(%rbx)
je 0x526a
xorl $0x3ffff, (%rbx)        # imm = 0x3FFFF
jmp 0x526a
movl $0x1d, %eax
cmpl $0x0, 0x4064(%rbx)
jne 0x526a
cmpl $0x0, 0x4068(%rbx)
je 0x526a
movl $0x0, 0x406c(%rbx)
jmp 0x526a
movl 0x8(%rbx), %ecx
btl $0x9, %ecx
jae 0x525f
xorl $0x3ffff, (%rbx)        # imm = 0x3FFFF
movl $0x1f, %eax
btl $0x8, %ecx
jb 0x5277
cmpl $0x0, 0x4078(%rbx)
je 0x531d
movl $0x0, (%r15)
cmpl $0x1b, %eax
jne 0x5299
movl $0x1b, %eax
testb $0x8, 0x8(%rbx)
je 0x52c5
movq %rbx, %rdi
callq 0x5859
movl 0x14(%rbx), %eax
cmpl $0x1d, %eax
jne 0x52c5
movl $0x1d, %eax
cmpl $0x0, 0x406c(%rbx)
je 0x52c5
movl 0x10(%rbx), %ecx
decl %ecx
andl $0xfff, %ecx            # imm = 0xFFF
movl %ecx, 0x10(%rbx)
movq $0x0, 0x4040(%rbx)
cmpl $0x0, (%r15)
je 0x52d5
movq -0x30(%rbp), %rcx
movl $0x0, (%rcx)
cmpl $0x18, %eax
jb 0x52e3
cmpl $0x0, 0x4040(%rbx)
je 0x52ed
movl $0x1, 0x403c(%rbx)
cmpl $0x1b, %eax
jne 0x5303
testb $0x10, 0x8(%rbx)
je 0x535d
movq %rbx, %rdi
callq 0x5859
movl 0x14(%rbx), %eax
cmpl $0x1d, %eax
jne 0x535d
cmpl $0x0, 0x4064(%rbx)
je 0x534a
movl $0x1, 0x406c(%rbx)
jmp 0x535d
cmpl $0x0, 0x407c(%rbx)
je 0x5338
cmpl $0x18, %eax
jb 0x5338
cmpl $0x0, 0x4040(%rbx)
je 0x5277
cmpl $0x0, 0x4038(%rbx)
jne 0x527e
jmp 0x5277
cmpl $0x0, 0x406c(%rbx)
jne 0x535d
movl $0x0, 0x4068(%rbx)
movl $0x0, 0x4080(%rbx)
jmp 0x4981
movl (%rbx), %r9d
jmp 0x547c
movl (%rbx), %r9d
andl $0xfff, %esi            # imm = 0xFFF
andl $0x3f000, %r9d          # imm = 0x3F000
orl %esi, %r9d
movl %r9d, 0x8(%rbx)
movl $0xc, %eax
jmp 0x5495
movl (%rbx), %r10d
movl %r10d, %eax
shrl %eax
andl $0x1, %r10d
shll $0x11, %r10d
shrl %edx
orl %r10d, %edx
movl %edx, 0x4(%rbx)
movl %eax, (%rbx)
movl $0x16, %eax
movl %esi, %edx
jmp 0x5498
movl %esi, %r9d
cmpl $0x13, %eax
je 0x558c
cmpl $0x14, %eax
je 0x557f
cmpl $0x15, %eax
jne 0x55ad
cmpl $0x0, (%rbx)
jne 0x5584
jmp 0x5597
movl %esi, (%rbx)
leal -0xd(%rax), %edi
cmpl $0x1, %edi
ja 0x53fc
movl $0x0, 0x8(%rbx)
xorl %esi, %esi
jmp 0x5422
movl %eax, %edi
andl $-0x2, %edi
cmpl $0x10, %edi
jne 0x5422
movl (%rbx), %r10d
xorl %esi, %r10d
movb $0x1, %dil
btl $0x11, %r10d
jb 0x5424
movl $0x1, 0x4054(%rbx)
jmp 0x5424
xorl %edi, %edi
cmpl $0x17, %eax
ja 0x4c94
movl $0xb30008, %r10d        # imm = 0xB30008
btl %eax, %r10d
jae 0x555d
movl (%rbx), %r10d
xorl %esi, %r10d
movl %r10d, (%rbx)
leal -0x10(%rax), %r11d
cmpl $0x2, %r11d
jb 0x4c72
cmpl $0x17, %eax
je 0x4c72
cmpl $0x16, %eax
jne 0x4c94
movl $0x16, %eax
testl %r9d, %r9d
jne 0x4c72
jmp 0x5398
movl %r9d, %esi
andl $0x3f000, %esi          # imm = 0x3F000
andl $0xfff, %r9d            # imm = 0xFFF
orl %esi, %r9d
movl %r9d, 0x8(%rbx)
movl $0xb, %eax
movl %r9d, %edx
movl %edx, (%rcx)
movl %edx, %r9d
movl %eax, %ecx
andl $-0x2, %ecx
cmpl $0x14, %ecx
jne 0x54aa
xorl %r9d, (%rbx)
xorl %ecx, %ecx
testb %dil, %dil
je 0x54c5
xorl (%rbx), %r9d
btl $0x11, %r9d
jb 0x54c5
movl $0x0, 0x4054(%rbx)
cmpl $0x1e, %eax
ja 0x54d4
movl $0x40008061, %edx       # imm = 0x40008061
btl %eax, %edx
jb 0x54e6
cmpl $0x0, 0x4078(%rbx)
jne 0x54e6
cmpl $0x0, 0x407c(%rbx)
je 0x5552
movl $0x0, (%r15)
cmpl $0x17, %eax
je 0x54f7
cmpl $0x10, %eax
jne 0x5505
cmpl $0x3ffff, (%rbx)        # imm = 0x3FFFF
jne 0x5505
movl $0x0, (%rbx)
testb %cl, %cl
je 0x5516
movl 0x10(%rbx), %eax
incl %eax
andl $0xfff, %eax            # imm = 0xFFF
movl %eax, 0x10(%rbx)
cmpl $0x0, 0x4054(%rbx)
je 0x5529
movl $0x1, 0x4050(%rbx)
xorl %eax, %eax
movl %eax, 0x4054(%rbx)
movl %eax, 0x403c(%rbx)
cmpl %eax, 0x4034(%rbx)
je 0x4981
movq -0x30(%rbp), %rax
movl $0x0, (%rax)
jmp 0x4981
cmpl $0x0, 0x4038(%rbx)
jne 0x54ed
jmp 0x54e6
cmpl $0x16, %eax
jne 0x4c94
movl (%rbx), %r10d
testl %r9d, %r9d
je 0x5398
xorl %esi, %r10d
movl $0x16, %eax
jmp 0x4c72
cmpl $0x0, (%rbx)
jne 0x5597
movl %r9d, (%rcx)
jmp 0x54a7
movl $0x13, %edx
testb $0x2, 0x2(%rbx)
jne 0x55ea
movl 0x10(%rbx), %edx
incl %edx
andl $0xfff, %edx            # imm = 0xFFF
movl %edx, 0x10(%rbx)
movl %r9d, (%rcx)
jmp 0x549d
movl %r9d, (%rcx)
cmpl $0x11, %eax
jne 0x549d
xorl $0x3ffff, (%rbx)        # imm = 0x3FFFF
movl $0x11, %eax
xorl %ecx, %ecx
jmp 0x4b54
movl %esi, 0x4(%rbx)
movl $0x9, %edx
jmp 0x55dc
orl %esi, (%rbx)
movl $0x2, %edx
xorl %edi, %edi
movl %esi, (%rcx)
movl %edx, %eax
movl %esi, %r9d
jmp 0x549d
movl %r9d, %esi
jmp 0x55de
xorl %eax, %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq