// File: /workspace/github_cpp_makefile_star2_O3/mhe[P]raytracerframework_cpp/lodepng.cpp
// Function: LodeFlate_inflate(ucvector*, unsigned char const*, unsigned long, unsigned long)
unsigned LodeFlate_inflate(ucvector* out, const unsigned char* in, size_t insize, size_t inpos)
{
  size_t bp = 0; /*bit pointer in the "in" data, current byte is bp >> 3, current bit is bp & 0x7 (from lsb to msb of the byte)*/
  unsigned BFINAL = 0;
  size_t pos = 0; /*byte position in the out buffer*/
  
  unsigned error = 0;
  
  while(!BFINAL)
  {
    unsigned BTYPE;
    if((bp >> 3) >= insize) return 52; /*error, bit pointer will jump past memory*/
    BFINAL = readBitFromStream(&bp, &in[inpos]);
    BTYPE = 1 * readBitFromStream(&bp, &in[inpos]); BTYPE += 2 * readBitFromStream(&bp, &in[inpos]);

    if(BTYPE == 3) return 20; /*error: invalid BTYPE*/
    else if(BTYPE == 0) error = inflateNoCompression(out, &in[inpos], &bp, &pos, insize); /*no compression*/
    else error = inflateHuffmanBlock(out, &in[inpos], &bp, &pos, insize, BTYPE); /*compression, BTYPE 01 or 10*/
    if(error) return error;
  }
  
  if(!ucvector_resize(out, pos)) error = 9916; /*Only now we know the true size of out, resize it to that*/
  
  return error;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x178, %rsp            # imm = 0x178
movq %rsi, %r15
leaq -0x38(%rbp), %rax
movq $0x0, (%rax)
addq %rcx, %r15
leaq -0x4(%rdx), %rax
movq %rax, -0xb0(%rbp)
movq %rdx, -0x48(%rbp)
leaq -0x2(%rdx), %rax
movq %rax, -0xa8(%rbp)
xorl %r12d, %r12d
xorl %r8d, %r8d
movq %rdi, -0x58(%rbp)
testl %r8d, %r8d
jne 0x1aaf1
movq -0x38(%rbp), %r10
movq %r10, %rax
shrq $0x3, %rax
movl $0x34, %r13d
cmpq -0x48(%rbp), %rax
jae 0x1ab27
movzbl (%r15,%rax), %eax
movl %r10d, %ecx
andl $0x7, %ecx
xorl %r8d, %r8d
btl %ecx, %eax
setb %r9b
leaq 0x1(%r10), %rax
movq %rax, %rcx
shrq $0x3, %rcx
movzbl (%r15,%rcx), %ecx
andl $0x7, %eax
btl %eax, %ecx
setb %sil
leaq 0x2(%r10), %rcx
movq %rcx, %rax
shrq $0x3, %rax
movb (%r15,%rax), %dl
andb $0x7, %cl
shrb %cl, %dl
leaq 0x3(%r10), %rax
movq %rax, -0x38(%rbp)
addb %dl, %dl
andb $0x2, %dl
orb %sil, %dl
testb %dl, %dl
je 0x1a39f
movzbl %dl, %ecx
cmpl $0x3, %ecx
je 0x1ab09
movl $0x0, -0x3c(%rbp)
xorps %xmm0, %xmm0
movaps %xmm0, -0x100(%rbp)
movaps %xmm0, -0xf0(%rbp)
movaps %xmm0, -0xe0(%rbp)
movaps %xmm0, -0xd0(%rbp)
xorl %esi, %esi
movq %rsi, -0xc0(%rbp)
movaps %xmm0, -0x1a0(%rbp)
movaps %xmm0, -0x190(%rbp)
movaps %xmm0, -0x180(%rbp)
movaps %xmm0, -0x170(%rbp)
movq %rsi, -0x160(%rbp)
cmpb $0x2, %dl
movb %r9b, -0x29(%rbp)
je 0x1a44a
cmpl $0x1, %ecx
jne 0x1a120
leaq -0x100(%rbp), %rdi
callq 0x2225b
leaq -0x1a0(%rbp), %rdi
callq 0x222f1
leaq -0x3c(%rbp), %rdi
movq %r15, %rsi
leaq -0x38(%rbp), %rdx
leaq -0x100(%rbp), %rcx
movq -0x48(%rbp), %r8
callq 0x221b3
movl -0x3c(%rbp), %r13d
testl %r13d, %r13d
jne 0x1aac0
movl %eax, %r14d
movq %r12, %rbx
cmpl $0x100, %r14d           # imm = 0x100
je 0x1a61d
jae 0x1a19b
movq -0x58(%rbp), %rcx
movq 0x8(%rcx), %rax
cmpq %rax, %rbx
jb 0x1a183
leaq 0x2(,%rbx,2), %rsi
movq -0x58(%rbp), %rdi
callq 0x1ab3c
movq -0x58(%rbp), %rcx
movq 0x8(%rcx), %rax
cmpq %rax, %rbx
jae 0x1a65f
movq (%rcx), %rax
movb %r14b, (%rax,%rbx)
incq %rbx
jmp 0x1a369
cmpl $0x11d, %r14d           # imm = 0x11D
ja 0x1a369
movq -0x38(%rbp), %rax
movq %rax, %rcx
shrq $0x3, %rcx
movl $0x33, %r13d
cmpq -0x48(%rbp), %rcx
jae 0x1a68e
addl $0xfffffeff, %r14d      # imm = 0xFFFFFEFF
leaq -0x1c(%r14), %rcx
cmpq $-0x14, %rcx
jae 0x1a1d9
xorl %r13d, %r13d
jmp 0x1a23b
leaq 0x16760(%rip), %rcx     # 0x30940
movl (%rcx,%r14,4), %edx
cmpl $0x2, %edx
movl $0x1, %esi
cmovael %edx, %esi
decl %esi
cmpq $0x1, %rdx
adcq $0x0, %rdx
xorl %ecx, %ecx
movq %rax, %r8
xorl %edi, %edi
movq %r8, %r9
shrq $0x3, %r9
movzbl (%r15,%r9), %r9d
movl %r8d, %r10d
andl $0x7, %r10d
xorl %r11d, %r11d
btl %r10d, %r9d
setb %r11b
shll %cl, %r11d
incq %r8
addl %r11d, %edi
incq %rcx
cmpl %ecx, %edx
jne 0x1a200
addq %rsi, %rax
incq %rax
movq %rax, -0x38(%rbp)
movl %edi, %r13d
leaq 0x1667e(%rip), %rax     # 0x308c0
movl (%rax,%r14,4), %r14d
leaq -0x3c(%rbp), %rdi
movq %r15, %rsi
leaq -0x38(%rbp), %rdx
leaq -0x1a0(%rbp), %rcx
movq -0x48(%rbp), %r8
callq 0x221b3
movl -0x3c(%rbp), %ecx
testl %ecx, %ecx
jne 0x1a667
cmpl $0x1d, %eax
ja 0x1a672
movq -0x38(%rbp), %rsi
movq %rsi, %rcx
shrq $0x3, %rcx
cmpq -0x48(%rbp), %rcx
jae 0x1a67a
movl %eax, %edx
xorl %r12d, %r12d
cmpl $0x4, %eax
jb 0x1a2f4
leaq 0x167a5(%rip), %rax     # 0x30a40
movl (%rax,%rdx,4), %eax
cmpl $0x2, %eax
movl $0x1, %edi
cmovael %eax, %edi
decl %edi
cmpq $0x1, %rax
adcq $0x0, %rax
xorl %ecx, %ecx
movq %rsi, %r8
xorl %r12d, %r12d
movq %r8, %r9
shrq $0x3, %r9
movzbl (%r15,%r9), %r9d
movl %r8d, %r10d
andl $0x7, %r10d
xorl %r11d, %r11d
btl %r10d, %r9d
setb %r11b
shll %cl, %r11d
incq %r8
addl %r11d, %r12d
incq %rcx
cmpl %ecx, %eax
jne 0x1a2bb
leaq (%rsi,%rdi), %rax
incq %rax
movq %rax, -0x38(%rbp)
addq %r14, %r13
leaq 0x166c2(%rip), %rax     # 0x309c0
movl (%rax,%rdx,4), %ecx
leaq (%rbx,%r13), %r14
movq -0x58(%rbp), %rdi
movq 0x8(%rdi), %rax
cmpq %rax, %r14
jb 0x1a32d
leaq (%r14,%r14), %rsi
movq -0x58(%rbp), %rdi
movl %ecx, -0x68(%rbp)
callq 0x1ab3c
movl -0x68(%rbp), %ecx
movq -0x58(%rbp), %rdi
movq 0x8(%rdi), %rax
cmpq %rax, %r14
jae 0x1a688
testq %r13, %r13
je 0x1a369
addl %ecx, %r12d
movq %rbx, %rax
subq %r12, %rax
movq %rbx, %r12
movq %rax, %rcx
movq (%rdi), %rdx
movb (%rdx,%rcx), %sil
movb %sil, (%rdx,%r12)
incq %r12
incq %rcx
cmpq %rbx, %rcx
cmovaeq %rax, %rcx
decq %r13
jne 0x1a34a
jmp 0x1a36c
movq %rbx, %r12
leaq -0x3c(%rbp), %rdi
movq %r15, %rsi
leaq -0x38(%rbp), %rdx
leaq -0x100(%rbp), %rcx
movq -0x48(%rbp), %r8
callq 0x221b3
movl %eax, %r14d
movl -0x3c(%rbp), %r13d
movq %r12, %rbx
testl %r13d, %r13d
je 0x1a14e
jmp 0x1aac0
movl %eax, %ecx
andl $0x7, %ecx
movq %rcx, %rdx
xorq $0x7, %rdx
testq %rcx, %rcx
leaq 0x4(%r10,%rdx), %rbx
cmoveq %rax, %rbx
shrq $0x3, %rbx
cmpq -0xb0(%rbp), %rbx
jae 0x1ab27
movzwl (%r15,%rbx), %r14d
movzwl 0x2(%r15,%rbx), %eax
addl %r14d, %eax
cmpl $0xffff, %eax           # imm = 0xFFFF
jne 0x1ab11
movl %r14d, %r13d
leaq (%r12,%r13), %rsi
cmpq 0x8(%rdi), %rsi
jb 0x1a40e
movq -0x58(%rbp), %rdi
movb %r9b, -0x29(%rbp)
callq 0x1ab3c
movb -0x29(%rbp), %r9b
xorl %r8d, %r8d
movq -0x58(%rbp), %rdi
testl %eax, %eax
je 0x1ab21
addq $0x4, %rbx
addq %rbx, %r13
cmpq -0x48(%rbp), %r13
ja 0x1ab19
testl %r14d, %r14d
je 0x1a43a
movb (%r15,%rbx), %al
incq %rbx
movq (%rdi), %rcx
movb %al, (%rcx,%r12)
incq %r12
decl %r14d
jne 0x1a424
shlq $0x3, %rbx
movq %rbx, -0x38(%rbp)
xorl %r13d, %r13d
jmp 0x1aae3
movaps %xmm0, -0x120(%rbp)
movaps %xmm0, -0x130(%rbp)
movaps %xmm0, -0x140(%rbp)
movaps %xmm0, -0x150(%rbp)
movq $0x0, -0x110(%rbp)
movq %rax, %rcx
shrq $0x3, %rcx
movl $0x31, %ebx
cmpq -0xa8(%rbp), %rcx
jae 0x1a609
xorl %ecx, %ecx
xorl %edx, %edx
movl %edx, %edi
movq %rax, %rdx
shrq $0x3, %rdx
movzbl (%r15,%rdx), %edx
movl %eax, %esi
andl $0x7, %esi
xorl %r13d, %r13d
btl %esi, %edx
setb %r13b
shll %cl, %r13d
incq %rax
leal (%rdi,%r13), %edx
incl %ecx
cmpl $0x5, %ecx
jne 0x1a48e
movq %rdi, -0xa0(%rbp)
movq %rdx, -0x88(%rbp)
leaq 0x8(%r10), %rax
xorl %ecx, %ecx
xorl %edx, %edx
movl %edx, %edi
movq %rax, %rdx
shrq $0x3, %rdx
movzbl (%r15,%rdx), %edx
movl %eax, %esi
andl $0x7, %esi
xorl %r14d, %r14d
btl %esi, %edx
setb %r14b
shll %cl, %r14d
incq %rax
leal (%r14,%rdi), %edx
incl %ecx
cmpl $0x5, %ecx
jne 0x1a4d2
movq %rdi, -0x98(%rbp)
movl %edx, -0x4c(%rbp)
leaq 0xd(%r10), %rax
xorl %ecx, %ecx
xorl %ebx, %ebx
movq %rax, %rdx
shrq $0x3, %rdx
movzbl (%r15,%rdx), %edx
movl %eax, %esi
andl $0x7, %esi
xorl %edi, %edi
btl %esi, %edx
setb %dil
shll %cl, %edi
incq %rax
addl %edi, %ebx
incl %ecx
cmpl $0x4, %ecx
jne 0x1a512
addq $0x11, %r10
movq %r10, -0x68(%rbp)
movq %r10, -0x38(%rbp)
movl $0x98, %edi
callq 0x4410
testq %rax, %rax
je 0x1a622
movq %rax, %rsi
movq -0x88(%rbp), %rax
addl $0x101, %eax            # imm = 0x101
movl %eax, -0x6c(%rbp)
addl $0x4, %ebx
xorl %eax, %eax
leaq 0x16549(%rip), %r10     # 0x30ac0
movq -0x68(%rbp), %r11
xorl %edx, %edx
cmpq %rbx, %rax
jae 0x1a5c9
movq %rsi, %r10
xorl %ecx, %ecx
movq %r11, %rsi
xorl %edx, %edx
movq %rsi, %rdi
shrq $0x3, %rdi
movzbl (%r15,%rdi), %edi
movl %esi, %r8d
andl $0x7, %r8d
xorl %r9d, %r9d
btl %r8d, %edi
setb %r9b
shll %cl, %r9d
incq %rsi
addl %r9d, %edx
incq %rcx
cmpl $0x3, %ecx
jne 0x1a58c
addq $0x3, %r11
movq %r10, %rsi
leaq 0x164f7(%rip), %r10     # 0x30ac0
movl (%r10,%rax,4), %ecx
movl %edx, (%rsi,%rcx,4)
incq %rax
cmpq $0x13, %rax
jne 0x1a57b
movq %r11, -0x38(%rbp)
movl $0x13, %edx
leaq -0x150(%rbp), %rdi
movq %rsi, -0x78(%rbp)
movl $0x7, %ecx
callq 0x22395
movl %eax, %ebx
movl %eax, -0x50(%rbp)
movq -0x78(%rbp), %rdi
callq 0x4380
testl %ebx, %ebx
je 0x1a62f
leaq -0x150(%rbp), %rdi
callq 0x22167
movl %ebx, %r13d
jmp 0x1aac0
xorl %r13d, %r13d
jmp 0x1a68e
movl $0x26b7, %r13d          # imm = 0x26B7
xorl %edi, %edi
jmp 0x1aaa2
movl $0x900, %edi            # imm = 0x900
callq 0x4410
testq %rax, %rax
movq %rax, -0x60(%rbp)
je 0x1a696
movl $0x480, %edx            # imm = 0x480
movq %rax, %rdi
xorl %esi, %esi
callq 0x4170
movl $0x120, %eax            # imm = 0x120
movq %rax, -0x90(%rbp)
jmp 0x1a6a1
movl $0x26b9, %r13d          # imm = 0x26B9
jmp 0x1a68e
movq %rbx, %r12
movl %ecx, %r13d
jmp 0x1aac0
movl $0x12, %r13d
jmp 0x1a68e
movq %rbx, %r12
movl $0x33, %r13d
jmp 0x1aac0
movl $0x26ba, %r13d          # imm = 0x26BA
movq %rbx, %r12
jmp 0x1aac0
movq $0x0, -0x90(%rbp)
movl $0x100, %edi            # imm = 0x100
callq 0x4410
movl $0x26b8, %ebx           # imm = 0x26B8
testq %rax, %rax
movq %rax, -0x80(%rbp)
je 0x1aa92
xorps %xmm0, %xmm0
movups %xmm0, 0x70(%rax)
movups %xmm0, 0x60(%rax)
movups %xmm0, 0x50(%rax)
movups %xmm0, 0x40(%rax)
movups %xmm0, 0x30(%rax)
movups %xmm0, 0x20(%rax)
movups %xmm0, 0x10(%rax)
movups %xmm0, (%rax)
cmpq $0x0, -0x60(%rbp)
je 0x1aa92
movl -0x4c(%rbp), %ecx
addl -0x88(%rbp), %ecx
addl $0x102, %ecx            # imm = 0x102
je 0x1aa7f
movl -0x6c(%rbp), %eax
movq %rax, -0x68(%rbp)
addl -0xa0(%rbp), %r13d
movl $0xfffffeff, %eax       # imm = 0xFFFFFEFF
subl %r13d, %eax
movq %rax, -0x78(%rbp)
addl -0x98(%rbp), %r13d
leal (%r14,%r13), %eax
addl $0x102, %eax            # imm = 0x102
movl %eax, -0x4c(%rbp)
xorl %r14d, %r14d
movl %ecx, %r13d
leaq -0x50(%rbp), %rdi
movq %r15, %rsi
leaq -0x38(%rbp), %rdx
leaq -0x150(%rbp), %rcx
movq -0x48(%rbp), %r8
callq 0x221b3
movl -0x50(%rbp), %ecx
movl %ecx, %ebx
testl %ecx, %ecx
movq -0x80(%rbp), %r11
jne 0x1aa92
cmpl $0xf, %eax
ja 0x1a78d
xorl %edx, %edx
movl -0x6c(%rbp), %ecx
cmpl %ecx, %r14d
movl $0x0, %ebx
cmovbl %edx, %ecx
movq %r11, %rdx
cmovbq -0x60(%rbp), %rdx
movl %r14d, %esi
subl %ecx, %esi
movl %eax, (%rdx,%rsi,4)
incl %r14d
movb $0x1, %al
jmp 0x1aa1d
cmpl $0x12, %eax
je 0x1a943
cmpl $0x11, %eax
je 0x1a888
cmpl $0x10, %eax
jne 0x1aa8d
movq -0x38(%rbp), %rax
movq %rax, %rcx
shrq $0x3, %rcx
cmpq -0x48(%rbp), %rcx
jae 0x1aa86
xorl %ecx, %ecx
movq %rax, %rsi
xorl %edx, %edx
movq %rsi, %rdi
shrq $0x3, %rdi
movzbl (%r15,%rdi), %edi
movl %esi, %r8d
andl $0x7, %r8d
xorl %r9d, %r9d
btl %r8d, %edi
setb %r9b
shll %cl, %r9d
incq %rsi
addl %r9d, %edx
incq %rcx
cmpl $0x2, %ecx
jne 0x1a7c4
addq $0x2, %rax
leal -0x1(%r14), %ecx
movl %r14d, %esi
subl -0x88(%rbp), %esi
addl $0xfffffefe, %esi       # imm = 0xFFFFFEFE
cmpl -0x6c(%rbp), %ecx
movq -0x60(%rbp), %r8
leaq (%r8,%rcx,4), %rdi
leaq (%r11,%rsi,4), %rcx
cmovbq %rdi, %rcx
movq %rax, -0x38(%rbp)
xorl %ebx, %ebx
movb $0x1, %al
addl $0x3, %edx
je 0x1aa1d
movl (%rcx), %ecx
movl %r14d, %esi
leaq (%r8,%rsi,4), %rdi
movl %r13d, %r9d
cmpl %r13d, %r14d
cmovbl %r14d, %r9d
movl %edx, %edx
movl -0x4c(%rbp), %r8d
subl %r9d, %r8d
xorl %r9d, %r9d
cmpl %r9d, %r8d
je 0x1aa01
leaq (%rsi,%r9), %r10
movq -0x78(%rbp), %r11
addl %r14d, %r11d
cmpq -0x68(%rbp), %r10
movq -0x80(%rbp), %r10
leaq (%r10,%r11,4), %r10
cmovbq %rdi, %r10
movl %ecx, (%r10)
incl %r14d
addq $0x4, %rdi
incq %r9
cmpl %r9d, %edx
jne 0x1a84d
jmp 0x1aa1d
movq -0x38(%rbp), %rax
movq %rax, %rcx
shrq $0x3, %rcx
cmpq -0x48(%rbp), %rcx
jae 0x1aa86
xorl %ecx, %ecx
movq %rax, %rsi
xorl %edx, %edx
movq %rsi, %rdi
shrq $0x3, %rdi
movzbl (%r15,%rdi), %edi
movl %esi, %r8d
andl $0x7, %r8d
xorl %r9d, %r9d
btl %r8d, %edi
setb %r9b
shll %cl, %r9d
incq %rsi
addl %r9d, %edx
incq %rcx
cmpl $0x3, %ecx
jne 0x1a8a4
addq $0x3, %rax
movq %rax, -0x38(%rbp)
xorl %ebx, %ebx
movb $0x1, %al
addl $0x3, %edx
je 0x1aa1d
movl %r14d, %ecx
movq -0x60(%rbp), %rsi
leaq (%rsi,%rcx,4), %rsi
movl %r13d, %r8d
cmpl %r13d, %r14d
cmovbl %r14d, %r8d
movl %edx, %edx
movl -0x4c(%rbp), %edi
subl %r8d, %edi
xorl %r8d, %r8d
cmpl %r8d, %edi
je 0x1a9f3
leaq (%rcx,%r8), %r9
movq -0x78(%rbp), %r10
addl %r14d, %r10d
cmpq -0x68(%rbp), %r9
leaq (%r11,%r10,4), %r9
cmovbq %rsi, %r9
movl $0x0, (%r9)
incl %r14d
addq $0x4, %rsi
incq %r8
cmpl %r8d, %edx
jne 0x1a908
jmp 0x1aa1d
movq -0x38(%rbp), %rax
movq %rax, %rcx
shrq $0x3, %rcx
cmpq -0x48(%rbp), %rcx
jae 0x1aa86
xorl %ecx, %ecx
movq %rax, %rsi
xorl %edx, %edx
movq %rsi, %rdi
shrq $0x3, %rdi
movzbl (%r15,%rdi), %edi
movl %esi, %r8d
andl $0x7, %r8d
xorl %r9d, %r9d
btl %r8d, %edi
setb %r9b
shll %cl, %r9d
incq %rsi
addl %r9d, %edx
incq %rcx
cmpl $0x7, %ecx
jne 0x1a95f
addq $0x7, %rax
movq %rax, -0x38(%rbp)
xorl %ebx, %ebx
movb $0x1, %al
addl $0xb, %edx
je 0x1aa1d
movl %r14d, %ecx
movq -0x60(%rbp), %rsi
leaq (%rsi,%rcx,4), %rsi
movl %r13d, %r8d
cmpl %r13d, %r14d
cmovbl %r14d, %r8d
movl %edx, %edx
movl -0x4c(%rbp), %edi
subl %r8d, %edi
xorl %r8d, %r8d
cmpl %r8d, %edi
je 0x1aa0f
leaq (%rcx,%r8), %r9
movq -0x78(%rbp), %r10
addl %r14d, %r10d
cmpq -0x68(%rbp), %r9
leaq (%r11,%r10,4), %r9
cmovbq %rsi, %r9
movl $0x0, (%r9)
incl %r14d
addq $0x4, %rsi
incq %r8
cmpl %r8d, %edx
jne 0x1a9bf
jmp 0x1aa1d
movl $0xe, -0x50(%rbp)
movl $0xe, %ebx
jmp 0x1aa1b
movl $0xd, -0x50(%rbp)
movl $0xd, %ebx
jmp 0x1aa1b
movl $0xf, -0x50(%rbp)
movl $0xf, %ebx
xorl %eax, %eax
movl %r13d, %ecx
cmpl %r13d, %r14d
jb 0x1a72f
testb %al, %al
je 0x1aa92
movq -0x60(%rbp), %rax
cmpl $0x0, 0x400(%rax)
movl $0x40, %ebx
je 0x1aa92
leaq -0x100(%rbp), %rdi
movq -0x60(%rbp), %rsi
movq -0x90(%rbp), %rdx
movl $0xf, %ecx
callq 0x22395
movq -0x80(%rbp), %rsi
movl %eax, %ebx
testl %eax, %eax
jne 0x1aa92
movl $0x20, %edx
leaq -0x1a0(%rbp), %rdi
movl $0xf, %ecx
callq 0x22395
movl %eax, %ebx
jmp 0x1aa92
movl $0x40, %ebx
jmp 0x1aa92
movl $0x32, %ebx
jmp 0x1aa92
movl $0x10, %ebx
movq -0x60(%rbp), %rdi
callq 0x4380
movq -0x80(%rbp), %rdi
movl %ebx, %r13d
callq 0x4380
movl %r13d, -0x3c(%rbp)
leaq -0x150(%rbp), %rdi
callq 0x22167
testl %r13d, %r13d
je 0x1a120
leaq -0x100(%rbp), %rdi
callq 0x22167
leaq -0x1a0(%rbp), %rdi
callq 0x22167
movq -0x58(%rbp), %rdi
xorl %r8d, %r8d
movb -0x29(%rbp), %r9b
movb %r9b, %r8b
testl %r13d, %r13d
je 0x1a019
jmp 0x1ab27
movq %r12, %rsi
callq 0x1ab3c
xorl %ecx, %ecx
testl %eax, %eax
movl $0x26bc, %r13d          # imm = 0x26BC
cmovnel %ecx, %r13d
jmp 0x1ab27
movl $0x14, %r13d
jmp 0x1ab27
movl $0x15, %r13d
jmp 0x1ab27
movl $0x17, %r13d
jmp 0x1ab27
movl $0x26bb, %r13d          # imm = 0x26BB
movl %r13d, %eax
addq $0x178, %rsp            # imm = 0x178
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq