// File: /workspace/github_c_makefile_star2_O3/jsummers[P]deark/modules/jpeg.c
// Function: handler_app
static void handler_app(deark *c, lctx *d,
	const struct marker_info *mi, i64 seg_data_pos, i64 seg_data_size)
{
	int appsegtype;
	i64 payload_pos;
	i64 payload_size;
	struct app_id_info_struct app_id_info;

	de_zeromem(&app_id_info, sizeof(struct app_id_info_struct));

	detect_app_seg_type(c, d, mi, seg_data_pos, seg_data_size, &app_id_info);
	appsegtype = app_id_info.appsegtype;
	payload_pos = app_id_info.payload_pos;
	if(app_id_info.app_id_found) {
		de_dbg(c, "app id: \"%s\", identified as: %s", ucstring_getpsz(app_id_info.app_id_str),
			app_id_info.app_type_name);
	}
	else {
		de_dbg(c, "app id: (not found), identified as: %s", app_id_info.app_type_name);
	}

	payload_size = seg_data_pos + seg_data_size - payload_pos;
	if(payload_size<0) goto done;

	switch(appsegtype) {
	case APPSEGTYPE_JFIF:
		do_jfif_segment(c, d, payload_pos, payload_size);
		break;
	case APPSEGTYPE_JFXX:
		do_jfxx_segment(c, d, payload_pos, payload_size);
		break;
	case APPSEGTYPE_ADOBEAPP14:
		do_adobeapp14_segment(c, d, payload_pos, payload_size);
		break;
	case APPSEGTYPE_EXIF:
		do_exif_segment(c, d, payload_pos, payload_size);
		break;
	case APPSEGTYPE_META:
		do_meta_segment(c, d, payload_pos, payload_size);
		break;
	case APPSEGTYPE_ICC_PROFILE:
		do_icc_profile_segment(c, d, payload_pos, payload_size);
		break;
	case APPSEGTYPE_FPXR:
		d->has_flashpix = 1;
		do_fpxr_segment(c, d, payload_pos, payload_size);
		break;
	case APPSEGTYPE_SPIFF:
		d->has_spiff_seg = 1;
		break;
	case APPSEGTYPE_PHOTOSHOP:
		do_photoshop_segment(c, d, payload_pos, payload_size);
		break;
	case APPSEGTYPE_DUCKY:
		do_ducky_segment(c, d, payload_pos, payload_size);
		break;
	case APPSEGTYPE_XMP:
		de_dbg(c, "XMP data at %d, size=%d", (int)(payload_pos), (int)(payload_size));
		d->has_xmp = 1;
		dbuf_create_file_from_slice(c->infile, payload_pos, payload_size, "xmp", NULL, DE_CREATEFLAG_IS_AUX);
		break;
	case APPSEGTYPE_XMP_EXTENSION:
		d->has_xmp_ext = 1;
		do_xmp_extension_segment(c, d, payload_pos, payload_size);
		break;
	case APPSEGTYPE_HDR_RI_VER:
		d->is_jpeghdr = 1;
		do_jpeghdr_segment(c, d, seg_data_pos, seg_data_size, 0);
		break;
	case APPSEGTYPE_HDR_RI_EXT:
		do_jpeghdr_segment(c, d, seg_data_pos, seg_data_size, 1);
		break;
	case APPSEGTYPE_BOXFORMAT:
		do_boxformat_segment(c, d, payload_pos, payload_size);
		break;
	case APPSEGTYPE_MPF:
		do_mpf_segment(c, d, payload_pos, payload_size);
		break;
	case APPSEGTYPE_JPS:
		d->is_jps = 1;
		do_jps_segment(c, d, payload_pos, payload_size);
		break;
	case APPSEGTYPE_AROT:
		do_arot_segment(c, d, payload_pos, payload_size);
		break;
	default:
		if(c->debug_level>=2) {
			de_dbg_hexdump(c, c->infile, seg_data_pos, seg_data_size, 256, "segment data", 0x1);
		}
		break;
	}

done:
	if(app_id_info.app_id_str) {
		ucstring_destroy(app_id_info.app_id_str);
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x258, %rsp            # imm = 0x258
movq %r8, %rbp
movq %rcx, %r12
movq %rsi, 0x10(%rsp)
movq %rdi, %r13
movzbl (%rdx), %r14d
leaq 0x40(%rsp), %rbx
xorl %r15d, %r15d
movl $0x108, %edx            # imm = 0x108
movq %rbx, %rdi
xorl %esi, %esi
callq 0x18140
cmpq $0x50, %rbp
movl $0x50, %ecx
cmovlq %rbp, %rcx
movq %rcx, 0x50(%rbx)
cmpq $0x1, %rbp
movq %r13, 0x8(%rsp)
movq %r12, 0x28(%rsp)
jg 0x817d9
xorl %r14d, %r14d
leaq 0xaa980(%rip), %rbx     # 0x12c151
xorl %r15d, %r15d
jmp 0x81dc7
movq 0x18(%r13), %rdi
decq %rcx
leaq 0x40(%rsp), %rbx
movq %rbx, %rsi
movq %r12, %rdx
callq 0xee8d4
movq %rbx, %rdi
callq 0x83d8f
cmpl $0x0, 0x100(%rbx)
je 0x81839
movq %r13, %rdi
callq 0xf6410
leaq 0x98(%rsp), %rbx
movq 0xa0(%rbx), %rdx
movq %rax, 0x18(%rsp)
movq %rax, %rdi
movq %rbx, %rsi
xorl %ecx, %ecx
movl $0x1, %r8d
callq 0xf6cdd
movl 0xa8(%rbx), %r15d
jmp 0x81842
movq $0x0, 0x18(%rsp)
cmpl $0xe1, %r14d
jne 0x81989
movq 0x90(%rsp), %rbx
cmpq $0x15, %rbx
jl 0x81989
testl %r15d, %r15d
je 0x81989
cmpl $0x504d58, 0x98(%rsp) # imm = 0x504D58
jne 0x81989
leaq -0x108(%rbx), %rax
negq %rax
xorl %edx, %edx
cmpq $0x108, %rbx            # imm = 0x108
cmovbq %rax, %rdx
leaq (%rsp,%rbx), %rdi
addq $0x150, %rdi            # imm = 0x150
xorl %esi, %esi
callq 0x18140
leaq 0x150(%rsp), %r12
leaq 0x40(%rsp), %r13
movq %r12, %rdi
movq %r13, %rsi
movq %rbx, %rdx
callq 0x181e0
movq %rbx, 0x50(%r12)
movl $0x70747468, (%r12)     # imm = 0x70747468
movq %r12, %rdi
callq 0x83d8f
cmpl $0x0, 0x100(%r12)
je 0x8190a
movl $0xa8, %eax
addq %rax, %r13
addq %rax, %r12
movl $0x50, %edx
movq %r13, %rdi
movq %r12, %rsi
callq 0xe8219
movq 0x248(%rsp), %rax
movq %rax, 0x138(%rsp)
movq 0x138(%rsp), %rax
incq %rax
xorl %r12d, %r12d
cmpl $0x0, 0x140(%rsp)
sete %r13b
cmovneq %rax, %r12
cmpq %rbp, %r12
jg 0x819a7
movq 0x90(%rsp), %rsi
cmpl $0xe1, %r14d
setne %al
cmpq $0x6, %rbp
setae %dil
setb %cl
orb %al, %cl
jne 0x81a9b
movl $0x46495845, %eax       # imm = 0x46495845
xorl 0xe8(%rsp), %eax
movzbl 0xec(%rsp), %ecx
movb $0x1, %dil
orl %eax, %ecx
jne 0x81a9b
movl $0x6, %r12d
leaq 0xaa05d(%rip), %rbx     # 0x12b9db
movl $0x6, %r15d
jmp 0x81db3
movq 0x138(%rsp), %rax
incq %rax
xorl %r12d, %r12d
testl %r15d, %r15d
sete %r13b
cmovneq %rax, %r12
cmpq %rbp, %r12
jle 0x819c3
movq 0x18(%rsp), %r14
movq %rax, %r12
addq 0x28(%rsp), %r12
xorl %r15d, %r15d
leaq 0xaa793(%rip), %rbx     # 0x12c151
jmp 0x81dbd
cmpl $0xe0, %r14d
jne 0x81a11
movl $0x4649464a, %eax       # imm = 0x4649464A
xorl 0xe8(%rsp), %eax
movzbl 0xec(%rsp), %ecx
orl %eax, %ecx
je 0x81ba0
movl $0x5858464a, %eax       # imm = 0x5858464A
xorl 0xe8(%rsp), %eax
movzbl 0xec(%rsp), %ecx
orl %eax, %ecx
je 0x81cd3
movq 0x90(%rsp), %rsi
jmp 0x81a93
cmpl $0xee, %r14d
sete %al
movq 0x90(%rsp), %rsi
cmpq $0x5, %rsi
setge %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x81a5e
movl $0x626f6441, %eax       # imm = 0x626F6441
xorl 0x40(%rsp), %eax
movzbl 0x44(%rsp), %ecx
xorl $0x65, %ecx
orl %eax, %ecx
jne 0x81a93
movl $0x5, %r12d
leaq 0xa9475(%rip), %rbx     # 0x12aec8
movl $0x9, %r15d
jmp 0x81db3
cmpq $0x5, %rsi
setge %al
cmpl $0xec, %r14d
sete %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x81935
movl $0x6b637544, %eax       # imm = 0x6B637544
xorl 0x40(%rsp), %eax
movzbl 0x44(%rsp), %ecx
xorl $0x79, %ecx
orl %eax, %ecx
je 0x82c97
cmpq $0x6, %rbp
setae %dil
leal 0x1f(%r14), %eax
testb $-0x3, %al
jne 0x81ad7
cmpq $0xe, %rsi
jl 0x81ad7
movl $0x6174654d, %eax       # imm = 0x6174654D
xorl 0x40(%rsp), %eax
movzwl 0x44(%rsp), %ecx
orl %eax, %ecx
jne 0x81ad7
movb 0x46(%rsp), %al
andb $-0x5, %al
cmpb $0x49, %al
jne 0x81ad7
leaq 0xa9412(%rip), %rbx     # 0x12aede
movl $0x1a, %r15d
jmp 0x81db3
cmpl $0xe2, %r14d
jne 0x81b17
movabsq $0x464f52505f434349, %rax # imm = 0x464F52505F434349
xorq 0xe8(%rsp), %rax
movl 0xf0(%rsp), %ecx
xorq $0x454c49, %rcx         # imm = 0x454C49
orq %rax, %rcx
jne 0x81b3e
leaq 0xaba86(%rip), %rbx     # 0x12d592
movl $0xa, %r15d
jmp 0x81db3
cmpl $0xed, %r14d
je 0x81be3
cmpl $0xe8, %r14d
je 0x81bb2
cmpl $0xe4, %r14d
jne 0x81c22
movl $0x52585046, %eax       # imm = 0x52585046
xorl 0xe8(%rsp), %eax
movzbl 0xec(%rsp), %ecx
orl %eax, %ecx
je 0x81b8e
leaq 0xe8(%rsp), %rax
cmpl $0xe2, %r14d
jne 0x81d74
cmpl $0x46504d, 0xe8(%rsp) # imm = 0x46504D
jne 0x81d74
leaq 0xa944b(%rip), %rbx     # 0x12afce
movl $0x15, %r15d
jmp 0x81db3
leaq 0xa935f(%rip), %rbx     # 0x12aef4
movl $0x7, %r15d
jmp 0x81db3
leaq 0xa9c8c(%rip), %rbx     # 0x12b833
movl $0x2, %r15d
jmp 0x81db3
movl $0x46495053, %eax       # imm = 0x46495053
xorl 0xe8(%rsp), %eax
movzwl 0xec(%rsp), %ecx
xorl $0x46, %ecx
orl %eax, %ecx
jne 0x81d6c
leaq 0xa9dfc(%rip), %rbx     # 0x12b9d4
movl $0x5, %r15d
jmp 0x81db3
movabsq $0x4f48534f544f4850, %rax # imm = 0x4F48534F544F4850
xorq 0xe8(%rsp), %rax
movabsq $0x302e3320504f48, %rcx # imm = 0x302E3320504F48
xorq 0xee(%rsp), %rcx
orq %rax, %rcx
jne 0x81d6c
leaq 0xa92ff(%rip), %rbx     # 0x12af16
movl $0xb, %r15d
jmp 0x81db3
cmpl $0xe1, %r14d
jne 0x81ce5
movdqu 0xf5(%rsp), %xmm0
pcmpeqb 0xa8cd0(%rip), %xmm0    # 0x12a910
movdqu 0xe8(%rsp), %xmm1
pcmpeqb 0xa8ccf(%rip), %xmm1    # 0x12a920
pand %xmm0, %xmm1
pmovmskb %xmm1, %eax
leaq 0xa9dde(%rip), %rbx     # 0x12ba3e
movl $0xe, %r15d
cmpl $0xffff, %eax           # imm = 0xFFFF
je 0x81db3
cmpq $0x20, %rsi
jl 0x81c94
movdqu 0x40(%rsp), %xmm0
pcmpeqb 0xa8cab(%rip), %xmm0    # 0x12a930
pmovmskb %xmm0, %eax
cmpl $0xffff, %eax           # imm = 0xFFFF
je 0x830f9
movl %edi, %r15d
leaq 0xe8(%rsp), %rdi
movq %rsi, %rbx
leaq 0xa92af(%rip), %rsi     # 0x12af58
movl $0x23, %edx
callq 0x18230
movl %r15d, %edi
movq %rbx, %rsi
testl %eax, %eax
jne 0x81d6c
leaq 0xa92b3(%rip), %rbx     # 0x12af7b
movl $0xf, %r15d
jmp 0x81db3
leaq 0xa91de(%rip), %rbx     # 0x12aeb8
movl $0x3, %r15d
jmp 0x81db3
cmpl $0xeb, %r14d
sete %al
jne 0x81d41
cmpq $0xa, %rsi
jl 0x81d41
movabsq $0x762049525f524448, %rax # imm = 0x762049525F524448
xorq 0x40(%rsp), %rax
movzwl 0x48(%rsp), %ecx
xorq $0x7265, %rcx           # imm = 0x7265
orq %rax, %rcx
je 0x83055
movabsq $0x652049525f524448, %rcx # imm = 0x652049525F524448
xorq 0x40(%rsp), %rcx
movzwl 0x48(%rsp), %edx
xorq $0x7478, %rdx           # imm = 0x7478
movb $0x1, %al
orq %rcx, %rdx
je 0x83101
testb %al, %al
je 0x81d6c
cmpq $0x2, %rsi
jl 0x81d6c
movzwl 0x40(%rsp), %eax
cmpl $0x504a, %eax           # imm = 0x504A
jne 0x81d6c
movl $0x2, %r12d
leaq 0xa9255(%rip), %rbx     # 0x12afb9
movl $0x14, %r15d
jmp 0x81db3
leaq 0xe8(%rsp), %rax
cmpl $0xe3, %r14d
jne 0x82abd
cmpq $0x8, %rsi
jl 0x82abd
movabsq $0x5f53504a53504a5f, %rcx # imm = 0x5F53504A53504A5F
cmpq %rcx, 0x40(%rsp)
jne 0x82abd
movl $0x8, %r12d
leaq 0xa9c87(%rip), %rbx     # 0x12ba34
movl $0x16, %r15d
movq 0x18(%rsp), %r14
addq 0x28(%rsp), %r12
testb %r13b, %r13b
je 0x81ddd
movq 0x8(%rsp), %r13
leaq 0xa909e(%rip), %rsi     # 0x12ae6c
movq %r13, %rdi
movq %rbx, %rdx
xorl %eax, %eax
callq 0xe8617
jmp 0x81dfe
movq %r14, %rdi
callq 0xf705c
leaq 0xa9060(%rip), %rsi     # 0x12ae4c
movq 0x8(%rsp), %rdi
movq %rax, %rdx
movq %rbx, %rcx
xorl %eax, %eax
callq 0xe8617
movq 0x28(%rsp), %rax
leaq (%rax,%rbp), %rbx
movq %rbx, %r13
subq %r12, %r13
js 0x830c8
addl $-0x2, %r15d
cmpl $0x19, %r15d
ja 0x8273f
leaq 0xa8b18(%rip), %rax     # 0x12a940
movslq (%rax,%r15,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movq 0x10(%rsp), %rax
movb $0x1, 0x2(%rax)
cmpq $0x9, %r13
jb 0x830c8
leaq 0x40(%rsp), %r13
movq %r12, (%r13)
movq 0x8(%rsp), %r15
movq 0x18(%r15), %rdi
movq %r13, %rsi
callq 0xeeb4b
movq 0x10(%rsp), %r12
movb %al, 0x38(%r12)
movq 0x18(%r15), %rdi
movq %r13, %rsi
callq 0xeeb4b
movb %al, 0x39(%r12)
movzbl 0x38(%r12), %edx
movzbl %al, %ecx
leaq 0xa91ee(%rip), %rsi     # 0x12b077
movq %r15, %rdi
xorl %eax, %eax
callq 0xe8617
movq 0x18(%r15), %rdi
movq %r13, %rsi
callq 0xeeb4b
movl %eax, %ebp
movq 0x18(%r15), %rdi
movq %r13, %rsi
callq 0xeeb91
movq %rax, %r12
movq 0x18(%r15), %rdi
movq %r13, %rsi
callq 0xeeb91
cmpb $0x2, %bpl
leaq 0xa91c6(%rip), %rcx     # 0x12b08d
leaq 0xa91c7(%rip), %rdx     # 0x12b095
cmoveq %rcx, %rdx
cmpb $0x1, %bpl
leaq 0xbf68a(%rip), %r8      # 0x141567
cmovneq %rdx, %r8
leaq 0xa91bb(%rip), %rsi     # 0x12b0a3
movq %r15, %rdi
movl %r12d, %edx
movl %eax, %ecx
xorl %eax, %eax
callq 0xe8617
movq 0x18(%r15), %rdi
movq %r13, %rbp
movq %r13, %rsi
callq 0xeeb4b
movzbl %al, %r12d
movq 0x18(%r15), %rdi
movq %r13, %rsi
callq 0xeeb4b
movzbl %al, %r13d
leaq 0xa9244(%rip), %rsi     # 0x12b165
movq %r15, %rdi
movl %r12d, %edx
movl %r13d, %ecx
xorl %eax, %eax
callq 0xe8617
movq (%rbp), %rdx
subq %rdx, %rbx
testb %r12b, %r12b
setne %al
testb %r13b, %r13b
setne %cl
andb %al, %cl
testq %rbx, %rbx
setg %al
andb %cl, %al
cmpb $0x1, %al
jne 0x830c8
leaq 0xa9160(%rip), %rsi     # 0x12b0bd
movq 0x8(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0xe8617
movq 0x10(%rsp), %rax
movb $0x1, 0x3(%rax)
movq %r12, %rax
imulq %r13, %rax
leaq (%rax,%rax,2), %rdx
cmpq %rbx, %rdx
je 0x81f9c
leaq 0xa9148(%rip), %rsi     # 0x12b0d7
movq %r15, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0xe8faa
movq 0x40(%rsp), %rsi
leaq 0xa916a(%rip), %r9      # 0x12b112
movq %r15, %rdi
movq %r12, %rdx
movq %r13, %rcx
xorl %r8d, %r8d
jmp 0x82c68
movq 0x10(%rsp), %rax
movb $0x1, 0x1a(%rax)
movq %r12, 0x40(%rsp)
cmpq $0x8, %r13
jb 0x81fea
movq 0x8(%rsp), %r15
movq 0x18(%r15), %rdi
leaq 0x40(%rsp), %rsi
callq 0xeeb91
cmpq $0x4, %rax
jge 0x82b8f
xorl %r15d, %r15d
xorl %ebp, %ebp
movq %r15, %rdi
callq 0xf6753
movq %rbp, %rdi
jmp 0x82ea0
movq 0x10(%rsp), %rbx
movb $0x1, 0xe(%rbx)
movq %r12, 0x150(%rsp)
leaq 0xa93e5(%rip), %rsi     # 0x12b3fc
xorl %r15d, %r15d
movq 0x8(%rsp), %rbp
movq %rbp, %rdi
movl %r12d, %edx
movl %r13d, %ecx
xorl %eax, %eax
callq 0xe8617
movq %rbp, %rdi
movl $0x1, %esi
callq 0xe8a15
cmpl $0x0, 0x60(%rbx)
jne 0x82e90
movq 0x18(%rbp), %rdi
leaq 0x40(%rsp), %r15
movl $0x20, %ecx
movq %r15, %rsi
movq %r12, %rdx
callq 0xee8d4
leaq 0x20(%r12), %rax
movq %rax, 0x150(%rsp)
movq %rbp, %rdi
callq 0xf6410
movl $0x20, %edx
movq %rax, %rdi
movq %r15, %rsi
movq %rax, %r15
xorl %ecx, %ecx
movl $0x1, %r8d
callq 0xf6cdd
movq %r15, %rdi
callq 0xf705c
leaq 0xa9385(%rip), %rsi     # 0x12b423
movq %rbp, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0xe8617
cmpl $0x0, 0x58(%rbx)
je 0x82dcf
movdqu 0x70(%rbx), %xmm0
movdqu 0x80(%rbx), %xmm1
pcmpeqb 0x50(%rsp), %xmm1
pcmpeqb 0x40(%rsp), %xmm0
pand %xmm1, %xmm0
pmovmskb %xmm0, %eax
cmpl $0xffff, %eax           # imm = 0xFFFF
je 0x82e11
cmpl $0x0, 0x5c(%rbx)
jne 0x82e90
leaq 0xa933e(%rip), %rsi     # 0x12b430
movq %rbp, %rdi
xorl %eax, %eax
callq 0xe8faa
movl $0x1, 0x5c(%rbx)
jmp 0x82e90
movq %r14, 0x18(%rsp)
movq 0x10(%rsp), %rax
movb $0x1, 0x10(%rax)
movq %r12, 0x20(%rsp)
leaq 0x3c(%rsp), %rsi
movq 0x8(%rsp), %r12
movq %r12, %rdi
callq 0xe8a1c
cmpq $0x2, %r13
jb 0x82da1
movq 0x18(%r12), %rdi
leaq 0x20(%rsp), %r15
movq %r15, %rsi
callq 0xeeb4b
movzbl %al, %edx
leaq 0xb4c31(%rip), %rsi     # 0x136d84
movq %r12, %rdi
xorl %eax, %eax
callq 0xe8617
movq 0x18(%r12), %rdi
movq %r15, %rsi
callq 0xeeb4b
movzbl %al, %ebp
leaq 0xa90be(%rip), %rax     # 0x12b232
leaq 0xa9fd6(%rip), %rdx     # 0x12c151
cmpb $0x2, %bpl
cmoveq %rax, %rdx
cmpb $0x1, %bpl
leaq 0xa9096(%rip), %rcx     # 0x12b224
cmovneq %rdx, %rcx
leaq 0xa90a5(%rip), %rsi     # 0x12b23e
movq %r12, %rdi
movl %ebp, %edx
xorl %eax, %eax
callq 0xe8617
cmpb $0x2, %bpl
je 0x82caf
cmpl $0x1, %ebp
movq 0x8(%rsp), %r12
jne 0x82da1
movq %r12, %rdi
movq 0x10(%rsp), %r14
movq %r14, %rsi
callq 0x83f7a
movl $0x10, %esi
movq %r12, %rdi
callq 0xe8b2b
movq %rax, 0xa8(%r14)
cmpq $0x4, %r13
jb 0x82da1
movq 0x18(%r12), %rdi
leaq 0x20(%rsp), %rsi
callq 0xeeb91
movq 0x10(%rsp), %r14
movq 0xa8(%r14), %rcx
movq %rax, (%rcx)
leaq 0xa9044(%rip), %rsi     # 0x12b254
movq %r12, %rdi
movl %eax, %edx
xorl %eax, %eax
callq 0xe8617
movq 0xa8(%r14), %rax
movq (%rax), %rsi
movl $0x28, %edx
movq %r12, %rdi
callq 0xe96f7
movq 0xa8(%r14), %rcx
movq %rax, 0x8(%rcx)
cmpq $0x0, (%rcx)
je 0x82da1
movl $0x20, %r14d
leaq 0x20(%rsp), %rbp
xorl %r15d, %r15d
movq $0x0, 0x30(%rsp)
cmpq %rbx, 0x20(%rsp)
jge 0x82da1
movq 0x8(%rcx), %r13
movq %r15, -0x20(%r13,%r14)
movl 0x20(%rsp), %ecx
movq %r12, %rdi
leaq 0xa8fee(%rip), %rsi     # 0x12b26f
movl %r15d, %edx
xorl %eax, %eax
callq 0xe8617
movq %r12, %rdi
movl $0x1, %esi
callq 0xe8a15
movq 0x18(%r12), %rdi
movq %rbp, %rsi
callq 0xeed31
movq %rax, %rbp
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
cmpq %rax, %rbp
jne 0x822c4
movl $0x1, (%r13,%r14)
leaq 0xa8fce(%rip), %rdx     # 0x12b290
jmp 0x822dc
cmpl $0x0, (%r13,%r14)
leaq 0xa8fbf(%rip), %rdx     # 0x12b290
leaq 0x97c94(%rip), %rax     # 0x119f6c
cmoveq %rax, %rdx
movq 0x8(%rsp), %r12
movq %r12, %rdi
leaq 0xa8f95(%rip), %rsi     # 0x12b280
xorl %eax, %eax
callq 0xe8617
cmpl $0x0, (%r13,%r14)
jne 0x82312
movq %r12, %rdi
leaq 0xa8f94(%rip), %rsi     # 0x12b298
movl %ebp, %edx
xorl %eax, %eax
callq 0xe8617
movq %rbp, -0x8(%r13,%r14)
movq 0x18(%r12), %rdi
leaq 0x20(%rsp), %rbp
movq %rbp, %rsi
callq 0xeeb4b
movzbl %al, %edx
movq %r12, %rdi
leaq 0xa8f77(%rip), %rsi     # 0x12b2a8
xorl %eax, %eax
callq 0xe8617
movq 0x20(%rsp), %rsi
movq %rbx, %rdx
subq %rsi, %rdx
movq 0x18(%r12), %rdi
leaq 0x30(%rsp), %rcx
callq 0xf1607
testl %eax, %eax
je 0x82da1
movq 0x18(%r12), %rdi
movq 0x20(%rsp), %rsi
movq 0x30(%rsp), %rcx
addq $-0x2, %rcx
movq %rcx, %rdx
movl $0x10, %r8d
movl $0x3, %r9d
callq 0xef87c
movq %rax, -0x18(%r13,%r14)
movq 0x18(%rax), %rdi
callq 0xf70f6
movq %r12, %rdi
leaq 0xa8f25(%rip), %rsi     # 0x12b2be
movq %rax, %rdx
xorl %eax, %eax
callq 0xe8617
movq 0x20(%rsp), %rdx
addq 0x30(%rsp), %rdx
movq %rdx, 0x20(%rsp)
cmpl $0x0, (%r13,%r14)
je 0x8240e
movq 0x18(%r12), %rdi
movl $0x10, %ecx
leaq 0x150(%rsp), %r13
movq %r13, %rsi
callq 0xee8d4
addq $0x10, 0x20(%rsp)
movq %r13, %rdi
callq 0xf814b
movl $0x32, %ecx
movq %r12, %rdi
movq %r13, %rsi
leaq 0x40(%rsp), %r13
movq %r13, %rdx
callq 0xf808d
movq %r12, %rdi
leaq 0xa8ecc(%rip), %rsi     # 0x12b2d0
movq %r13, %rdx
xorl %eax, %eax
callq 0xe8617
movq %r12, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xe8a15
incq %r15
movq 0x10(%rsp), %rax
movq 0xa8(%rax), %rcx
addq $0x28, %r14
cmpq (%rcx), %r15
jb 0x82256
jmp 0x82da1
movq 0x10(%rsp), %rax
movb $0x1, 0x8(%rax)
leaq 0xa91e7(%rip), %rsi     # 0x12b633
movq 0x8(%rsp), %r15
movq %r15, %rdi
movl %r12d, %edx
movl %r13d, %ecx
xorl %eax, %eax
callq 0xe8617
movq %r15, %rdi
movl $0x1, %esi
callq 0xe8a15
movl $0x70, %esi
movq %r15, %rdi
callq 0xe8b2b
movq %rax, %rbx
leaq 0x9e3d1(%rip), %rax     # 0x120856
movq %rax, (%rbx)
orb $0x1, 0x8(%rbx)
movq %r12, 0x18(%rbx)
movq 0x18(%r15), %rcx
movq %rcx, 0x20(%rbx)
leaq 0xc7ff1(%rip), %rsi     # 0x14a490
movq %r15, %rbp
movq %r15, %rdi
movq %rbx, %rdx
movq %r12, %r8
movq %r13, %r9
callq 0xe9aa3
testb $-0x80, 0x40(%rbx)
je 0x824c8
cmpl $0x2, 0x4c(%rbx)
jb 0x824c8
movq 0x10(%rsp), %rax
movb $0x1, 0x19(%rax)
movq %rbp, %rdi
movq %rbx, %rsi
callq 0xe8be2
movq %rbp, %rdi
jmp 0x830be
movq 0x10(%rsp), %rax
movb $0x1, 0x4(%rax)
leaq 0xa8c31(%rip), %rsi     # 0x12b11c
movq 0x8(%rsp), %rdi
movl %r12d, %edx
movl %r13d, %ecx
xorl %eax, %eax
callq 0xe8617
cmpq %r12, %rbx
je 0x830c8
movq 0x8(%rsp), %r15
movq 0x18(%r15), %rdi
movq %r12, %rsi
callq 0xeead3
movl %eax, %ebp
movzbl %al, %ebx
leaq 0xa8c18(%rip), %rsi     # 0x12b13b
movq %r15, %rdi
movl %ebx, %edx
xorl %eax, %eax
callq 0xe8617
cmpb $0x10, %bl
jne 0x82bf1
movq 0x18(%r15), %rdi
incq %r12
decq %r13
leaq 0xa8c09(%rip), %rcx     # 0x12b152
jmp 0x8292d
cmpq $0x7, %r13
jb 0x830c8
movq 0x10(%rsp), %r15
movb $0x1, 0x1d(%r15)
movq 0x8(%rsp), %rbx
movq 0x18(%rbx), %rdi
addq $0x6, %r12
movq %r12, %rsi
callq 0xeead3
movb %al, 0x1e(%r15)
movzbl %al, %edx
cmpb $0x2, %al
ja 0x82c72
leaq 0xa8477(%rip), %rax     # 0x12aa04
movslq (%rax,%rdx,4), %rcx
addq %rax, %rcx
jmp 0x82c79
cmpq $0xe, %r13
jb 0x830c8
movq 0x8(%rsp), %r15
movq 0x18(%r15), %rdi
movq %r12, %rsi
callq 0xeeb67
leaq 0xa902c(%rip), %rsi     # 0x12b5e7
movq %r15, %rdi
movl %eax, %edx
xorl %eax, %eax
callq 0xe8617
movq 0x18(%r15), %rdi
leaq 0x2(%r12), %rsi
callq 0xeed0d
movq %rax, %rbx
leaq 0xa9017(%rip), %rsi     # 0x12b5f6
movq %r15, %rdi
movl %ebx, %edx
xorl %eax, %eax
callq 0xe8617
cmpq $0x1, %rbx
jg 0x830c8
leaq 0x6(%r12), %rsi
leaq -0x6(%r13), %r15
movq 0x8(%rsp), %rbp
movq 0x18(%rbp), %rdi
movq %rsi, 0x28(%rsp)
callq 0xeed0d
movq %rax, %rbx
cmpq $0x12, %r13
jb 0x83081
movq 0x18(%rbp), %rdi
addq $0xa, %r12
leaq 0xa8fd8(%rip), %rdx     # 0x12b605
movl $0x4, %ecx
movq %r12, %rsi
callq 0xefc85
testl %eax, %eax
je 0x83067
movq 0x18(%rbp), %rdi
leaq 0xa8fcc(%rip), %rdx     # 0x12b619
movl $0x8, %ecx
movq %r12, %rsi
callq 0xefc85
testl %eax, %eax
jne 0x83081
movq 0x10(%rsp), %rax
movb $0x1, 0x18(%rax)
leaq 0xa8fb0(%rip), %rsi     # 0x12b622
movq %rbp, %rdi
xorl %eax, %eax
callq 0xe8617
jmp 0x83081
xorl %eax, %eax
movl %eax, 0x40(%rsp)
movl %eax, 0x150(%rsp)
movl %eax, 0x20(%rsp)
cmpq $0x8, %r13
jb 0x830c8
leaq 0xa8b19(%rip), %rsi     # 0x12b1bc
movq 0x8(%rsp), %r15
movq %r15, %rdi
movl %r12d, %edx
movl %r13d, %ecx
xorl %eax, %eax
callq 0xe8617
movq 0x10(%rsp), %rax
movb $0x1, 0x5(%rax)
cmpb $0x0, 0x2(%rax)
jne 0x826d0
movq 0x10(%rsp), %rax
movb $0x1, 0xa(%rax)
movq %r15, %rdi
movl $0x1, %esi
callq 0xe8a15
leaq 0x40(%rsp), %rbx
leaq 0x150(%rsp), %r8
leaq 0x20(%rsp), %r9
movq %r15, %rbp
movq %r15, %rdi
movq %r12, %rsi
movq %r13, %rdx
movq %rbx, %rcx
callq 0xf795c
movl (%rbx), %eax
testb $0x8, %al
movq 0x10(%rsp), %rdx
je 0x82712
movb $0x1, 0x6(%rdx)
testb $0x10, %al
je 0x8271a
movb $0x1, 0x20(%rdx)
testb $0x20, %al
movq %rbp, %rdi
je 0x8272b
movl 0x150(%rsp), %ecx
movl %ecx, 0x3c(%rdx)
testb $0x40, %al
je 0x830be
movl 0x20(%rsp), %eax
movl %eax, 0x40(%rdx)
jmp 0x830be
movq 0x8(%rsp), %rax
cmpl $0x2, (%rax)
jl 0x830c8
movq 0x8(%rsp), %rdi
movq 0x18(%rdi), %rsi
movl $0x1, (%rsp)
leaq 0xa8747(%rip), %r9      # 0x12aeab
movl $0x100, %r8d            # imm = 0x100
movq 0x28(%rsp), %rdx
movq %rbp, %rcx
callq 0xe8bea
jmp 0x830c8
movq 0x10(%rsp), %rax
movb $0x1, 0x7(%rax)
jmp 0x830c8
cmpq $0x2, %r13
jb 0x830c8
movq 0x8(%rsp), %r15
movq 0x18(%r15), %rdi
movq %r12, %rsi
callq 0xeead3
movl %eax, %ebx
movq 0x18(%r15), %rdi
leaq 0x1(%r12), %rsi
callq 0xeead3
movl %eax, %ebp
addq $-0x2, %r13
movzbl %bl, %r8d
movzbl %al, %r9d
leaq 0xa8a26(%rip), %rsi     # 0x12b1f0
movq %r15, %rdi
movl %r12d, %edx
movl %r13d, %ecx
xorl %eax, %eax
callq 0xe8617
movq 0x10(%rsp), %rax
movq 0x48(%rax), %rcx
testq %rcx, %rcx
jne 0x82813
movq 0x10(%rsp), %rax
movb $0x1, 0xf(%rax)
leaq 0x933a5(%rip), %rsi     # 0x115b9d
movq %r15, %rdi
xorl %edx, %edx
movl $0x1, %ecx
callq 0xefda1
movq %rax, %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x48(%rax)
movq 0x18(%r15), %rdi
addq $0x2, %r12
movq %r12, %rsi
movq %r13, %rdx
callq 0xef481
cmpb %bpl, %bl
jne 0x830c8
movq 0x10(%rsp), %rbx
movq 0x48(%rbx), %rdi
callq 0xf052b
movq $0x0, 0x48(%rbx)
jmp 0x830c8
pxor %xmm0, %xmm0
leaq 0x40(%rsp), %rbx
movdqa %xmm0, 0x20(%rbx)
movdqa %xmm0, 0x10(%rbx)
movdqa %xmm0, (%rbx)
leaq 0xa8b6a(%rip), %rsi     # 0x12b3d2
movq 0x8(%rsp), %rbp
movq %rbp, %rdi
movl %r12d, %edx
movl %r13d, %ecx
xorl %eax, %eax
callq 0xe8617
movq 0x10(%rsp), %r15
movb $0x1, 0xb(%r15)
movq %rbp, %rdi
movl $0x1, %esi
callq 0xe8a15
movq 0x18(%rbp), %rsi
movq %rbp, %rdi
movq %r12, %rdx
movq %r13, %rcx
xorl %r8d, %r8d
movq %rbx, %r9
callq 0xf7d6b
testb $0x2, (%rbx)
je 0x828b6
movb $0x1, 0xc(%r15)
movq 0x8(%rsp), %rdi
jmp 0x830be
movq 0x10(%rsp), %rsi
movb $0x1, 0x17(%rsi)
movq 0x8(%rsp), %rdi
movq 0x28(%rsp), %rdx
movq %rbp, %rcx
xorl %r8d, %r8d
jmp 0x828f3
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq 0x28(%rsp), %rdx
movq %rbp, %rcx
movl $0x1, %r8d
callq 0x83c82
jmp 0x830c8
leaq 0xa858f(%rip), %rsi     # 0x12ae93
movq 0x8(%rsp), %rbx
movq %rbx, %rdi
movl %r12d, %edx
movl %r13d, %ecx
xorl %eax, %eax
callq 0xe8617
movq 0x10(%rsp), %rax
movb $0x1, 0xd(%rax)
movq 0x18(%rbx), %rdi
leaq 0xb51b1(%rip), %rcx     # 0x137ade
movq %r12, %rsi
movq %r13, %rdx
xorl %r8d, %r8d
movl $0x1, %r9d
callq 0xefd48
jmp 0x830c8
leaq 0x40(%rsp), %rsi
movq %r12, (%rsi)
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0xeeb91
movq %rax, %r12
testl %r12d, %r12d
je 0x830c8
leaq 0x40(%rsp), %r15
leaq 0xc1e9e(%rip), %r13     # 0x144812
movq 0x40(%rsp), %rax
addq $0x2, %rax
cmpq %rbx, %rax
jg 0x830c8
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rdi
movq %r15, %rsi
callq 0xeeb91
movq %rax, %rbp
movq 0x40(%rsp), %rsi
addq %rsi, %rax
cmpq %rbx, %rax
jg 0x830c8
cmpl $0x3, %r12d
je 0x829f4
cmpl $0x2, %r12d
je 0x829e7
cmpl $0x1, %r12d
jne 0x82a08
cmpq $0x4, %rbp
jne 0x82a08
movq 0x8(%rsp), %r12
movq 0x18(%r12), %rdi
callq 0xeed0d
movq %r12, %rdi
leaq 0xa8a14(%rip), %rsi     # 0x12b3f0
movl %eax, %edx
xorl %eax, %eax
callq 0xe8617
jmp 0x82a08
movq 0x8(%rsp), %rdi
movq %rbp, %rdx
movq %r13, %rcx
jmp 0x82a03
movq 0x8(%rsp), %rdi
movq %rbp, %rdx
leaq 0x8fcec(%rip), %rcx     # 0x1126ef
callq 0x8427b
addq %rbp, 0x40(%rsp)
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rdi
movq %r15, %rsi
callq 0xeeb91
movq %rax, %r12
testl %r12d, %r12d
jne 0x82974
jmp 0x830c8
cmpq $0x8, %r13
jb 0x830c8
movq 0x8(%rsp), %rbx
movq 0x18(%rbx), %rdi
movq %r12, %rsi
callq 0xeed0d
leaq 0xa8cd3(%rip), %rsi     # 0x12b724
movq %rbx, %rdi
movl %eax, %edx
xorl %eax, %eax
callq 0xe8617
jmp 0x830c8
cmpq %r12, %rbx
je 0x830c8
incq %r12
decq %r13
leaq 0xa875d(%rip), %rsi     # 0x12b1d5
movq 0x8(%rsp), %rbx
movq %rbx, %rdi
movl %r12d, %edx
movl %r13d, %ecx
xorl %eax, %eax
callq 0xe8617
movq %rbx, %rdi
movl $0x1, %esi
callq 0xe8a15
movq 0x18(%rbx), %rcx
leaq 0xc79eb(%rip), %rsi     # 0x14a490
movq %rbx, %rdi
xorl %edx, %edx
movq %r12, %r8
movq %r13, %r9
callq 0xe9b13
movq %rbx, %rdi
jmp 0x830be
cmpl $0xea, %r14d
setne %cl
xorb $0x1, %dil
orb %cl, %dil
jne 0x82af5
movl $0x544f5241, %ecx       # imm = 0x544F5241
xorl 0xe8(%rsp), %ecx
movzbl 0x4(%rax), %eax
orl %ecx, %eax
movq 0x18(%rsp), %r14
je 0x82db7
movq %r12, %rax
jmp 0x819ac
cmpl $0xe1, %r14d
jne 0x82c8f
movabsq $0x534d5f6b72616544, %rax # imm = 0x534D5F6B72616544
xorq 0x98(%rsp), %rax
movabsq $0x41424752534d5f, %rcx # imm = 0x41424752534D5F
xorq 0x9d(%rsp), %rcx
orq %rax, %rcx
movq 0x18(%rsp), %r14
je 0x82fd6
movabsq $0x42525f6b72616544, %rax # imm = 0x42525F6B72616544
xorq 0x98(%rsp), %rax
movabsq $0x706177735f4252, %rcx # imm = 0x706177735F4252
xorq 0x9e(%rsp), %rcx
orq %rax, %rcx
je 0x830e7
movq 0x10(%rsp), %rax
cmpb $0x0, 0x1(%rax)
je 0x82aed
cmpl $0x434950, 0x98(%rsp) # imm = 0x434950
jne 0x82aed
leaq 0xa84e0(%rip), %rbx     # 0x12b064
movl $0x6e, %r15d
jmp 0x81db8
movq %rax, %r12
movq 0x18(%r15), %rdi
movq 0x40(%rsp), %rsi
callq 0xeed0d
movq %r15, %rdi
movq %rax, %r13
callq 0xf6410
movq %rax, %r15
cmpb $0x1, %r13b
je 0x82eaa
movzbl %r13b, %eax
testl %eax, %eax
jne 0x82ede
leaq 0xa8a80(%rip), %rsi     # 0x12b64b
movq %r15, %rdi
callq 0xf7105
movq %r13, %rax
shrq $0x8, %rax
cmpb $0x3, %al
jae 0x82ede
andl $0x3, %eax
leaq 0x100fa4(%rip), %rcx    # 0x183b90
jmp 0x82ecf
orl $0x2, %ebx
cmpl $0x13, %ebx
jne 0x830c8
cmpq $0x3, %r13
jb 0x830c8
xorl %ebx, %ebx
cmpb $0x11, %bpl
sete %bl
movq %r15, %rbp
movq 0x18(%r15), %rdi
leaq 0x1(%r12), %rsi
callq 0xeead3
movzbl %al, %r15d
movq 0x18(%rbp), %rdi
leaq 0x2(%r12), %rsi
callq 0xeead3
movzbl %al, %r13d
leaq 0xa8522(%rip), %rsi     # 0x12b160
movq %rbp, %rdi
movl %r15d, %edx
movl %r13d, %ecx
xorl %eax, %eax
callq 0xe8617
addq $0x3, %r12
leaq 0xa8529(%rip), %r9      # 0x12b182
movq %rbp, %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %r13, %rcx
movl %ebx, %r8d
callq 0x83e5c
jmp 0x830c8
leaq 0x8f823(%rip), %rcx     # 0x11249c
leaq 0xa8523(%rip), %rsi     # 0x12b1a3
movq %rbx, %rdi
xorl %eax, %eax
callq 0xe8617
jmp 0x830c8
movq %r12, %rax
jmp 0x819a7
movl $0x5, %r12d
leaq 0xa822f(%rip), %rbx     # 0x12aed3
movl $0xc, %r15d
jmp 0x81db3
cmpq $0x6, %r13
movq 0x8(%rsp), %r12
jb 0x82da1
movq 0x18(%r12), %rdi
leaq 0x20(%rsp), %r14
movq %r14, %rsi
callq 0xeeb91
movq %rax, %r15
leaq 0xa8605(%rip), %rsi     # 0x12b2df
movq %r12, %rdi
movl %r15d, %edx
xorl %eax, %eax
callq 0xe8617
movq 0x18(%r12), %rdi
movq %r14, %rsi
callq 0xeed31
leaq 0xa85ff(%rip), %rsi     # 0x12b2fa
movq %r12, %rdi
movl %eax, %edx
xorl %eax, %eax
callq 0xe8617
movq (%r14), %r14
subq %r14, %rbx
testq %rbx, %rbx
jle 0x82d2d
leaq 0xa85ff(%rip), %rsi     # 0x12b318
movq %r12, %rdi
movl %ebx, %edx
movl %r14d, %ecx
xorl %eax, %eax
callq 0xe8617
movq 0x20(%rsp), %r14
movq 0x10(%rsp), %rax
movq 0xa8(%rax), %rax
testq %rax, %rax
movq 0x8(%rsp), %r12
je 0x82da1
cmpq %r15, (%rax)
jb 0x82da1
movq 0x8(%rax), %rax
leaq (%r15,%r15,4), %rcx
cmpl $0x0, 0x24(%rax,%rcx,8)
jne 0x82da1
leaq (%rax,%rcx,8), %r15
movq 0x10(%r15), %rcx
testq %rcx, %rcx
jne 0x82d78
movq %r12, %rdi
movq %rbx, %rsi
xorl %edx, %edx
callq 0xf09c5
movq %rax, %rcx
movq %rax, 0x10(%r15)
movq 0x18(%r12), %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq 0xef481
movq 0x10(%r15), %rax
movq 0x18(%rax), %rax
cmpq 0x18(%r15), %rax
jl 0x82da1
movq %r12, %rdi
movq %r15, %rsi
callq 0x84029
movl 0x3c(%rsp), %esi
movq %r12, %rdi
callq 0xe8a25
movq 0x18(%rsp), %r14
jmp 0x830c8
movl $0x6, %r12d
leaq 0xa8224(%rip), %rbx     # 0x12afe8
movl $0x1b, %r15d
jmp 0x81db8
movq %r15, 0x28(%rsp)
movl $0x1, 0x58(%rbx)
movdqa 0x40(%rsp), %xmm0
movdqa 0x50(%rsp), %xmm1
movdqu %xmm0, 0x70(%rbx)
movdqu %xmm1, 0x80(%rbx)
movq 0x18(%rbp), %rdi
leaq 0x150(%rsp), %rsi
callq 0xeed31
movq %rax, %r15
movq %rax, 0x90(%rbx)
jmp 0x82e2a
movq %r15, 0x28(%rsp)
movq 0x18(%rbp), %rdi
leaq 0x150(%rsp), %rsi
callq 0xeed31
movq %rax, %r15
leaq 0xa8646(%rip), %rsi     # 0x12b477
movq %rbp, %rdi
movl %r15d, %edx
xorl %eax, %eax
callq 0xe8617
cmpq 0x90(%rbx), %r15
jne 0x82e73
cmpq $0x989681, %r15         # imm = 0x989681
jl 0x82fe8
leaq 0xa865d(%rip), %rsi     # 0x12b4b8
movq %rbp, %rdi
xorl %eax, %eax
callq 0xe8faa
movq 0x10(%rsp), %rax
movl $0x1, 0x60(%rax)
jmp 0x82e8b
leaq 0xa8616(%rip), %rsi     # 0x12b490
movq %rbp, %rdi
xorl %eax, %eax
callq 0xe8faa
movl $0x1, 0x60(%rbx)
movq 0x28(%rsp), %r15
movq %rbp, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xe8a15
movq %r15, %rdi
callq 0xf6753
jmp 0x830c8
leaq 0xa87ab(%rip), %rsi     # 0x12b65c
movq %r15, %rdi
callq 0xf7105
movl %r13d, %eax
shrl $0x8, %eax
decb %al
cmpb $0x4, %al
jae 0x82ede
movzbl %al, %eax
leaq 0x100cd9(%rip), %rcx    # 0x183ba8
leaq (%rcx,%rax,8), %rax
movq (%rax), %rsi
movq %r15, %rdi
callq 0xf7105
btl $0x10, %r13d
leaq 0xa87f3(%rip), %rax     # 0x12b6dd
leaq 0xa87e0(%rip), %rsi     # 0x12b6d1
cmovaeq %rax, %rsi
movq %r15, %rdi
callq 0xf7105
btl $0x11, %r13d
leaq 0xa87eb(%rip), %rax     # 0x12b6f4
leaq 0xa87d9(%rip), %rsi     # 0x12b6e9
cmovaeq %rax, %rsi
movq %r15, %rdi
callq 0xf7105
movq %r15, %rdi
callq 0xf705c
leaq 0xa87d4(%rip), %rsi     # 0x12b6ff
xorl %ebp, %ebp
movq 0x8(%rsp), %rdi
movl %r13d, %edx
movq %rax, %rcx
xorl %eax, %eax
callq 0xe8617
addq 0x40(%rsp), %r12
movq %r12, 0x40(%rsp)
movq %rbx, %rax
subq %r12, %rax
cmpq $0x2, %rax
jl 0x81fef
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rdi
leaq 0x40(%rsp), %r13
movq %r13, %rsi
callq 0xeeb91
movq %rax, %r12
movq (%r13), %rax
addq %r12, %rax
cmpq %rbx, %rax
jg 0x81fed
movq 0x8(%rsp), %rbx
movq %rbx, %rdi
callq 0xf6410
movq %rax, %rbp
movq 0x18(%rbx), %rdi
movq 0x40(%rsp), %rsi
movl $0x1, (%rsp)
movl $0x1f4, %ecx            # imm = 0x1F4
movq %r12, %rdx
movq %rax, %r8
xorl %r9d, %r9d
callq 0xefc2a
movq %rbp, %rdi
callq 0xf705c
leaq 0x918bc(%rip), %rsi     # 0x114880
movq %rbx, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0xe8617
jmp 0x81fef
leaq 0xa803e(%rip), %rbx     # 0x12b01b
movl $0x64, %r15d
jmp 0x81db8
movq 0x18(%rbp), %rdi
leaq 0x150(%rsp), %rbx
movq %rbx, %rsi
callq 0xeed31
movq %rax, %r15
leaq 0xa84cf(%rip), %rsi     # 0x12b4d5
movq %rbp, %rdi
movl %r15d, %edx
xorl %eax, %eax
callq 0xe8617
movq (%rbx), %rcx
subq %rcx, %r12
addq %r13, %r12
leaq 0xa84cd(%rip), %rsi     # 0x12b4f0
movq %rbp, %rdi
movl %r12d, %edx
xorl %eax, %eax
callq 0xe8617
leaq (%r12,%r15), %rax
movq 0x10(%rsp), %rbx
movq 0x90(%rbx), %rsi
cmpq %rsi, %rax
jle 0x83113
leaq 0xa84c2(%rip), %rsi     # 0x12b512
jmp 0x82e7a
leaq 0xa7f38(%rip), %rbx     # 0x12af94
movl $0x18, %r15d
jmp 0x81db3
leaq 0xa859c(%rip), %rsi     # 0x12b60a
movq %rbp, %rdi
xorl %eax, %eax
callq 0xe8617
movq 0x10(%rsp), %rax
movb $0x1, 0x11(%rax)
cmpq %r15, %rbx
jg 0x830c8
movq 0x8(%rsp), %r12
movq %r12, %rdi
movl $0x1, %esi
callq 0xe8a15
movq 0x18(%r12), %rcx
leaq 0x922fc(%rip), %rsi     # 0x1153a0
leaq 0xa5c0a(%rip), %rdx     # 0x128cb5
movq %r12, %rdi
movq 0x28(%rsp), %r8
movq %r15, %r9
callq 0xe9b13
movq %r12, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xe8a15
testq %r14, %r14
je 0x830d5
movq %r14, %rdi
callq 0xf6753
addq $0x258, %rsp            # imm = 0x258
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xa7f5c(%rip), %rbx     # 0x12b04a
movl $0x65, %r15d
jmp 0x81db8
xorl %r12d, %r12d
jmp 0x81db3
leaq 0xa7ea4(%rip), %rbx     # 0x12afac
movl $0x19, %r15d
jmp 0x81db3
movq 0x68(%rbx), %rcx
testq %rcx, %rcx
jne 0x83130
movq %rbp, %rdi
movl $0x1, %edx
callq 0xf09c5
movq %rax, %rcx
movq %rax, 0x68(%rbx)
movq 0x18(%rbp), %rdi
movq 0x150(%rsp), %rsi
movq %r12, %rdx
movq %r15, %r8
callq 0xef82b
jmp 0x82e8b