// File: /workspace/github_cpp_makefile_star2_O3/sisong[P]ApkDiffPatch/lzma/C/MtDec.c
// Function: MtDec_ThreadFunc
static Z7_NO_INLINE THREAD_FUNC_DECL MtDec_ThreadFunc(void *pp)
{
  #ifdef USE_ALLOCA
  CMtDecThread *t = (CMtDecThread *)pp;
  // fprintf(stderr, "\n%d = %p - before", t->index, &t);
  t->allocaPtr = alloca(t->index * 128);
  #endif
  return MtDec_ThreadFunc1(pp);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x118, %rsp            # imm = 0x118
movq %rdi, %r15
movq (%rdi), %r12
leaq 0x38(%rdi), %rbx
movq %rbx, %rdi
callq 0x3d81e
testl %eax, %eax
je 0x3c6b7
movl %eax, %r14d
movq (%r15), %rbx
movl 0x44(%rbx), %eax
testl %r14d, %r14d
je 0x3d43d
testl %eax, %eax
jne 0x3c673
movl %r14d, 0x44(%rbx)
movl $0x1, 0x40(%rbx)
leaq 0x140(%rbx), %rdi
callq 0x3d7a5
leaq 0x1a8(%rbx), %rdi
callq 0x3d7a5
addq $0xc0, %rbx
movzwl %r14w, %esi
orl $0x88000000, %esi       # imm = 0x88000000
testl %r14d, %r14d
cmovlel %r14d, %esi
movq %rbx, %rdi
callq 0x3c0b0
jmp 0x3d440
leaq 0x10(%r15), %rax
movq %rax, 0xa8(%rsp)
leaq 0x80(%r12), %rax
movq %rax, 0x98(%rsp)
leaq 0xe0(%r12), %rax
movq %rax, 0xb0(%rsp)
leaq 0x108(%r12), %rax
movq %rax, 0xb8(%rsp)
leaq 0xa0(%r15), %rax
movq %rax, 0x110(%rsp)
leaq 0xc0(%r12), %rax
movq %rax, 0x108(%rsp)
leaq 0x1a8(%r12), %rax
movq %rax, 0xf8(%rsp)
leaq 0x140(%r12), %rax
movq %rax, 0x100(%rsp)
xorl %r14d, %r14d
movq %r12, 0x8(%rsp)
movq %r12, %rdi
movq %rbx, 0xc0(%rsp)
movq %r15, 0x70(%rsp)
cmpl $0x0, 0x40(%rdi)
jne 0x3c65c
movq 0x48(%rdi), %rcx
leaq 0x1(%rcx), %rax
movq %rax, 0x48(%rdi)
xorl %r13d, %r13d
xorl %esi, %esi
xorl %edx, %edx
movq %rcx, 0x88(%rsp)
movq %rdi, %rbx
leaq 0x10(%rsp), %r8
callq 0x3d4aa
movq %rbx, %r8
movl %eax, %ebx
movl 0x98(%r8), %esi
movl 0x10(%rsp), %ecx
orl %ecx, %eax
je 0x3c7e0
movq $0x0, 0x48(%rsp)
movq $0x0, 0xa0(%rsp)
movq $0x0, 0x30(%rsp)
movq $0x0, 0x28(%rsp)
movq $0x0, 0x38(%rsp)
movl $0x0, 0x50(%rsp)
xorl %edx, %edx
movq $0x0, 0x40(%rsp)
movl $0x0, 0x14(%rsp)
jmp 0x3cb97
movq 0xa8(%rsp), %rax
movq (%rax), %rax
movq 0x88(%r8), %r14
subq 0x80(%r8), %r14
movq $0x0, 0x18(%rsp)
xorl %ebp, %ebp
movq $0x0, 0x50(%rsp)
movq $0x0, 0x28(%rsp)
movq $0x0, 0x38(%rsp)
xorl %r12d, %r12d
movq %rax, %r13
testq %rax, %rax
jne 0x3c879
movl %r12d, %ebx
movq %rbp, %r12
movq %r15, %rbp
movq %rsi, %r15
movq (%r8), %rsi
movq 0x20(%r8), %rdi
addq $0x20, %rsi
callq *(%rdi)
testq %rax, %rax
je 0x3ce91
movq %rax, %r13
movq $0x0, (%rax)
testq %r12, %r12
movq %r12, %rax
cmoveq 0xa8(%rsp), %rax
movq %r13, (%rax)
movq %r15, %rsi
movq %rbp, %r15
movq %r12, %rbp
movq 0x8(%rsp), %r8
movl %ebx, %r12d
leaq 0x20(%r13), %rbx
testq %r14, %r14
movq %rbx, 0x20(%rsp)
je 0x3c8b1
movq %r14, 0x60(%rsp)
movq 0x78(%r8), %rax
movq 0x80(%r8), %rcx
leaq (%rax,%rcx), %rbx
addq $0x20, %rbx
movq %r14, %rcx
movq %r14, 0x28(%rsp)
movq %r14, 0x38(%rsp)
jmp 0x3c995
movq (%r8), %rax
movq %rax, 0x60(%rsp)
movq 0x10(%r8), %rdi
movq %rbx, %rsi
leaq 0x60(%rsp), %rdx
callq 0x37224
movq 0x8(%rsp), %r8
movq 0x60(%rsp), %rcx
testq %rbp, %rbp
movq 0x38(%rsp), %rdx
cmoveq %rcx, %rdx
movq %rdx, 0x38(%rsp)
addq %rcx, 0x90(%r8)
xorl %esi, %esi
cmpq (%r8), %rcx
setne %dl
je 0x3c901
movl $0x1, 0x98(%r8)
testl %eax, %eax
je 0x3c91b
movl %eax, 0x60(%r8)
movl $0x1, 0x98(%r8)
movl $0x1, %esi
jmp 0x3c91e
movb %dl, %sil
movq 0x28(%rsp), %rdx
addq %rcx, %rdx
movq %rdx, 0x28(%rsp)
movq 0x50(%rsp), %rax
cmpq %rax, %rdx
jne 0x3c93c
movq %rax, 0x28(%rsp)
jmp 0x3c995
movl %r12d, %eax
movq %rbp, %r12
movq %r15, %rbp
movq %rsi, %r15
movl %eax, 0x50(%rsp)
movq %r8, %rdi
xorl %esi, %esi
xorl %edx, %edx
movq 0x88(%rsp), %rcx
leaq 0x10(%rsp), %r8
callq 0x3d4aa
movl %eax, %ebx
movl 0x10(%rsp), %eax
orl %ebx, %eax
jne 0x3d2e4
movq 0x60(%rsp), %rcx
movq 0x20(%rsp), %rbx
movq 0x28(%rsp), %rax
movq %rax, 0x50(%rsp)
movq %r15, %rsi
movq %rbp, %r15
movq %r12, %rbp
movq 0x8(%rsp), %r8
xorl %eax, %eax
movq %rbp, %r12
testq %rbp, %rbp
sete %al
movl %eax, 0xc8(%rsp)
movq %rbx, 0xd0(%rsp)
movq %rcx, 0xd8(%rsp)
movq %rsi, %rbp
movl %esi, 0xe0(%rsp)
movl $0x1, 0xe8(%rsp)
movq 0x28(%r8), %rax
movq 0x30(%r8), %rdi
movl 0x8(%r15), %esi
leaq 0xc8(%rsp), %rdx
callq *(%rax)
movl 0xe4(%rsp), %r15d
movl 0xe8(%rsp), %eax
movq %rax, 0x18(%rsp)
cmpl $0x1, %r15d
je 0x3ca93
movq %rbx, 0x30(%rsp)
testq %r14, %r14
je 0x3ca2f
movq 0xd8(%rsp), %rbx
movq 0x20(%rsp), %rdi
movq 0x30(%rsp), %rsi
movq %rbx, %rdx
callq 0x4290
movq 0x98(%rsp), %rax
addq %rbx, (%rax)
movl %r15d, %eax
movq %rbp, %rsi
orl %esi, %eax
jne 0x3cadf
movq 0xd8(%rsp), %rax
cmpq 0x60(%rsp), %rax
jne 0x3cb3b
xorl %esi, %esi
movq (%r13), %rax
movl $0x1, %r12d
movq %r13, %rbp
testq %r14, %r14
movl $0x0, %r14d
movq 0x70(%rsp), %r15
movq 0x8(%rsp), %r8
je 0x3c822
movq 0x98(%rsp), %rcx
xorps %xmm0, %xmm0
movups %xmm0, (%rcx)
xorl %r14d, %r14d
movq %r13, %rbp
xorl %esi, %esi
jmp 0x3c822
testq %r14, %r14
je 0x3caaa
movq 0x60(%rsp), %rdx
movq 0x20(%rsp), %rdi
movq %rbx, %rsi
callq 0x4290
movq 0x98(%rsp), %rax
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movl $0x1, %esi
movq $0x0, 0x48(%rsp)
xorl %ecx, %ecx
movq $0x0, 0x30(%rsp)
xorl %edx, %edx
movl $0x1, %eax
movq %rax, 0x40(%rsp)
jmp 0x3cb2f
movq 0xd8(%rsp), %rbx
movq 0x60(%rsp), %rdx
movq %rdx, %rcx
subq %rbx, %rcx
jne 0x3ce2b
cmpl $0x3, %r15d
movl $0x1, %edx
cmovel %edx, %esi
movq 0x98(%rsp), %rax
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movq $0x0, 0x48(%rsp)
xorl %ecx, %ecx
movq $0x0, 0x30(%rsp)
movq $0x0, 0x40(%rsp)
movl $0x0, 0x14(%rsp)
xorl %ebx, %ebx
jmp 0x3cb69
movl $0xb, %ebx
movq $0x0, 0x48(%rsp)
xorl %ecx, %ecx
movq $0x0, 0x30(%rsp)
xorl %edx, %edx
xorl %esi, %esi
movq $0x0, 0x40(%rsp)
movl $0x0, 0x14(%rsp)
xorl %r14d, %r14d
movq 0x70(%rsp), %r15
movq 0x8(%rsp), %r8
movq 0x18(%rsp), %r13
movl $0x1, 0x50(%rsp)
testl %ebx, %ebx
movq %rcx, 0xa0(%rsp)
je 0x3cc74
movl 0x10(%rsp), %ecx
testl %ebx, %ebx
setne %al
testl %ecx, %ecx
setne %bpl
testl %esi, %esi
setne %cl
orb %bpl, %cl
orb %al, %cl
movb %cl, 0x20(%rsp)
testb $0x1, %cl
movq %rdx, 0x18(%rsp)
je 0x3cbcb
movq $0x0, 0x90(%rsp)
jmp 0x3ccd1
movl 0x70(%r8), %ecx
cmpl 0x6c(%r8), %ecx
jae 0x3cc91
testl %r13d, %r13d
je 0x3cc91
movl %ebx, %r12d
movq %r8, %rbx
imulq $0x110, %rcx, %r13      # imm = 0x110
movq 0xb8(%rsp), %rbp
leaq 0xa0(,%r13), %rdi
addq %rbp, %rdi
callq 0x3da6a
testl %eax, %eax
jne 0x3cc1f
addq %rbp, %r13
leaq 0x38(%r13), %rdi
callq 0x3da6a
testl %eax, %eax
je 0x3d2a6
movq %rbx, %rdx
movl 0x70(%rdx), %ecx
cmpl $0x1, %ecx
jne 0x3cc8b
movzwl %ax, %ebp
orl $0x88000000, %ebp       # imm = 0x88000000
testl %eax, %eax
cmovlel %eax, %ebp
xorl %eax, %eax
movq %rax, 0x68(%rsp)
movq $0x0, 0x18(%rsp)
movq %rax, 0x78(%rsp)
movb $0x1, 0x20(%rsp)
movl $0x0, 0x5c(%rsp)
movq $0x0, 0x90(%rsp)
xorl %r12d, %r12d
xorl %r14d, %r14d
xorl %r13d, %r13d
jmp 0x3cfa5
movq %r13, 0x18(%rsp)
movq %rsi, 0x20(%rsp)
movq %rdx, %r13
movq 0x30(%rsp), %r12
jmp 0x3ced1
movl %r12d, %ebx
movl %ecx, 0x6c(%rdx)
movl 0x8(%r15), %eax
incl %eax
cmpl %ecx, %eax
cmovael %r14d, %eax
imulq $0x110, %rax, %r12      # imm = 0x110
movq 0xb8(%rsp), %r14
leaq (%r14,%r12), %rdi
addq $0x38, %rdi
callq 0x3d7a5
testl %eax, %eax
jne 0x3c659
addq %r14, %r12
movq %r12, 0x90(%rsp)
movq 0x18(%rsp), %rdx
xorl %ebp, %ebp
movq %rbp, 0x68(%rsp)
movq %rbp, 0x78(%rsp)
testl %edx, %edx
sete %al
testl %ebx, %ebx
setne %cl
orb %al, %cl
jne 0x3cdef
movq 0xa8(%rsp), %rax
movq (%rax), %rbp
xorl %r14d, %r14d
xorl %r12d, %r12d
xorl %eax, %eax
movq 0x38(%rsp), %rcx
testb $0x1, %al
je 0x3cd22
movq 0x28(%rsp), %rcx
subq %r14, %rcx
movq 0x8(%rsp), %rax
movq (%rax), %rax
cmpq %rcx, %rax
cmovbq %rax, %rcx
leaq (%rcx,%r14), %rax
movq %rax, 0x68(%rsp)
movl $0x1, 0xc8(%rsp)
movq 0x8(%rsp), %rdx
movq 0x28(%rdx), %r10
movq 0x30(%rdx), %rdi
movl 0x8(%r15), %esi
leaq 0x20(%rbp), %rdx
xorl %r8d, %r8d
cmpq 0x28(%rsp), %rax
sete %r8b
leaq 0x68(%rsp), %r9
leaq 0xc8(%rsp), %rax
pushq %rax
leaq 0x80(%rsp), %rax
pushq %rax
callq *0x10(%r10)
addq $0x10, %rsp
movl %eax, %r13d
testl %eax, %eax
jne 0x3ce01
xorl %ebx, %ebx
cmpl $0x0, 0xc8(%rsp)
jne 0x3ce15
movq 0x68(%rsp), %rsi
cmpq 0x28(%rsp), %rsi
je 0x3ce15
movq 0x78(%rsp), %rdx
movq %rsi, %rax
xorq %r14, %rax
movq %rdx, %rcx
xorq %r12, %rcx
orq %rax, %rcx
je 0x3cde4
subq %r12, %rdx
subq %r14, %rsi
movq 0x8(%rsp), %rdi
movq 0x88(%rsp), %rcx
leaq 0x10(%rsp), %r8
callq 0x3d4aa
movl %eax, %ebx
movl 0x10(%rsp), %eax
orl %ebx, %eax
jne 0x3ce15
movq 0x68(%rsp), %r14
movq 0x78(%rsp), %r12
movq (%rbp), %rbp
movb $0x1, %al
jmp 0x3cd02
movl %edx, 0x5c(%rsp)
xorl %r12d, %r12d
xorl %r14d, %r14d
xorl %r13d, %r13d
jmp 0x3cfa7
movq 0x8(%rsp), %rdi
movq 0x88(%rsp), %rsi
callq 0x3d55a
xorl %ebx, %ebx
movl $0x1, 0x5c(%rsp)
xorl %ebp, %ebp
movb $0x1, %al
movq %rax, 0x18(%rsp)
jmp 0x3cfa7
cmpl $0x3, %r15d
movq 0x18(%rsp), %r13
jne 0x3d286
xorl %eax, %eax
testq %r14, %r14
setne %al
movq %rax, 0x48(%rsp)
addq %rbx, 0x30(%rsp)
subq %rcx, 0x28(%rsp)
testq %r12, %r12
movq 0x38(%rsp), %rax
cmoveq %rbx, %rax
movq %rax, 0x38(%rsp)
movq $0x0, 0x40(%rsp)
movl $0x1, %edx
movl $0x1, %esi
movl $0x0, 0x14(%rsp)
xorl %ebx, %ebx
xorl %r14d, %r14d
movq 0x70(%rsp), %r15
movq 0x8(%rsp), %r8
jmp 0x3cb7b
movl %ebx, 0x50(%rsp)
movq $0x0, 0x40(%rsp)
movl $0x1, 0x14(%rsp)
movl $0x1, %eax
movq %rax, 0x20(%rsp)
xorl %r13d, %r13d
xorl %r12d, %r12d
movq $0x0, 0xa0(%rsp)
movq $0x0, 0x48(%rsp)
xorl %r14d, %r14d
movq %rbp, %r15
movq 0xb0(%rsp), %rdi
callq 0x3da34
movq 0x8(%rsp), %rcx
cmpl $0x0, 0xb0(%rcx)
movq %r12, 0x30(%rsp)
je 0x3cf08
xorl %ebp, %ebp
movq 0x88(%rsp), %rax
cmpq %rax, 0xb8(%rcx)
setb %bpl
jmp 0x3cf0a
xorl %ebp, %ebp
movl %ebp, 0x10(%rsp)
movl 0xc8(%rcx), %ebx
movq 0xb0(%rsp), %rdi
callq 0x3da3e
testl %ebx, %ebx
setne %al
movq %r13, %rdx
testl %edx, %edx
je 0x3d2c4
movl %ebx, %ecx
testl %ebx, %ebx
movq 0x20(%rsp), %rsi
movq 0x18(%rsp), %r13
jne 0x3d2d8
testl %ebp, %ebp
movq 0x8(%rsp), %r8
jne 0x3d2dd
movq 0x28(%r8), %rax
movq 0x30(%r8), %rdi
movl 0x8(%r15), %esi
movq %r8, %rbx
callq *0x8(%rax)
testl %eax, %eax
je 0x3d269
movl %eax, %r13d
xorl %eax, %eax
movq %rax, 0x68(%rsp)
movq $0x0, 0x18(%rsp)
movq %rax, 0x78(%rsp)
movb $0x1, 0x20(%rsp)
xorl %ebp, %ebp
movl $0x0, 0x5c(%rsp)
movq $0x0, 0x90(%rsp)
xorl %r12d, %r12d
xorl %r14d, %r14d
xorl %ebx, %ebx
movq 0x110(%rsp), %rdi
callq 0x3d81e
testl %eax, %eax
jne 0x3c659
movl $0x1, 0xc8(%rsp)
movq 0x8(%rsp), %rax
cmpl $0x0, 0x40(%rax)
jne 0x3d455
cmpl $0x0, 0x68(%rax)
je 0x3cfef
movl $0x1, 0x10(%rsp)
movl 0x50(%rsp), %esi
movq 0x18(%rsp), %rdx
jmp 0x3d065
testl %r13d, %r13d
movq 0x18(%rsp), %rdx
je 0x3d019
movq 0x8(%rsp), %rax
movl $0x1, %ecx
movl %ecx, 0x68(%rax)
movl %r13d, 0x64(%rax)
cmpl $0x2, %r13d
movl 0x14(%rsp), %eax
cmovel %ecx, %eax
movl %eax, %ecx
jmp 0x3d01d
movl 0x14(%rsp), %ecx
movl 0x50(%rsp), %esi
testl %ebp, %ebp
je 0x3d036
movq 0x8(%rsp), %rax
movl $0x1, 0x68(%rax)
movl %ebp, 0x58(%rax)
xorl %esi, %esi
testl %ecx, %ecx
je 0x3d04c
movq 0x8(%rsp), %rax
movl $0x1, %ecx
movl %ecx, 0x68(%rax)
movl %ecx, 0x50(%rax)
xorl %esi, %esi
cmpl $0x0, 0x40(%rsp)
je 0x3d065
movq 0x8(%rsp), %rax
movl $0x1, %ecx
movl %ecx, 0x68(%rax)
movl %ecx, 0x54(%rax)
xorl %esi, %esi
testb %dl, %dl
je 0x3d0a5
movl %esi, %ebp
cmpl $0x0, 0x10(%rsp)
je 0x3d084
xorl %eax, %eax
movq %rax, 0x68(%rsp)
movq %rax, 0x78(%rsp)
xorl %edx, %edx
xorl %esi, %esi
jmp 0x3d08e
movq 0x68(%rsp), %rsi
movq 0x78(%rsp), %rdx
subq %r12, %rdx
subq %r14, %rsi
movq 0x108(%rsp), %rdi
callq 0x3c013
movl %eax, %ebx
movl %ebp, %esi
movb 0x20(%rsp), %al
notb %al
movzbl %al, %eax
andl $0x1, %eax
movl %eax, 0x84(%rsp)
cmpl $0x0, 0x50(%rsp)
je 0x3d129
movq 0x8(%rsp), %rbp
movq 0x28(%rbp), %rax
movq 0x30(%rbp), %rdi
testl %esi, %esi
setne %cl
orl 0x10(%rsp), %ebx
movl 0x8(%r15), %esi
sete %dl
andb %cl, %dl
movzbl %dl, %edx
movq 0x30(%rsp), %rcx
movq 0xa0(%rsp), %r8
movq 0x48(%rsp), %r9
leaq 0xc8(%rsp), %r10
pushq %r10
leaq 0x8c(%rsp), %r10
pushq %r10
callq *0x18(%rax)
addq $0x10, %rsp
movl %eax, %r12d
testl %eax, %eax
movl $0x0, %r14d
je 0x3d130
movl $0x1, 0x68(%rbp)
movl $0x1, %ebp
jmp 0x3d14a
xorl %ebp, %ebp
xorl %r14d, %r14d
jmp 0x3d15f
cmpl $0x0, 0x84(%rsp)
setne %al
orb 0x20(%rsp), %al
xorl %ebp, %ebp
movl $0x0, %ebx
testb $0x1, %al
jne 0x3d15f
movq 0x8(%rsp), %rdi
movq 0x88(%rsp), %rsi
callq 0x3d55a
movl %r12d, %ebx
cmpl $0x0, 0xc8(%rsp)
movq 0x8(%rsp), %rdx
je 0x3d1ce
cmpl $0x0, 0x5c(%rsp)
je 0x3d191
testl %ebx, %ebx
jne 0x3d191
orl 0x68(%rdx), %r13d
orl 0x10(%rsp), %r13d
movl 0xac(%rdx), %eax
orl %eax, %ebp
orl %r13d, %ebp
jne 0x3d197
jmp 0x3d1ce
movl 0xac(%rdx), %eax
testl %eax, %eax
jne 0x3d1a5
movl 0x8(%r15), %ecx
movl %ecx, 0xa8(%rdx)
cmpq $0x0, 0x28(%rsp)
sete %cl
testb %cl, 0x20(%rsp)
jne 0x3d1ce
movq 0x38(%rsp), %rcx
movq %rcx, 0x18(%r15)
movq 0x28(%rsp), %rcx
movq %rcx, 0x20(%r15)
incl %eax
movl %eax, 0xac(%rdx)
testb $0x1, 0x20(%rsp)
je 0x3d200
movq %rdx, %r12
cmpl $0x0, 0x84(%rsp)
movq 0xc0(%rsp), %rbx
je 0x3d228
movq 0xf8(%rsp), %rdi
callq 0x3d7a5
testl %eax, %eax
je 0x3d23c
jmp 0x3c659
movq %rdx, %r12
movq 0x90(%rsp), %rdi
addq $0xa0, %rdi
callq 0x3d7a5
testl %eax, %eax
movq 0xc0(%rsp), %rbx
je 0x3d251
jmp 0x3c659
cmpl $0x0, 0x8(%r15)
je 0x3d455
movl $0x1, 0x40(%r12)
movq 0x100(%rsp), %rdi
callq 0x3d7a5
testl %eax, %eax
jne 0x3c659
movq %rbx, %rdi
callq 0x3d81e
testl %eax, %eax
movq %r12, %rdi
je 0x3c74a
jmp 0x3c659
movl $0x1, %edx
xorl %ebp, %ebp
xorl %eax, %eax
movq 0x18(%rsp), %r13
movq 0x20(%rsp), %rsi
movq %rbx, %r8
xorl %ebx, %ebx
jmp 0x3cba2
testq %r14, %r14
je 0x3d323
movq %rbx, 0x28(%rsp)
xorl %r14d, %r14d
movq 0x70(%rsp), %r15
movq 0x8(%rsp), %r8
jmp 0x3d39d
cmpl $0x0, 0x30(%r13)
movq %rbx, %rdx
je 0x3d3e1
movl 0x70(%rdx), %ecx
incl %ecx
movl %ecx, 0x70(%rdx)
movl %r12d, %ebx
jmp 0x3cc91
movq 0x20(%rsp), %rsi
movq 0x18(%rsp), %r13
movq 0x8(%rsp), %r8
jmp 0x3cba2
movq 0x8(%rsp), %r8
movl %ecx, %ebx
jmp 0x3cba2
movq $0x0, 0x48(%rsp)
xorl %ecx, %ecx
movq $0x0, 0x30(%rsp)
xorl %edx, %edx
movq $0x0, 0x40(%rsp)
movl $0x0, 0x14(%rsp)
xorl %r14d, %r14d
movq 0x18(%rsp), %r13
movq %r15, %rsi
movq %rbp, %r15
movq 0x8(%rsp), %r8
jmp 0x3cb83
movq 0x8(%rsp), %rax
movq 0x78(%rax), %rdi
testq %rdi, %rdi
movl $0x0, %r14d
movq 0x70(%rsp), %r15
jne 0x3d36c
movq (%rax), %rsi
movq 0x20(%rax), %rdi
addq $0x20, %rsi
movq %rax, %rbp
callq *(%rdi)
testq %rax, %rax
je 0x3d404
movq %rax, %rdi
movq %rax, 0x78(%rbp)
movq 0x60(%rsp), %rdx
movq 0xd8(%rsp), %rbx
movq %rbp, %rax
addq $0x20, %rdi
subq %rbx, %rdx
subq %rdx, 0x28(%rsp)
movq %rdx, 0x88(%rax)
movq $0x0, 0x80(%rax)
movq 0x30(%rsp), %rsi
addq %rbx, %rsi
movq %rax, %rbp
callq 0x4290
movq %rbp, %r8
testq %r12, %r12
movq 0x38(%rsp), %rax
cmoveq %rbx, %rax
movq %rax, 0x38(%rsp)
movl $0x1, %edx
movq $0x0, 0x48(%rsp)
xorl %ecx, %ecx
movq $0x0, 0x30(%rsp)
xorl %esi, %esi
movq $0x0, 0x40(%rsp)
movl $0x0, 0x14(%rsp)
xorl %ebx, %ebx
jmp 0x3cb7b
leaq 0x28(%r13), %rdi
leaq -0xdba(%rip), %rsi      # 0x3c632
movq %r13, %rdx
callq 0x3d63b
movq %rbx, %rdx
testl %eax, %eax
jne 0x3cc22
jmp 0x3d2b4
movl $0x1, %edx
movq $0x0, 0x48(%rsp)
xorl %ecx, %ecx
movq $0x0, 0x30(%rsp)
movl $0x1, %esi
movq $0x0, 0x40(%rsp)
movl $0x1, 0x14(%rsp)
xorl %ebx, %ebx
movq %rbp, %r8
jmp 0x3cb7b
movl %eax, %r14d
movslq %r14d, %rax
addq $0x118, %rsp            # imm = 0x118
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
xorl %r14d, %r14d
jmp 0x3c65c