// File: acliusBackHome[P]kamaya/dist/IR.cpp
// Function: IR::size2type[abi:cxx11](unsigned long)
string IR::size2type(size_t size) {
  static map<size_t, string> mp = {{1, "db"}, {2, "dw"}, {4, "dd"}, {8, "dq"}};
  if (mp.find(size) == mp.end()) {
    log("other size: " + to_string(size));
    return "unknown";
  } else {
    return mp[size];
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1c0, %rsp            # imm = 0x1C0
movq %rdi, -0x160(%rbp)
movq %rdi, %rax
movq %rax, -0x158(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
cmpb $0x0, 0x42e61(%rip)     # 0xc77d0
jne 0x84b00
leaq 0x42e54(%rip), %rdi     # 0xc77d0
callq 0x4600
cmpl $0x0, %eax
je 0x84b00
leaq -0xc8(%rbp), %rdi
movq %rdi, -0xd0(%rbp)
movl $0x1, -0xd4(%rbp)
leaq 0xa9e6(%rip), %rdx      # 0x8f38f
leaq -0xd4(%rbp), %rsi
callq 0x25ad0
jmp 0x849b7
leaq -0xa0(%rbp), %rdi
movq %rdi, -0xd0(%rbp)
movl $0x2, -0xe8(%rbp)
leaq 0xa9bc(%rip), %rdx      # 0x8f392
leaq -0xe8(%rbp), %rsi
callq 0x25ad0
jmp 0x849e4
leaq -0x78(%rbp), %rdi
movq %rdi, -0xd0(%rbp)
movl $0x4, -0xec(%rbp)
leaq 0xcf6d(%rip), %rdx      # 0x9196d
leaq -0xec(%rbp), %rsi
callq 0x25ad0
jmp 0x84a0e
leaq -0x50(%rbp), %rdi
movq %rdi, -0xd0(%rbp)
movl $0x8, -0xf0(%rbp)
leaq 0xa96b(%rip), %rdx      # 0x8f395
leaq -0xf0(%rbp), %rsi
callq 0x25ad0
jmp 0x84a38
leaq -0xc8(%rbp), %rax
movq %rax, -0x28(%rbp)
movq $0x4, -0x20(%rbp)
leaq -0xf2(%rbp), %rdi
movq %rdi, -0x168(%rbp)
callq 0x25b50
movq -0x168(%rbp), %r8
movq -0x28(%rbp), %rsi
movq -0x20(%rbp), %rdx
leaq 0x42d2c(%rip), %rdi     # 0xc77a0
leaq -0xf1(%rbp), %rcx
callq 0x25b70
jmp 0x84a82
leaq -0xf2(%rbp), %rdi
callq 0x25c70
leaq -0xc8(%rbp), %rax
movq %rax, -0x178(%rbp)
addq $0xa0, %rax
movq %rax, -0x170(%rbp)
movq -0x170(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0x180(%rbp)
callq 0x236e0
movq -0x178(%rbp), %rcx
movq -0x180(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x170(%rbp)
jne 0x84aa9
leaq -0x643d1(%rip), %rdi    # 0x20710
leaq 0x42cb8(%rip), %rsi     # 0xc77a0
leaq 0x41859(%rip), %rdx     # 0xc6348
callq 0x42a0
leaq 0x42cd5(%rip), %rdi     # 0xc77d0
callq 0x4240
leaq 0x42c99(%rip), %rdi     # 0xc77a0
leaq -0x18(%rbp), %rsi
callq 0x497f0
movq %rax, -0x100(%rbp)
leaq 0x42c82(%rip), %rdi     # 0xc77a0
callq 0x49850
movq %rax, -0x108(%rbp)
leaq -0x100(%rbp), %rdi
leaq -0x108(%rbp), %rsi
callq 0x29e80
testb $0x1, %al
jne 0x84b46
jmp 0x84d1b
movq -0x18(%rbp), %rsi
leaq -0x148(%rbp), %rdi
movq %rdi, -0x188(%rbp)
callq 0x15db0
movq -0x188(%rbp), %rdx
leaq 0xcf39(%rip), %rsi      # 0x91aa4
leaq -0x128(%rbp), %rdi
callq 0x15d60
jmp 0x84b79
leaq -0x128(%rbp), %rdi
callq 0x87a40
jmp 0x84b87
leaq -0x128(%rbp), %rdi
callq 0x4688
leaq -0x148(%rbp), %rdi
callq 0x4688
leaq -0x149(%rbp), %rdi
movq %rdi, -0x190(%rbp)
callq 0x45f0
movq -0x160(%rbp), %rdi
movq -0x190(%rbp), %rdx
leaq 0xaa30(%rip), %rsi      # 0x8f5f7
callq 0x4450
jmp 0x84bce
leaq -0x149(%rbp), %rdi
callq 0x4380
jmp 0x84d3a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
movq -0xd0(%rbp), %rax
leaq -0xc8(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x198(%rbp)
je 0x84c3c
movq -0x198(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0x1a0(%rbp)
callq 0x236e0
movq -0x1a0(%rbp), %rax
leaq -0xc8(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x198(%rbp)
jne 0x84c0b
jmp 0x84caa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
leaq -0xf2(%rbp), %rdi
callq 0x25c70
leaq -0xc8(%rbp), %rax
movq %rax, -0x1b0(%rbp)
addq $0xa0, %rax
movq %rax, -0x1a8(%rbp)
movq -0x1a8(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0x1b8(%rbp)
callq 0x236e0
movq -0x1b0(%rbp), %rcx
movq -0x1b8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x1a8(%rbp)
jne 0x84c77
jmp 0x84caa
leaq 0x42b1f(%rip), %rdi     # 0xc77d0
callq 0x4230
jmp 0x84d4a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0x84ced
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
leaq -0x128(%rbp), %rdi
callq 0x4688
leaq -0x148(%rbp), %rdi
callq 0x4688
jmp 0x84d4a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
leaq -0x149(%rbp), %rdi
callq 0x4380
jmp 0x84d4a
leaq 0x42a7e(%rip), %rdi     # 0xc77a0
leaq -0x18(%rbp), %rsi
callq 0x80a70
movq -0x160(%rbp), %rdi
movq %rax, %rsi
callq 0x4190
movq -0x158(%rbp), %rax
addq $0x1c0, %rsp            # imm = 0x1C0
popq %rbp
retq
movq -0xe0(%rbp), %rdi
callq 0x45e0
nopw %cs:(%rax,%rax)