// File: attractivechaos[P]udb2/uthash/test.c
// Function: test_int
uint32_t test_int(uint32_t n, uint32_t x0)
{
	uint32_t i, x, n_unique = 0, z = 0;
	intcell_t *h = 0, *r, *tmp;
	for (i = 0, x = x0; i < n; ++i) {
		uint32_t y;
		x = hash32(x);
		y = get_key(n, x);
		HASH_FIND_INT(h, &y, r);
		if (r == 0) {
			r = (intcell_t*)malloc(sizeof(intcell_t));
			r->key = y, r->cnt = 0;
			HASH_ADD_INT(h, key, r);
			++n_unique;
		}
		z += ++r->cnt;
	}
	HASH_ITER(hh, h, r, tmp) {
		HASH_DEL(h, r);
		free(r);
	}
	fprintf(stderr, "# unique keys: %d; checksum: %u\n", n_unique, z);
	return n_unique;
}

// Assembly:
subq $0xe8, %rsp
movl %edi, 0xe4(%rsp)
movl %esi, 0xe0(%rsp)
movl $0x0, 0xd4(%rsp)
movl $0x0, 0xd0(%rsp)
movq $0x0, 0xc8(%rsp)
movl $0x0, 0xdc(%rsp)
movl 0xe0(%rsp), %eax
movl %eax, 0xd8(%rsp)
movl 0xdc(%rsp), %eax
cmpl 0xe4(%rsp), %eax
jae 0x2dac
movl 0xd8(%rsp), %edi
callq 0x1240
movl %eax, 0xd8(%rsp)
movl 0xe4(%rsp), %edi
movl 0xd8(%rsp), %esi
callq 0x12b0
movl %eax, 0xb4(%rsp)
movq $0x0, 0xc0(%rsp)
cmpq $0x0, 0xc8(%rsp)
je 0x1f77
jmp 0x164e
jmp 0x1650
leaq 0xb4(%rsp), %rax
movq %rax, 0x98(%rsp)
movl $0xfeedbeef, 0xb0(%rsp) # imm = 0xFEEDBEEF
movl $0x9e3779b9, 0xa8(%rsp) # imm = 0x9E3779B9
movl $0x9e3779b9, 0xac(%rsp) # imm = 0x9E3779B9
movl $0x4, 0xa4(%rsp)
cmpl $0xc, 0xa4(%rsp)
jb 0x1a20
movq 0x98(%rsp), %rax
movzbl (%rax), %eax
movq 0x98(%rsp), %rcx
movzbl 0x1(%rcx), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movq 0x98(%rsp), %rcx
movzbl 0x2(%rcx), %ecx
shll $0x10, %ecx
addl %ecx, %eax
movq 0x98(%rsp), %rcx
movzbl 0x3(%rcx), %ecx
shll $0x18, %ecx
addl %ecx, %eax
addl 0xac(%rsp), %eax
movl %eax, 0xac(%rsp)
movq 0x98(%rsp), %rax
movzbl 0x4(%rax), %eax
movq 0x98(%rsp), %rcx
movzbl 0x5(%rcx), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movq 0x98(%rsp), %rcx
movzbl 0x6(%rcx), %ecx
shll $0x10, %ecx
addl %ecx, %eax
movq 0x98(%rsp), %rcx
movzbl 0x7(%rcx), %ecx
shll $0x18, %ecx
addl %ecx, %eax
addl 0xa8(%rsp), %eax
movl %eax, 0xa8(%rsp)
movq 0x98(%rsp), %rax
movzbl 0x8(%rax), %eax
movq 0x98(%rsp), %rcx
movzbl 0x9(%rcx), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movq 0x98(%rsp), %rcx
movzbl 0xa(%rcx), %ecx
shll $0x10, %ecx
addl %ecx, %eax
movq 0x98(%rsp), %rcx
movzbl 0xb(%rcx), %ecx
shll $0x18, %ecx
addl %ecx, %eax
addl 0xb0(%rsp), %eax
movl %eax, 0xb0(%rsp)
movl 0xa8(%rsp), %ecx
movl 0xac(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xac(%rsp)
movl 0xb0(%rsp), %ecx
movl 0xac(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xac(%rsp)
movl 0xb0(%rsp), %eax
shrl $0xd, %eax
xorl 0xac(%rsp), %eax
movl %eax, 0xac(%rsp)
movl 0xb0(%rsp), %ecx
movl 0xa8(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xa8(%rsp)
movl 0xac(%rsp), %ecx
movl 0xa8(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xa8(%rsp)
movl 0xac(%rsp), %eax
shll $0x8, %eax
xorl 0xa8(%rsp), %eax
movl %eax, 0xa8(%rsp)
movl 0xac(%rsp), %ecx
movl 0xb0(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xb0(%rsp)
movl 0xa8(%rsp), %ecx
movl 0xb0(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xb0(%rsp)
movl 0xa8(%rsp), %eax
shrl $0xd, %eax
xorl 0xb0(%rsp), %eax
movl %eax, 0xb0(%rsp)
movl 0xa8(%rsp), %ecx
movl 0xac(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xac(%rsp)
movl 0xb0(%rsp), %ecx
movl 0xac(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xac(%rsp)
movl 0xb0(%rsp), %eax
shrl $0xc, %eax
xorl 0xac(%rsp), %eax
movl %eax, 0xac(%rsp)
movl 0xb0(%rsp), %ecx
movl 0xa8(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xa8(%rsp)
movl 0xac(%rsp), %ecx
movl 0xa8(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xa8(%rsp)
movl 0xac(%rsp), %eax
shll $0x10, %eax
xorl 0xa8(%rsp), %eax
movl %eax, 0xa8(%rsp)
movl 0xac(%rsp), %ecx
movl 0xb0(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xb0(%rsp)
movl 0xa8(%rsp), %ecx
movl 0xb0(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xb0(%rsp)
movl 0xa8(%rsp), %eax
shrl $0x5, %eax
xorl 0xb0(%rsp), %eax
movl %eax, 0xb0(%rsp)
movl 0xa8(%rsp), %ecx
movl 0xac(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xac(%rsp)
movl 0xb0(%rsp), %ecx
movl 0xac(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xac(%rsp)
movl 0xb0(%rsp), %eax
shrl $0x3, %eax
xorl 0xac(%rsp), %eax
movl %eax, 0xac(%rsp)
movl 0xb0(%rsp), %ecx
movl 0xa8(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xa8(%rsp)
movl 0xac(%rsp), %ecx
movl 0xa8(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xa8(%rsp)
movl 0xac(%rsp), %eax
shll $0xa, %eax
xorl 0xa8(%rsp), %eax
movl %eax, 0xa8(%rsp)
movl 0xac(%rsp), %ecx
movl 0xb0(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xb0(%rsp)
movl 0xa8(%rsp), %ecx
movl 0xb0(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xb0(%rsp)
movl 0xa8(%rsp), %eax
shrl $0xf, %eax
xorl 0xb0(%rsp), %eax
movl %eax, 0xb0(%rsp)
movq 0x98(%rsp), %rax
addq $0xc, %rax
movq %rax, 0x98(%rsp)
movl 0xa4(%rsp), %eax
subl $0xc, %eax
movl %eax, 0xa4(%rsp)
jmp 0x168c
movl 0xb0(%rsp), %eax
addl $0x4, %eax
movl %eax, 0xb0(%rsp)
movl 0xa4(%rsp), %eax
decl %eax
movl %eax, %ecx
movq %rcx, 0x20(%rsp)
subl $0xa, %eax
ja 0x1b97
movq 0x20(%rsp), %rax
leaq 0x25ca(%rip), %rcx      # 0x4020
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x98(%rsp), %rax
movzbl 0xa(%rax), %eax
shll $0x18, %eax
addl 0xb0(%rsp), %eax
movl %eax, 0xb0(%rsp)
movq 0x98(%rsp), %rax
movzbl 0x9(%rax), %eax
shll $0x10, %eax
addl 0xb0(%rsp), %eax
movl %eax, 0xb0(%rsp)
movq 0x98(%rsp), %rax
movzbl 0x8(%rax), %eax
shll $0x8, %eax
addl 0xb0(%rsp), %eax
movl %eax, 0xb0(%rsp)
movq 0x98(%rsp), %rax
movzbl 0x7(%rax), %eax
shll $0x18, %eax
addl 0xa8(%rsp), %eax
movl %eax, 0xa8(%rsp)
movq 0x98(%rsp), %rax
movzbl 0x6(%rax), %eax
shll $0x10, %eax
addl 0xa8(%rsp), %eax
movl %eax, 0xa8(%rsp)
movq 0x98(%rsp), %rax
movzbl 0x5(%rax), %eax
shll $0x8, %eax
addl 0xa8(%rsp), %eax
movl %eax, 0xa8(%rsp)
movq 0x98(%rsp), %rax
movzbl 0x4(%rax), %eax
addl 0xa8(%rsp), %eax
movl %eax, 0xa8(%rsp)
movq 0x98(%rsp), %rax
movzbl 0x3(%rax), %eax
shll $0x18, %eax
addl 0xac(%rsp), %eax
movl %eax, 0xac(%rsp)
movq 0x98(%rsp), %rax
movzbl 0x2(%rax), %eax
shll $0x10, %eax
addl 0xac(%rsp), %eax
movl %eax, 0xac(%rsp)
movq 0x98(%rsp), %rax
movzbl 0x1(%rax), %eax
shll $0x8, %eax
addl 0xac(%rsp), %eax
movl %eax, 0xac(%rsp)
movq 0x98(%rsp), %rax
movzbl (%rax), %eax
addl 0xac(%rsp), %eax
movl %eax, 0xac(%rsp)
jmp 0x1b99
movl 0xa8(%rsp), %ecx
movl 0xac(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xac(%rsp)
movl 0xb0(%rsp), %ecx
movl 0xac(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xac(%rsp)
movl 0xb0(%rsp), %eax
shrl $0xd, %eax
xorl 0xac(%rsp), %eax
movl %eax, 0xac(%rsp)
movl 0xb0(%rsp), %ecx
movl 0xa8(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xa8(%rsp)
movl 0xac(%rsp), %ecx
movl 0xa8(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xa8(%rsp)
movl 0xac(%rsp), %eax
shll $0x8, %eax
xorl 0xa8(%rsp), %eax
movl %eax, 0xa8(%rsp)
movl 0xac(%rsp), %ecx
movl 0xb0(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xb0(%rsp)
movl 0xa8(%rsp), %ecx
movl 0xb0(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xb0(%rsp)
movl 0xa8(%rsp), %eax
shrl $0xd, %eax
xorl 0xb0(%rsp), %eax
movl %eax, 0xb0(%rsp)
movl 0xa8(%rsp), %ecx
movl 0xac(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xac(%rsp)
movl 0xb0(%rsp), %ecx
movl 0xac(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xac(%rsp)
movl 0xb0(%rsp), %eax
shrl $0xc, %eax
xorl 0xac(%rsp), %eax
movl %eax, 0xac(%rsp)
movl 0xb0(%rsp), %ecx
movl 0xa8(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xa8(%rsp)
movl 0xac(%rsp), %ecx
movl 0xa8(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xa8(%rsp)
movl 0xac(%rsp), %eax
shll $0x10, %eax
xorl 0xa8(%rsp), %eax
movl %eax, 0xa8(%rsp)
movl 0xac(%rsp), %ecx
movl 0xb0(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xb0(%rsp)
movl 0xa8(%rsp), %ecx
movl 0xb0(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xb0(%rsp)
movl 0xa8(%rsp), %eax
shrl $0x5, %eax
xorl 0xb0(%rsp), %eax
movl %eax, 0xb0(%rsp)
movl 0xa8(%rsp), %ecx
movl 0xac(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xac(%rsp)
movl 0xb0(%rsp), %ecx
movl 0xac(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xac(%rsp)
movl 0xb0(%rsp), %eax
shrl $0x3, %eax
xorl 0xac(%rsp), %eax
movl %eax, 0xac(%rsp)
movl 0xb0(%rsp), %ecx
movl 0xa8(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xa8(%rsp)
movl 0xac(%rsp), %ecx
movl 0xa8(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xa8(%rsp)
movl 0xac(%rsp), %eax
shll $0xa, %eax
xorl 0xa8(%rsp), %eax
movl %eax, 0xa8(%rsp)
movl 0xac(%rsp), %ecx
movl 0xb0(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xb0(%rsp)
movl 0xa8(%rsp), %ecx
movl 0xb0(%rsp), %eax
subl %ecx, %eax
movl %eax, 0xb0(%rsp)
movl 0xa8(%rsp), %eax
shrl $0xf, %eax
xorl 0xb0(%rsp), %eax
movl %eax, 0xb0(%rsp)
jmp 0x1e11
jmp 0x1e13
jmp 0x1e15
movq $0x0, 0xc0(%rsp)
cmpq $0x0, 0xc8(%rsp)
je 0x1f73
jmp 0x1e32
movl 0xb0(%rsp), %eax
movq 0xc8(%rsp), %rcx
movq 0x8(%rcx), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
andl %ecx, %eax
movl %eax, 0x94(%rsp)
jmp 0x1e56
movq 0xc8(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
movl 0x94(%rsp), %ecx
shlq $0x4, %rcx
addq %rcx, %rax
cmpq $0x0, (%rax)
je 0x1eba
jmp 0x1e7b
movq 0xc8(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
movl 0x94(%rsp), %ecx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rax
movq 0xc8(%rsp), %rcx
movq 0x8(%rcx), %rdx
xorl %ecx, %ecx
subq 0x20(%rdx), %rcx
addq %rcx, %rax
movq %rax, 0xc0(%rsp)
jmp 0x1ec6
movq $0x0, 0xc0(%rsp)
jmp 0x1ec8
cmpq $0x0, 0xc0(%rsp)
je 0x1f6f
movq 0xc0(%rsp), %rax
movl 0x3c(%rax), %eax
cmpl 0xb0(%rsp), %eax
jne 0x1f22
movq 0xc0(%rsp), %rax
movl 0x38(%rax), %eax
cmpq $0x4, %rax
jne 0x1f22
movq 0xc0(%rsp), %rax
movq 0x30(%rax), %rax
movl (%rax), %eax
movl 0xb4(%rsp), %ecx
subl %ecx, %eax
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x1f20
jmp 0x1f6f
jmp 0x1f22
movq 0xc0(%rsp), %rax
cmpq $0x0, 0x28(%rax)
je 0x1f5e
jmp 0x1f33
movq 0xc0(%rsp), %rax
movq 0x28(%rax), %rax
movq 0xc8(%rsp), %rcx
movq 0x8(%rcx), %rdx
xorl %ecx, %ecx
subq 0x20(%rdx), %rcx
addq %rcx, %rax
movq %rax, 0xc0(%rsp)
jmp 0x1f6a
movq $0x0, 0xc0(%rsp)
jmp 0x1ec8
jmp 0x1f71
jmp 0x1f73
jmp 0x1f75
jmp 0x1f77
jmp 0x1f79
cmpq $0x0, 0xc0(%rsp)
jne 0x2d77
movl $0x40, %edi
callq 0x1070
movq %rax, 0xc0(%rsp)
movl 0xb4(%rsp), %ecx
movq 0xc0(%rsp), %rax
movl %ecx, (%rax)
movq 0xc0(%rsp), %rax
movl $0x0, 0x4(%rax)
jmp 0x1fbc
jmp 0x1fbe
movq 0xc0(%rsp), %rax
movq %rax, 0x78(%rsp)
movl $0xfeedbeef, 0x90(%rsp) # imm = 0xFEEDBEEF
movl $0x9e3779b9, 0x88(%rsp) # imm = 0x9E3779B9
movl $0x9e3779b9, 0x8c(%rsp) # imm = 0x9E3779B9
movl $0x4, 0x84(%rsp)
cmpl $0xc, 0x84(%rsp)
jb 0x2361
movq 0x78(%rsp), %rax
movzbl (%rax), %eax
movq 0x78(%rsp), %rcx
movzbl 0x1(%rcx), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movq 0x78(%rsp), %rcx
movzbl 0x2(%rcx), %ecx
shll $0x10, %ecx
addl %ecx, %eax
movq 0x78(%rsp), %rcx
movzbl 0x3(%rcx), %ecx
shll $0x18, %ecx
addl %ecx, %eax
addl 0x8c(%rsp), %eax
movl %eax, 0x8c(%rsp)
movq 0x78(%rsp), %rax
movzbl 0x4(%rax), %eax
movq 0x78(%rsp), %rcx
movzbl 0x5(%rcx), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movq 0x78(%rsp), %rcx
movzbl 0x6(%rcx), %ecx
shll $0x10, %ecx
addl %ecx, %eax
movq 0x78(%rsp), %rcx
movzbl 0x7(%rcx), %ecx
shll $0x18, %ecx
addl %ecx, %eax
addl 0x88(%rsp), %eax
movl %eax, 0x88(%rsp)
movq 0x78(%rsp), %rax
movzbl 0x8(%rax), %eax
movq 0x78(%rsp), %rcx
movzbl 0x9(%rcx), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movq 0x78(%rsp), %rcx
movzbl 0xa(%rcx), %ecx
shll $0x10, %ecx
addl %ecx, %eax
movq 0x78(%rsp), %rcx
movzbl 0xb(%rcx), %ecx
shll $0x18, %ecx
addl %ecx, %eax
addl 0x90(%rsp), %eax
movl %eax, 0x90(%rsp)
movl 0x88(%rsp), %ecx
movl 0x8c(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x8c(%rsp)
movl 0x90(%rsp), %ecx
movl 0x8c(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x8c(%rsp)
movl 0x90(%rsp), %eax
shrl $0xd, %eax
xorl 0x8c(%rsp), %eax
movl %eax, 0x8c(%rsp)
movl 0x90(%rsp), %ecx
movl 0x88(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x88(%rsp)
movl 0x8c(%rsp), %ecx
movl 0x88(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x88(%rsp)
movl 0x8c(%rsp), %eax
shll $0x8, %eax
xorl 0x88(%rsp), %eax
movl %eax, 0x88(%rsp)
movl 0x8c(%rsp), %ecx
movl 0x90(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x90(%rsp)
movl 0x88(%rsp), %ecx
movl 0x90(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x90(%rsp)
movl 0x88(%rsp), %eax
shrl $0xd, %eax
xorl 0x90(%rsp), %eax
movl %eax, 0x90(%rsp)
movl 0x88(%rsp), %ecx
movl 0x8c(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x8c(%rsp)
movl 0x90(%rsp), %ecx
movl 0x8c(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x8c(%rsp)
movl 0x90(%rsp), %eax
shrl $0xc, %eax
xorl 0x8c(%rsp), %eax
movl %eax, 0x8c(%rsp)
movl 0x90(%rsp), %ecx
movl 0x88(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x88(%rsp)
movl 0x8c(%rsp), %ecx
movl 0x88(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x88(%rsp)
movl 0x8c(%rsp), %eax
shll $0x10, %eax
xorl 0x88(%rsp), %eax
movl %eax, 0x88(%rsp)
movl 0x8c(%rsp), %ecx
movl 0x90(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x90(%rsp)
movl 0x88(%rsp), %ecx
movl 0x90(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x90(%rsp)
movl 0x88(%rsp), %eax
shrl $0x5, %eax
xorl 0x90(%rsp), %eax
movl %eax, 0x90(%rsp)
movl 0x88(%rsp), %ecx
movl 0x8c(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x8c(%rsp)
movl 0x90(%rsp), %ecx
movl 0x8c(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x8c(%rsp)
movl 0x90(%rsp), %eax
shrl $0x3, %eax
xorl 0x8c(%rsp), %eax
movl %eax, 0x8c(%rsp)
movl 0x90(%rsp), %ecx
movl 0x88(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x88(%rsp)
movl 0x8c(%rsp), %ecx
movl 0x88(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x88(%rsp)
movl 0x8c(%rsp), %eax
shll $0xa, %eax
xorl 0x88(%rsp), %eax
movl %eax, 0x88(%rsp)
movl 0x8c(%rsp), %ecx
movl 0x90(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x90(%rsp)
movl 0x88(%rsp), %ecx
movl 0x90(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x90(%rsp)
movl 0x88(%rsp), %eax
shrl $0xf, %eax
xorl 0x90(%rsp), %eax
movl %eax, 0x90(%rsp)
movq 0x78(%rsp), %rax
addq $0xc, %rax
movq %rax, 0x78(%rsp)
movl 0x84(%rsp), %eax
subl $0xc, %eax
movl %eax, 0x84(%rsp)
jmp 0x1ff7
movl 0x90(%rsp), %eax
addl $0x4, %eax
movl %eax, 0x90(%rsp)
movl 0x84(%rsp), %eax
decl %eax
movl %eax, %ecx
movq %rcx, 0x18(%rsp)
subl $0xa, %eax
ja 0x24b7
movq 0x18(%rsp), %rax
leaq 0x1cb5(%rip), %rcx      # 0x404c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x78(%rsp), %rax
movzbl 0xa(%rax), %eax
shll $0x18, %eax
addl 0x90(%rsp), %eax
movl %eax, 0x90(%rsp)
movq 0x78(%rsp), %rax
movzbl 0x9(%rax), %eax
shll $0x10, %eax
addl 0x90(%rsp), %eax
movl %eax, 0x90(%rsp)
movq 0x78(%rsp), %rax
movzbl 0x8(%rax), %eax
shll $0x8, %eax
addl 0x90(%rsp), %eax
movl %eax, 0x90(%rsp)
movq 0x78(%rsp), %rax
movzbl 0x7(%rax), %eax
shll $0x18, %eax
addl 0x88(%rsp), %eax
movl %eax, 0x88(%rsp)
movq 0x78(%rsp), %rax
movzbl 0x6(%rax), %eax
shll $0x10, %eax
addl 0x88(%rsp), %eax
movl %eax, 0x88(%rsp)
movq 0x78(%rsp), %rax
movzbl 0x5(%rax), %eax
shll $0x8, %eax
addl 0x88(%rsp), %eax
movl %eax, 0x88(%rsp)
movq 0x78(%rsp), %rax
movzbl 0x4(%rax), %eax
addl 0x88(%rsp), %eax
movl %eax, 0x88(%rsp)
movq 0x78(%rsp), %rax
movzbl 0x3(%rax), %eax
shll $0x18, %eax
addl 0x8c(%rsp), %eax
movl %eax, 0x8c(%rsp)
movq 0x78(%rsp), %rax
movzbl 0x2(%rax), %eax
shll $0x10, %eax
addl 0x8c(%rsp), %eax
movl %eax, 0x8c(%rsp)
movq 0x78(%rsp), %rax
movzbl 0x1(%rax), %eax
shll $0x8, %eax
addl 0x8c(%rsp), %eax
movl %eax, 0x8c(%rsp)
movq 0x78(%rsp), %rax
movzbl (%rax), %eax
addl 0x8c(%rsp), %eax
movl %eax, 0x8c(%rsp)
jmp 0x24b9
movl 0x88(%rsp), %ecx
movl 0x8c(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x8c(%rsp)
movl 0x90(%rsp), %ecx
movl 0x8c(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x8c(%rsp)
movl 0x90(%rsp), %eax
shrl $0xd, %eax
xorl 0x8c(%rsp), %eax
movl %eax, 0x8c(%rsp)
movl 0x90(%rsp), %ecx
movl 0x88(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x88(%rsp)
movl 0x8c(%rsp), %ecx
movl 0x88(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x88(%rsp)
movl 0x8c(%rsp), %eax
shll $0x8, %eax
xorl 0x88(%rsp), %eax
movl %eax, 0x88(%rsp)
movl 0x8c(%rsp), %ecx
movl 0x90(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x90(%rsp)
movl 0x88(%rsp), %ecx
movl 0x90(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x90(%rsp)
movl 0x88(%rsp), %eax
shrl $0xd, %eax
xorl 0x90(%rsp), %eax
movl %eax, 0x90(%rsp)
movl 0x88(%rsp), %ecx
movl 0x8c(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x8c(%rsp)
movl 0x90(%rsp), %ecx
movl 0x8c(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x8c(%rsp)
movl 0x90(%rsp), %eax
shrl $0xc, %eax
xorl 0x8c(%rsp), %eax
movl %eax, 0x8c(%rsp)
movl 0x90(%rsp), %ecx
movl 0x88(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x88(%rsp)
movl 0x8c(%rsp), %ecx
movl 0x88(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x88(%rsp)
movl 0x8c(%rsp), %eax
shll $0x10, %eax
xorl 0x88(%rsp), %eax
movl %eax, 0x88(%rsp)
movl 0x8c(%rsp), %ecx
movl 0x90(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x90(%rsp)
movl 0x88(%rsp), %ecx
movl 0x90(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x90(%rsp)
movl 0x88(%rsp), %eax
shrl $0x5, %eax
xorl 0x90(%rsp), %eax
movl %eax, 0x90(%rsp)
movl 0x88(%rsp), %ecx
movl 0x8c(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x8c(%rsp)
movl 0x90(%rsp), %ecx
movl 0x8c(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x8c(%rsp)
movl 0x90(%rsp), %eax
shrl $0x3, %eax
xorl 0x8c(%rsp), %eax
movl %eax, 0x8c(%rsp)
movl 0x90(%rsp), %ecx
movl 0x88(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x88(%rsp)
movl 0x8c(%rsp), %ecx
movl 0x88(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x88(%rsp)
movl 0x8c(%rsp), %eax
shll $0xa, %eax
xorl 0x88(%rsp), %eax
movl %eax, 0x88(%rsp)
movl 0x8c(%rsp), %ecx
movl 0x90(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x90(%rsp)
movl 0x88(%rsp), %ecx
movl 0x90(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x90(%rsp)
movl 0x88(%rsp), %eax
shrl $0xf, %eax
xorl 0x90(%rsp), %eax
movl %eax, 0x90(%rsp)
jmp 0x2731
jmp 0x2733
jmp 0x2735
movl 0x90(%rsp), %ecx
movq 0xc0(%rsp), %rax
movl %ecx, 0x3c(%rax)
movq 0xc0(%rsp), %rcx
movq 0xc0(%rsp), %rax
movq %rcx, 0x30(%rax)
movq 0xc0(%rsp), %rax
movl $0x4, 0x38(%rax)
cmpq $0x0, 0xc8(%rsp)
jne 0x28cb
movq 0xc0(%rsp), %rax
movq $0x0, 0x18(%rax)
movq 0xc0(%rsp), %rax
movq $0x0, 0x10(%rax)
movl $0x40, %edi
callq 0x1070
movq %rax, %rcx
movq 0xc0(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0xc0(%rsp), %rax
cmpq $0x0, 0x8(%rax)
jne 0x27cb
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x10c0
movq 0xc0(%rsp), %rax
movq 0x8(%rax), %rdi
xorl %esi, %esi
movl $0x40, %edx
callq 0x1050
movq 0xc0(%rsp), %rcx
addq $0x8, %rcx
movq 0xc0(%rsp), %rax
movq 0x8(%rax), %rax
movq %rcx, 0x18(%rax)
movq 0xc0(%rsp), %rax
movq 0x8(%rax), %rax
movl $0x20, 0x8(%rax)
movq 0xc0(%rsp), %rax
movq 0x8(%rax), %rax
movl $0x5, 0xc(%rax)
movq 0xc0(%rsp), %rcx
addq $0x8, %rcx
movq 0xc0(%rsp), %rax
subq %rax, %rcx
movq 0xc0(%rsp), %rax
movq 0x8(%rax), %rax
movq %rcx, 0x20(%rax)
movl $0x200, %edi            # imm = 0x200
callq 0x1070
movq %rax, %rcx
movq 0xc0(%rsp), %rax
movq 0x8(%rax), %rax
movq %rcx, (%rax)
movq 0xc0(%rsp), %rax
movq 0x8(%rax), %rax
movl $0xa0111fe1, 0x38(%rax) # imm = 0xA0111FE1
movq 0xc0(%rsp), %rax
movq 0x8(%rax), %rax
cmpq $0x0, (%rax)
jne 0x2897
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x10c0
movq 0xc0(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rdi
xorl %esi, %esi
movl $0x200, %edx            # imm = 0x200
callq 0x1050
jmp 0x28b4
jmp 0x28b6
movq 0xc0(%rsp), %rax
movq %rax, 0xc8(%rsp)
jmp 0x295e
movq 0xc8(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0xc0(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0xc0(%rsp), %rax
movq $0x0, 0x18(%rax)
movq 0xc8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x18(%rax), %rcx
movq 0xc8(%rsp), %rax
movq 0x8(%rax), %rdx
xorl %eax, %eax
subq 0x20(%rdx), %rax
addq %rax, %rcx
movq 0xc0(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0xc0(%rsp), %rcx
movq 0xc8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x18(%rax), %rax
movq %rcx, 0x10(%rax)
movq 0xc0(%rsp), %rcx
addq $0x8, %rcx
movq 0xc8(%rsp), %rax
movq 0x8(%rax), %rax
movq %rcx, 0x18(%rax)
jmp 0x295e
jmp 0x2960
movq 0xc8(%rsp), %rax
movq 0x8(%rax), %rax
movl 0x10(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x10(%rax)
movl 0x90(%rsp), %eax
movq 0xc8(%rsp), %rcx
movq 0x8(%rcx), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
andl %ecx, %eax
movl %eax, 0x74(%rsp)
jmp 0x2996
movq 0xc8(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
movl 0x74(%rsp), %ecx
shlq $0x4, %rcx
addq %rcx, %rax
movq %rax, 0x68(%rsp)
movq 0x68(%rsp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movq 0x68(%rsp), %rax
movq (%rax), %rcx
movq 0xc0(%rsp), %rax
movq %rcx, 0x28(%rax)
movq 0xc0(%rsp), %rax
movq $0x0, 0x20(%rax)
movq 0x68(%rsp), %rax
cmpq $0x0, (%rax)
je 0x2a0a
movq 0xc0(%rsp), %rcx
addq $0x8, %rcx
movq 0x68(%rsp), %rax
movq (%rax), %rax
movq %rcx, 0x18(%rax)
movq 0xc0(%rsp), %rcx
addq $0x8, %rcx
movq 0x68(%rsp), %rax
movq %rcx, (%rax)
movq 0x68(%rsp), %rax
movl 0x8(%rax), %eax
movq 0x68(%rsp), %rcx
movl 0xc(%rcx), %ecx
addl $0x1, %ecx
imull $0xa, %ecx, %ecx
cmpl %ecx, %eax
jb 0x2d5e
movq 0xc0(%rsp), %rax
movq 0x8(%rax), %rax
cmpl $0x0, 0x34(%rax)
jne 0x2d5e
jmp 0x2a54
movq 0xc0(%rsp), %rax
movq 0x8(%rax), %rax
movl 0x8(%rax), %eax
movl %eax, %edi
shlq %rdi
shlq $0x4, %rdi
callq 0x1070
movq %rax, 0x48(%rsp)
cmpq $0x0, 0x48(%rsp)
jne 0x2a88
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x10c0
movq 0x48(%rsp), %rdi
movq 0xc0(%rsp), %rax
movq 0x8(%rax), %rax
movl 0x8(%rax), %eax
movl %eax, %edx
shlq %rdx
shlq $0x4, %rdx
xorl %esi, %esi
callq 0x1050
movq 0xc0(%rsp), %rax
movq 0x8(%rax), %rax
movl 0x10(%rax), %eax
movq 0xc0(%rsp), %rcx
movq 0x8(%rcx), %rcx
movl 0xc(%rcx), %ecx
addl $0x1, %ecx
shrl %cl, %eax
movl %eax, %ecx
movq 0xc0(%rsp), %rax
movq 0x8(%rax), %rax
movl 0x10(%rax), %esi
movq 0xc0(%rsp), %rax
movq 0x8(%rax), %rax
movl 0x8(%rax), %eax
shll %eax
subl $0x1, %eax
andl %eax, %esi
xorl %eax, %eax
movl $0x1, %edx
cmpl $0x0, %esi
cmovnel %edx, %eax
addl %eax, %ecx
movq 0xc0(%rsp), %rax
movq 0x8(%rax), %rax
movl %ecx, 0x28(%rax)
movq 0xc0(%rsp), %rax
movq 0x8(%rax), %rax
movl $0x0, 0x2c(%rax)
movl $0x0, 0x60(%rsp)
movl 0x60(%rsp), %eax
movq 0xc0(%rsp), %rcx
movq 0x8(%rcx), %rcx
cmpl 0x8(%rcx), %eax
jae 0x2c8b
movq 0xc0(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
movl 0x60(%rsp), %ecx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rax
movq %rax, 0x58(%rsp)
cmpq $0x0, 0x58(%rsp)
je 0x2c79
movq 0x58(%rsp), %rax
movq 0x20(%rax), %rax
movq %rax, 0x50(%rsp)
movq 0x58(%rsp), %rax
movl 0x34(%rax), %eax
movq 0xc0(%rsp), %rcx
movq 0x8(%rcx), %rcx
movl 0x8(%rcx), %ecx
shll %ecx
subl $0x1, %ecx
andl %ecx, %eax
movl %eax, 0x64(%rsp)
movq 0x48(%rsp), %rax
movl 0x64(%rsp), %ecx
shlq $0x4, %rcx
addq %rcx, %rax
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rcx
movl 0x8(%rcx), %eax
addl $0x1, %eax
movl %eax, 0x8(%rcx)
movq 0xc0(%rsp), %rcx
movq 0x8(%rcx), %rcx
cmpl 0x28(%rcx), %eax
jbe 0x2c23
movq 0xc0(%rsp), %rax
movq 0x8(%rax), %rax
movl 0x2c(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x2c(%rax)
movq 0x40(%rsp), %rax
movl 0x8(%rax), %eax
movq 0x40(%rsp), %rcx
movl 0xc(%rcx), %ecx
movq 0xc0(%rsp), %rdx
movq 0x8(%rdx), %rdx
imull 0x28(%rdx), %ecx
cmpl %ecx, %eax
jbe 0x2c21
movq 0x40(%rsp), %rax
movl 0xc(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0xc(%rax)
jmp 0x2c23
movq 0x58(%rsp), %rax
movq $0x0, 0x18(%rax)
movq 0x40(%rsp), %rax
movq (%rax), %rcx
movq 0x58(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x40(%rsp), %rax
cmpq $0x0, (%rax)
je 0x2c5d
movq 0x58(%rsp), %rcx
movq 0x40(%rsp), %rax
movq (%rax), %rax
movq %rcx, 0x18(%rax)
movq 0x58(%rsp), %rcx
movq 0x40(%rsp), %rax
movq %rcx, (%rax)
movq 0x50(%rsp), %rax
movq %rax, 0x58(%rsp)
jmp 0x2b6a
jmp 0x2c7b
movl 0x60(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x60(%rsp)
jmp 0x2b2f
movq 0xc0(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rdi
callq 0x1030
movq 0xc0(%rsp), %rax
movq 0x8(%rax), %rax
movl 0x8(%rax), %ecx
shll %ecx
movl %ecx, 0x8(%rax)
movq 0xc0(%rsp), %rax
movq 0x8(%rax), %rax
movl 0xc(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0xc(%rax)
movq 0x48(%rsp), %rcx
movq 0xc0(%rsp), %rax
movq 0x8(%rax), %rax
movq %rcx, (%rax)
movq 0xc0(%rsp), %rax
movq 0x8(%rax), %rax
movl 0x2c(%rax), %eax
movq 0xc0(%rsp), %rcx
movq 0x8(%rcx), %rcx
movl 0x10(%rcx), %ecx
shrl %ecx
cmpl %ecx, %eax
jbe 0x2d18
movq 0xc0(%rsp), %rax
movq 0x8(%rax), %rax
movl 0x30(%rax), %eax
addl $0x1, %eax
movl %eax, 0x14(%rsp)
jmp 0x2d20
xorl %eax, %eax
movl %eax, 0x14(%rsp)
jmp 0x2d20
movl 0x14(%rsp), %ecx
movq 0xc0(%rsp), %rax
movq 0x8(%rax), %rax
movl %ecx, 0x30(%rax)
movq 0xc0(%rsp), %rax
movq 0x8(%rax), %rax
cmpl $0x1, 0x30(%rax)
jbe 0x2d58
movq 0xc0(%rsp), %rax
movq 0x8(%rax), %rax
movl $0x1, 0x34(%rax)
jmp 0x2d5a
jmp 0x2d5c
jmp 0x2d5e
jmp 0x2d60
jmp 0x2d62
jmp 0x2d64
jmp 0x2d66
movl 0xd4(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xd4(%rsp)
movq 0xc0(%rsp), %rcx
movl 0x4(%rcx), %eax
addl $0x1, %eax
movl %eax, 0x4(%rcx)
addl 0xd0(%rsp), %eax
movl %eax, 0xd0(%rsp)
movl 0xdc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xdc(%rsp)
jmp 0x15f0
movq 0xc8(%rsp), %rax
movq %rax, 0xc0(%rsp)
cmpq $0x0, 0xc8(%rsp)
je 0x2dda
movq 0xc8(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x8(%rsp)
jmp 0x2de3
xorl %eax, %eax
movq %rax, 0x8(%rsp)
jmp 0x2de3
movq 0x8(%rsp), %rax
movq %rax, 0xb8(%rsp)
cmpq $0x0, 0xc0(%rsp)
je 0x303e
jmp 0x2e01
movq 0xc0(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
cmpq $0x0, 0x8(%rax)
jne 0x2e60
movq 0x38(%rsp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x2e60
movq 0xc8(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rdi
callq 0x1030
movq 0xc8(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x1030
movq $0x0, 0xc8(%rsp)
jmp 0x2fe9
movq 0x38(%rsp), %rax
movq 0xc8(%rsp), %rcx
movq 0x8(%rcx), %rcx
cmpq 0x18(%rcx), %rax
jne 0x2ea0
movq 0x38(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0xc8(%rsp), %rax
movq 0x8(%rax), %rax
addq 0x20(%rax), %rcx
movq 0xc8(%rsp), %rax
movq 0x8(%rax), %rax
movq %rcx, 0x18(%rax)
movq 0x38(%rsp), %rax
cmpq $0x0, 0x8(%rax)
je 0x2ed5
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rdx
movq 0x38(%rsp), %rax
movq 0x8(%rax), %rax
movq 0xc8(%rsp), %rcx
movq 0x8(%rcx), %rcx
movq 0x20(%rcx), %rcx
movq %rdx, 0x10(%rax,%rcx)
jmp 0x2eea
jmp 0x2ed7
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0xc8(%rsp)
jmp 0x2eea
movq 0x38(%rsp), %rax
cmpq $0x0, 0x10(%rax)
je 0x2f1d
movq 0x38(%rsp), %rax
movq 0x8(%rax), %rdx
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rax
movq 0xc8(%rsp), %rcx
movq 0x8(%rcx), %rcx
movq 0x20(%rcx), %rcx
movq %rdx, 0x8(%rax,%rcx)
jmp 0x2f1f
movq 0x38(%rsp), %rax
movl 0x34(%rax), %eax
movq 0xc8(%rsp), %rcx
movq 0x8(%rcx), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
andl %ecx, %eax
movl %eax, 0x34(%rsp)
jmp 0x2f41
movq 0xc8(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
movl 0x34(%rsp), %ecx
shlq $0x4, %rcx
addq %rcx, %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movl 0x8(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x8(%rax)
movq 0x28(%rsp), %rax
movq (%rax), %rax
cmpq 0x38(%rsp), %rax
jne 0x2f8e
movq 0x38(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x28(%rsp), %rax
movq %rcx, (%rax)
movq 0x38(%rsp), %rax
cmpq $0x0, 0x18(%rax)
je 0x2fb0
movq 0x38(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x38(%rsp), %rax
movq 0x18(%rax), %rax
movq %rcx, 0x20(%rax)
movq 0x38(%rsp), %rax
cmpq $0x0, 0x20(%rax)
je 0x2fd2
movq 0x38(%rsp), %rax
movq 0x18(%rax), %rcx
movq 0x38(%rsp), %rax
movq 0x20(%rax), %rax
movq %rcx, 0x18(%rax)
jmp 0x2fd4
movq 0xc8(%rsp), %rax
movq 0x8(%rax), %rax
movl 0x10(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x10(%rax)
jmp 0x2feb
movq 0xc0(%rsp), %rdi
callq 0x1030
movq 0xb8(%rsp), %rax
movq %rax, 0xc0(%rsp)
cmpq $0x0, 0xb8(%rsp)
je 0x3025
movq 0xb8(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, (%rsp)
jmp 0x302d
xorl %eax, %eax
movq %rax, (%rsp)
jmp 0x302d
movq (%rsp), %rax
movq %rax, 0xb8(%rsp)
jmp 0x2df0
movq 0x2fb3(%rip), %rax      # 0x5ff8
movq (%rax), %rdi
movl 0xd4(%rsp), %edx
movl 0xd0(%rsp), %ecx
leaq 0x1070(%rip), %rsi      # 0x40cd
movb $0x0, %al
callq 0x1060
movl 0xd4(%rsp), %eax
addq $0xe8, %rsp
retq