0x0: push rbp
0x1: mov rbp, rsp
0x4: sub rsp, 0x20
0x8: mov dword ptr [rbp - 4], 0
0xf: mov dword ptr [rbp - 8], 9
0x16: mov dword ptr [rbp - 0xc], 0
0x1d: cmp dword ptr [rbp - 0xc], 0x3e8
0x24: jge 0x5d
0x26: mov eax, dword ptr [rbp - 0xc]
0x29: mov dword ptr [rbp - 0x18], eax
0x2c: mov eax, dword ptr [rbp - 0xc]
0x2f: xor eax, 0xaa
0x34: mov dword ptr [rbp - 0x14], eax
0x37: mov eax, dword ptr [rbp - 0xc]
0x3a: add eax, 3
0x3d: mov dword ptr [rbp - 0x10], eax
0x40: lea rdi, [rbp - 8]
0x44: lea rsi, [rbp - 0x18]
0x48: mov edx, 0x13
0x4d: call 0x65
0x52: mov eax, dword ptr [rbp - 0xc]
0x55: add eax, 1
0x58: mov dword ptr [rbp - 0xc], eax
0x5b: jmp 0x1d
0x5d: xor eax, eax
0x5f: add rsp, 0x20
0x63: pop rbp
0x64: ret
0x65: push rbp
0x66: mov rbp, rsp
0x69: mov qword ptr [rbp - 8], rdi
0x6d: mov qword ptr [rbp - 0x10], rsi
0x71: mov dword ptr [rbp - 0x14], edx
0x74: mov dword ptr [rbp - 0x18], 0
0x7b: mov dword ptr [rbp - 0x1c], 0
0x82: mov eax, dword ptr [rbp - 0x14]
0x85: xor eax, 0x5a
0x88: mov rcx, qword ptr [rbp - 0x10]
0x8c: mov ecx, dword ptr [rcx]
0x8e: shl ecx, 1
0x90: add eax, ecx
0x92: mov dword ptr [rbp - 0x20], eax
0x95: cmp dword ptr [rbp - 0x1c], 0xa
0x99: jge 0x120
0x9f: mov eax, dword ptr [rbp - 0x20]
0xa2: imul ecx, dword ptr [rbp - 0x1c], 3
0xa6: xor eax, ecx
0xa8: mov dword ptr [rbp - 0x20], eax
0xab: mov eax, dword ptr [rbp - 0x20]
0xae: and eax, 1
0xb1: cmp eax, 0
0xb4: jne 0xd0
0xb6: mov rax, qword ptr [rbp - 8]
0xba: movsxd rcx, dword ptr [rbp - 0x1c]
0xbe: mov eax, dword ptr [rax + rcx*4]
0xc1: mov rcx, qword ptr [rbp - 0x10]
0xc5: add eax, dword ptr [rcx + 4]
0xc8: add eax, dword ptr [rbp - 0x18]
0xcb: mov dword ptr [rbp - 0x18], eax
0xce: jmp 0xe8
0xd0: mov rax, qword ptr [rbp - 8]
0xd4: movsxd rcx, dword ptr [rbp - 0x1c]
0xd8: mov eax, dword ptr [rax + rcx*4]
0xdb: mov rcx, qword ptr [rbp - 0x10]
0xdf: xor eax, dword ptr [rcx + 8]
0xe2: add eax, dword ptr [rbp - 0x18]
0xe5: mov dword ptr [rbp - 0x18], eax
0xe8: cmp dword ptr [rbp - 0x18], 0x64
0xec: jle 0xf0
0xee: jmp 0x120
0xf0: mov eax, dword ptr [rbp - 0x1c]
0xf3: add eax, 1
0xf6: mov dword ptr [rbp - 0x1c], eax
0xf9: mov eax, dword ptr [rbp - 0x1c]
0xfc: mov ecx, 3
0x101: cdq
0x102: idiv ecx
0x104: cmp edx, 0
0x107: jne 0x10b
0x109: jmp 0x95
0x10b: mov eax, dword ptr [rbp - 0x20]
0x10e: shl eax, 1
0x110: mov ecx, dword ptr [rbp - 0x20]
0x113: sar ecx, 0x1f
0x116: or eax, ecx
0x118: mov dword ptr [rbp - 0x20], eax
0x11b: jmp 0x95
0x120: mov eax, dword ptr [rbp - 0x18]
0x123: shl eax, 1
0x125: mov dword ptr [rbp - 0x24], eax
0x128: mov eax, dword ptr [rbp - 0x24]
0x12b: sub eax, dword ptr [rbp - 0x18]
0x12e: mov dword ptr [rbp - 0x24], eax
0x131: cmp dword ptr [rbp - 0x14], 0
0x135: jge 0x142
0x137: mov eax, dword ptr [rbp - 0x24]
0x13a: xor eax, 0xdeadbeef
0x13f: mov dword ptr [rbp - 0x24], eax
0x142: mov eax, dword ptr [rbp - 0x24]
0x145: mov dword ptr [rip], eax
0x14b: mov eax, dword ptr [rbp - 0x18]
0x14e: add eax, dword ptr [rbp - 0x20]
0x151: pop rbp
0x152: ret