// File: /workspace/github_cpp_makefile_star2_O2/goodix[P]gdix_hid_firmware_update/gtx9/gtx9_i2c_update.cpp
// Function: gdix_do_fw_update(char const*, char const*, unsigned char)
int gdix_do_fw_update(const char *devname, const char *filename,
					  uint8_t i2c_addr)
{
	int ret;

	if (!devname || !filename) {
		gdix_err("devname or filename is NULL\n");
		return -1;
	}

	if (!strstr(devname, "dev/i2c")) {
		gdix_err("devname[%s] is invalid\n", devname);
		return -1;
	}

	g_client_addr = i2c_addr;
	gdix_dbg("i2c-addr:0x%02x\n", g_client_addr);
	g_fd = open(devname, O_RDWR);
	if (g_fd < 0) {
		gdix_err("failed to open %s\n", devname);
		return -1;
	}

	ret = switch_i2c_mode();
	if (ret < 0)
		goto err_out;

	ret = gdix_read_firmware(filename);
	if (ret < 0) {
		gdix_err("failed to read %s\n", filename);
		goto err_out;
	}

	gdix_fw_update_proc(&goodix_fw_update_ctrl);

err_out:
	close(g_fd);
	g_fd = 0;
	return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1068, %rsp           # imm = 0x1068
testq %rdi, %rdi
setne %al
testq %rsi, %rsi
setne %cl
testb %cl, %al
je 0x1044d
movl %edx, %ebp
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x8065(%rip), %rsi      # 0x181e0
callq 0x5050
testq %rax, %rax
je 0x10489
movzbl %bpl, %r8d
movw %r8w, 0x100f3(%rip)     # 0x20288
leaq 0x100f5(%rip), %r13     # 0x20291
cmpb $0x1, (%r13)
jne 0x101c7
movq 0xfe0e(%rip), %rax      # 0x1ffb8
movq (%rax), %rdi
leaq 0x805d(%rip), %rsi      # 0x18211
leaq 0x8013(%rip), %rdx      # 0x181ce
movl $0x36f, %ecx            # imm = 0x36F
xorl %eax, %eax
callq 0x5180
pushq $0x2
popq %rsi
movq %r14, %rdi
xorl %eax, %eax
callq 0x51e0
movl %eax, 0x100be(%rip)     # 0x20298
testl %eax, %eax
js 0x104bb
leaq 0x60(%rsp), %r14
movb $-0x34, (%r14)
pushq $0x6
popq %r15
pushq $0x1
popq %rbp
decl %r15d
je 0x104f5
movl $0x3030aabb, %edi       # imm = 0x3030AABB
movq %r14, %rsi
movl %ebp, %edx
callq 0x1102c
testl %eax, %eax
jne 0x101f2
cmpb $0x1, (%r13)
jne 0x10239
movq 0xfd9c(%rip), %rax      # 0x1ffb8
movq (%rax), %rdi
leaq 0x8055(%rip), %rsi      # 0x1827b
leaq 0x8078(%rip), %rdx      # 0x182a5
movl $0x12b, %ecx            # imm = 0x12B
xorl %eax, %eax
callq 0x5180
movl $0xc350, %edi           # imm = 0xC350
callq 0x5170
movq %rbx, %rdi
xorl %esi, %esi
xorl %eax, %eax
callq 0x51e0
movl %eax, %ebp
testl %eax, %eax
js 0x10522
pushq $0x2
popq %rdx
movl %ebp, %edi
xorl %esi, %esi
callq 0x50b0
movq %rax, %r12
movl %ebp, %edi
xorl %esi, %esi
xorl %edx, %edx
callq 0x50b0
movslq %r12d, %r15
movq %r15, %rdi
callq 0x5030
movq %rax, %r14
movq %rax, %rdi
xorl %esi, %esi
movq %r15, %rdx
callq 0x5080
movl %ebp, %edi
movq %r14, %rsi
movq %r15, %rdx
callq 0x5190
cmpl %r15d, %eax
jne 0x10555
movslq (%r14), %rbx
addq $0x8, %rbx
movl %ebx, 0xffeb(%rip)      # 0x2029c
leaq 0xffe4(%rip), %r15      # 0x2029c
leaq 0xffe1(%rip), %rdi      # 0x202a0
movq %r14, %rsi
movq %rbx, %rdx
callq 0x5090
movq %r15, 0x51467(%rip)     # 0x61738
movl %r12d, %r15d
movb (%r13), %r13b
subl %ebx, %r15d
jle 0x103b6
testb $0x1, %r13b
je 0x1031b
movq 0xfcca(%rip), %rax      # 0x1ffb8
movq (%rax), %rdi
leaq 0x7c22(%rip), %rsi      # 0x17f1a
leaq 0x8052(%rip), %rdx      # 0x18351
movl $0x158, %ecx            # imm = 0x158
movl %ebx, %r8d
movl %r12d, %r9d
xorl %eax, %eax
callq 0x5180
leaq 0xff79(%rip), %rax      # 0x20291
movb (%rax), %r13b
testb $0x1, %r13b
je 0x1034f
movq 0xfc90(%rip), %rax      # 0x1ffb8
movq (%rax), %rdi
leaq 0x4e0e(%rip), %rsi      # 0x15140
leaq 0x8018(%rip), %rdx      # 0x18351
movl $0x159, %ecx            # imm = 0x159
xorl %eax, %eax
callq 0x5180
leaq 0xff45(%rip), %rax      # 0x20291
movb (%rax), %r13b
addl $-0x40, %r15d
testb $0x1, %r13b
je 0x1038a
movq 0xfc58(%rip), %rax      # 0x1ffb8
movq (%rax), %rdi
leaq 0x7be8(%rip), %rsi      # 0x17f52
leaq 0x7fe0(%rip), %rdx      # 0x18351
movl $0x15b, %ecx            # imm = 0x15B
movl %r15d, %r8d
xorl %eax, %eax
callq 0x5180
leaq 0xff0a(%rip), %rax      # 0x20291
movb (%rax), %r13b
movl %r15d, 0x4ff0f(%rip)    # 0x602a0
leaq 0x4ff08(%rip), %r12     # 0x602a0
leaq (%r14,%rbx), %rsi
addq $0x40, %rsi
movslq %r15d, %rdx
leaq 0x4fefa(%rip), %rdi     # 0x602a4
callq 0x5090
movq %r12, 0x5138a(%rip)     # 0x61740
testb $0x1, %r13b
je 0x103e0
movq 0xfbf5(%rip), %rax      # 0x1ffb8
movq (%rax), %rdi
leaq 0x7f97(%rip), %rsi      # 0x18364
leaq 0x7f7d(%rip), %rdx      # 0x18351
movl $0x161, %ecx            # imm = 0x161
xorl %eax, %eax
callq 0x5180
movl %ebp, %edi
callq 0x5210
leaq 0x44(%rsp), %rdi
callq 0x11216
testl %eax, %eax
leaq 0xfe97(%rip), %r15      # 0x20291
jns 0x10406
cmpb $0x1, (%r15)
je 0x10a22
movq 0x5132b(%rip), %rbx     # 0x61738
movl (%rbx), %r8d
cmpl $0x29, %r8d
jg 0x105a6
cmpb $0x1, (%r15)
jne 0x10661
movq 0xfbad(%rip), %rax      # 0x1ffd8
movq (%rax), %rdi
leaq 0x817e(%rip), %rsi      # 0x185b3
leaq 0x81a2(%rip), %rdx      # 0x185de
movl $0x177, %ecx            # imm = 0x177
xorl %eax, %eax
callq 0x5180
jmp 0x10661
leaq 0xfe3d(%rip), %rax      # 0x20291
pushq $-0x1
popq %rbx
cmpb $0x1, (%rax)
jne 0x1069f
movq 0xfb71(%rip), %rax      # 0x1ffd8
movq (%rax), %rdi
leaq 0x7d2f(%rip), %rsi      # 0x181a0
leaq 0x7d56(%rip), %rdx      # 0x181ce
movl $0x365, %ecx            # imm = 0x365
xorl %eax, %eax
callq 0x5180
jmp 0x1069f
leaq 0xfe01(%rip), %rax      # 0x20291
pushq $-0x1
popq %rbx
cmpb $0x1, (%rax)
jne 0x1069f
movq 0xfb35(%rip), %rax      # 0x1ffd8
movq (%rax), %rdi
leaq 0x7d3b(%rip), %rsi      # 0x181e8
leaq 0x7d1a(%rip), %rdx      # 0x181ce
movl $0x36a, %ecx            # imm = 0x36A
jmp 0x104e6
pushq $-0x1
popq %rbx
cmpb $0x1, (%r13)
jne 0x1069f
movq 0xfb08(%rip), %rax      # 0x1ffd8
movq (%rax), %rdi
leaq 0x7d59(%rip), %rsi      # 0x18233
leaq 0x7ced(%rip), %rdx      # 0x181ce
movl $0x372, %ecx            # imm = 0x372
movq %r14, %r8
xorl %eax, %eax
callq 0x5180
jmp 0x1069f
cmpb $0x1, (%r13)
jne 0x1068b
movq 0xfad1(%rip), %rax      # 0x1ffd8
movq (%rax), %rdi
leaq 0x7da4(%rip), %rsi      # 0x182b5
leaq 0x7d8d(%rip), %rdx      # 0x182a5
movl $0x131, %ecx            # imm = 0x131
jmp 0x10684
cmpb $0x1, (%r13)
jne 0x1056f
movq 0xfaa8(%rip), %rax      # 0x1ffd8
movq (%rax), %rdi
leaq 0x4b83(%rip), %rsi      # 0x150bd
leaq 0x7e10(%rip), %rdx      # 0x18351
movl $0x140, %ecx            # imm = 0x140
movq %rbx, %r8
movl %ebp, %r9d
xorl %eax, %eax
callq 0x5180
jmp 0x1056f
cmpb $0x1, (%r13)
je 0x10703
movq %r14, %rdi
callq 0x5130
movl %ebp, %edi
callq 0x5210
cmpb $0x1, (%r13)
jne 0x1068b
movq 0xfa57(%rip), %rax      # 0x1ffd8
movq (%rax), %rdi
leaq 0x7ccc(%rip), %rsi      # 0x18257
leaq 0x7c3c(%rip), %rdx      # 0x181ce
movl $0x37c, %ecx            # imm = 0x37C
movq %rbx, %r8
xorl %eax, %eax
callq 0x5180
jmp 0x1068b
leaq 0x4(%rbx), %r14
leaq 0x50cf7(%rip), %rdi     # 0x612a8
movl $0x48a, %edx            # imm = 0x48A
movq %r14, %rsi
callq 0x5090
movslq (%rbx), %r8
movl 0x50ce0(%rip), %r9d     # 0x612a8
addl $0x8, %r9d
cmpl %r9d, %r8d
jne 0x105e8
xorl %eax, %eax
pushq $0x8
popq %rcx
cmpq %r8, %rcx
jge 0x10614
movzwl 0x4(%rbx,%rcx), %edx
addl %edx, %eax
addq $0x2, %rcx
jmp 0x105d6
cmpb $0x1, (%r15)
jne 0x10661
movq 0xf9e3(%rip), %rax      # 0x1ffd8
movq (%rax), %rdi
leaq 0x7974(%rip), %rsi      # 0x17f73
leaq 0x7fd8(%rip), %rdx      # 0x185de
movl $0x180, %ecx            # imm = 0x180
xorl %eax, %eax
callq 0x5180
jmp 0x10661
cmpl 0x50c92(%rip), %eax     # 0x612ac
jne 0x10657
movzbl 0x50ca2(%rip), %eax     # 0x612c5
cmpl $0x2f, %eax
jbe 0x106b3
cmpb $0x1, (%r15)
jne 0x10661
movq 0xf99f(%rip), %rcx      # 0x1ffd8
movq (%rcx), %rdi
leaq 0x7fdd(%rip), %rsi      # 0x18620
leaq 0x7f94(%rip), %rdx      # 0x185de
movl $0x191, %ecx            # imm = 0x191
movl %eax, %r8d
jmp 0x10441
cmpb $0x1, (%r15)
je 0x10c1d
cmpb $0x1, (%r15)
jne 0x1068b
movq 0xf96a(%rip), %rax      # 0x1ffd8
movq (%rax), %rdi
leaq 0x7d59(%rip), %rsi      # 0x183d1
leaq 0x7d3e(%rip), %rdx      # 0x183bd
movl $0x348, %ecx            # imm = 0x348
xorl %eax, %eax
callq 0x5180
movl 0xfc07(%rip), %edi      # 0x20298
callq 0x5210
andl $0x0, 0xfbfb(%rip)      # 0x20298
xorl %ebx, %ebx
movl %ebx, %eax
addq $0x1068, %rsp           # imm = 0x1068
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl %eax, %eax
imulq $0xa, %rax, %rax
movl $0x200, %ecx            # imm = 0x200
leaq 0x50c15(%rip), %rdx     # 0x612da
xorl %esi, %esi
cmpq %rsi, %rax
je 0x10732
movb 0x2e(%rbx,%rsi), %dil
movb %dil, -0x10(%rdx)
movl 0x2f(%rbx,%rsi), %edi
movl %edi, -0xc(%rdx)
movl 0x33(%rbx,%rsi), %r9d
movl %r9d, -0x8(%rdx)
cmpl %r8d, %ecx
jg 0x109f6
movslq %ecx, %r9
addq %r14, %r9
movq %r9, (%rdx)
addl %edi, %ecx
addq $0x18, %rdx
addq $0xa, %rsi
jmp 0x106c7
movq 0xf8ce(%rip), %rcx      # 0x1ffd8
movq (%rcx), %rdi
leaq 0x77d7(%rip), %rsi      # 0x17eeb
leaq 0x7c36(%rip), %rdx      # 0x18351
movl $0x14a, %ecx            # imm = 0x14A
movq %rbx, %r8
movl %eax, %r9d
xorl %eax, %eax
callq 0x5180
jmp 0x10560
movb (%r15), %al
cmpb $0x1, %al
jne 0x10768
movq 0xf878(%rip), %rax      # 0x1ffb8
movq (%rax), %rdi
movzbl 0x50b7c(%rip), %r8d     # 0x612c7
leaq 0x7f05(%rip), %rsi      # 0x18657
leaq 0x7e85(%rip), %rdx      # 0x185de
movl $0x1a9, %ecx            # imm = 0x1A9
xorl %eax, %eax
callq 0x5180
movb (%r15), %al
testb $0x1, %al
je 0x1079a
movq 0xf845(%rip), %rax      # 0x1ffb8
movq (%rax), %rdi
leaq 0x7f0b(%rip), %rsi      # 0x18688
leaq 0x7e5a(%rip), %rdx      # 0x185de
leaq 0x50b2e(%rip), %r8      # 0x612b9
movl $0x1aa, %ecx            # imm = 0x1AA
xorl %eax, %eax
callq 0x5180
movb (%r15), %al
testb $0x1, %al
je 0x107d0
movq 0xf813(%rip), %rax      # 0x1ffb8
movq (%rax), %rdi
leaq 0x7efd(%rip), %rsi      # 0x186ac
leaq 0x7e28(%rip), %rdx      # 0x185de
leaq 0x50b04(%rip), %r9      # 0x612c1
pushq $0x4
popq %r8
movl $0x1ab, %ecx            # imm = 0x1AB
xorl %eax, %eax
callq 0x5180
movb (%r15), %al
testb $0x1, %al
je 0x10803
movq 0xf7dd(%rip), %rax      # 0x1ffb8
movq (%rax), %rdi
movzbl 0x50ae0(%rip), %r8d     # 0x612c6
leaq 0x7ee3(%rip), %rsi      # 0x186d0
leaq 0x7dea(%rip), %rdx      # 0x185de
movl $0x1ac, %ecx            # imm = 0x1AC
xorl %eax, %eax
callq 0x5180
movb (%r15), %al
testb $0x1, %al
je 0x10847
movq 0xf7aa(%rip), %rax      # 0x1ffb8
movq (%rax), %rdi
testb $0x1, 0x50ab0(%rip)     # 0x612c8
leaq 0x7f08(%rip), %rax      # 0x18727
leaq 0x7efd(%rip), %r8       # 0x18723
cmoveq %rax, %r8
leaq 0x7ecb(%rip), %rsi      # 0x186fc
leaq 0x7da6(%rip), %rdx      # 0x185de
movl $0x1ae, %ecx            # imm = 0x1AE
xorl %eax, %eax
callq 0x5180
movb (%r15), %al
testb $0x1, %al
je 0x10879
movq 0xf766(%rip), %rax      # 0x1ffb8
movq (%rax), %rdi
movl 0x50a4c(%rip), %r8d     # 0x612a8
leaq 0x7ec8(%rip), %rsi      # 0x1872b
leaq 0x7d74(%rip), %rdx      # 0x185de
movl $0x1af, %ecx            # imm = 0x1AF
xorl %eax, %eax
callq 0x5180
movb (%r15), %al
testb $0x1, %al
je 0x108ac
movq 0xf734(%rip), %rax      # 0x1ffb8
movq (%rax), %rdi
movzbl 0x50a36(%rip), %r8d     # 0x612c5
leaq 0x7eb8(%rip), %rsi      # 0x1874e
leaq 0x7d41(%rip), %rdx      # 0x185de
movl $0x1b0, %ecx            # imm = 0x1B0
xorl %eax, %eax
callq 0x5180
movb (%r15), %al
movl $0x1, 0x8(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x90(%rsp)
movaps %xmm0, 0x80(%rsp)
movaps %xmm0, 0x70(%rsp)
movaps %xmm0, 0x60(%rsp)
testb $0x1, %al
je 0x108f9
movq 0xf6dc(%rip), %rax      # 0x1ffb8
movq (%rax), %rdi
leaq 0x7e94(%rip), %rsi      # 0x1877a
leaq 0x7eb6(%rip), %rdx      # 0x187a3
movl $0x210, %ecx            # imm = 0x210
xorl %eax, %eax
callq 0x5180
pushq $0x5
popq %rdi
callq 0x1158b
pushq $0x64
popq %r15
pushq $0x2
popq %rbx
pushq $0x4
popq %rbp
movl %ebx, %edi
leaq 0x8(%rsp), %rsi
movl %ebx, %edx
callq 0x1102c
movl %eax, %r14d
movl $0x2000, %edi           # imm = 0x2000
leaq 0x60(%rsp), %rsi
movl %ebp, %edx
callq 0x113f6
movl %eax, %r12d
orl %r14d, %r12d
movl $0x2000, %edi           # imm = 0x2000
leaq 0x64(%rsp), %rsi
movl %ebp, %edx
callq 0x113f6
movl %eax, %r13d
orl %r12d, %r13d
movl $0x2000, %edi           # imm = 0x2000
leaq 0x68(%rsp), %rsi
movl %ebp, %edx
callq 0x113f6
movl %eax, %r14d
orl %r13d, %r14d
jne 0x10977
movl 0x64(%rsp), %eax
cmpl %eax, 0x60(%rsp)
jne 0x10977
cmpl 0x68(%rsp), %eax
je 0x10a4b
movl $0x3e8, %edi            # imm = 0x3E8
callq 0x5170
leaq 0xf909(%rip), %r12      # 0x20291
cmpb $0x1, (%r12)
jne 0x109b6
movq 0xf622(%rip), %rax      # 0x1ffb8
movq (%rax), %rdi
leaq 0x7e17(%rip), %rsi      # 0x187b7
leaq 0x7dfc(%rip), %rdx      # 0x187a3
movl $0x222, %ecx            # imm = 0x222
movl %r15d, %r8d
xorl %eax, %eax
callq 0x5180
decl %r15d
jne 0x1090b
cmpb $0x1, (%r12)
jne 0x10ccd
movq 0xf607(%rip), %rax      # 0x1ffd8
movq (%rax), %rdi
leaq 0x7e00(%rip), %rsi      # 0x187db
leaq 0x7dc1(%rip), %rdx      # 0x187a3
movl $0x225, %ecx            # imm = 0x225
movl %r14d, %r8d
xorl %eax, %eax
callq 0x5180
jmp 0x10ccd
cmpb $0x1, (%r15)
jne 0x10661
movq 0xf5d1(%rip), %rax      # 0x1ffd8
movq (%rax), %rdi
leaq 0x760e(%rip), %rsi      # 0x1801f
leaq 0x7bc6(%rip), %rdx      # 0x185de
movl $0x1a0, %ecx            # imm = 0x1A0
jmp 0x10c3a
movq 0xf5af(%rip), %rax      # 0x1ffd8
movq (%rax), %rdi
leaq 0x7959(%rip), %rsi      # 0x1838c
leaq 0x7983(%rip), %rdx      # 0x183bd
movl $0x344, %ecx            # imm = 0x344
xorl %eax, %eax
callq 0x5180
jmp 0x10406
leaq 0xf83f(%rip), %r12      # 0x20291
cmpb $0x1, (%r12)
jne 0x10a7d
movq 0xf558(%rip), %rax      # 0x1ffb8
movq (%rax), %rdi
leaq 0x7da3(%rip), %rsi      # 0x1880d
leaq 0x7d32(%rip), %rdx      # 0x187a3
movl $0x228, %ecx            # imm = 0x228
xorl %eax, %eax
callq 0x5180
leaq 0x8(%rsp), %rsi
movb $0x40, (%rsi)
pushq $0x1
popq %rdx
movl $0xd80b, %edi           # imm = 0xD80B
callq 0x1102c
cmpb $0x1, (%r12)
jne 0x10abd
movq 0xf518(%rip), %rax      # 0x1ffb8
movq (%rax), %rdi
leaq 0x7d86(%rip), %rsi      # 0x18830
leaq 0x7cf2(%rip), %rdx      # 0x187a3
movl $0x22d, %ecx            # imm = 0x22D
xorl %eax, %eax
callq 0x5180
leaq 0x8(%rsp), %rsi
movb $0x0, (%rsi)
pushq $0x1
popq %r14
movl $0xd054, %edi           # imm = 0xD054
movl %r14d, %edx
callq 0x1102c
movb (%r12), %al
cmpb $0x1, %al
jne 0x10b06
movq 0xf4d3(%rip), %rax      # 0x1ffb8
movq (%rax), %rdi
leaq 0x7d67(%rip), %rsi      # 0x18856
leaq 0x7cad(%rip), %rdx      # 0x187a3
movl $0x232, %ecx            # imm = 0x232
xorl %eax, %eax
callq 0x5180
movb (%r12), %al
testb $0x1, %al
je 0x10b2e
movq 0xf4a7(%rip), %rax      # 0x1ffb8
movq (%rax), %rdi
leaq 0x7d89(%rip), %rsi      # 0x188a4
leaq 0x7da6(%rip), %rdx      # 0x188c8
movl $0x1e6, %ecx            # imm = 0x1E6
xorl %eax, %eax
callq 0x5180
movq 0x507a5(%rip), %rsi     # 0x612da
movl 0x50793(%rip), %edx     # 0x612ce
movl $0x57000, %edi          # imm = 0x57000
callq 0x1102c
movb (%r12), %cl
testl %eax, %eax
js 0x10c46
testb %cl, %cl
je 0x10b79
movq 0xf45c(%rip), %rax      # 0x1ffb8
movq (%rax), %rdi
leaq 0x7d94(%rip), %rsi      # 0x188fa
leaq 0x7d5b(%rip), %rdx      # 0x188c8
movl $0x1ed, %ecx            # imm = 0x1ED
xorl %eax, %eax
callq 0x5180
movabsq $0x5555555555555555, %rax # imm = 0x5555555555555555
leaq 0x38(%rsp), %rsi
movq %rax, (%rsi)
pushq $0x8
popq %rdx
movl $0x10000, %edi          # imm = 0x10000
callq 0x1102c
movb (%r12), %cl
testl %eax, %eax
js 0x10c69
testb %cl, %cl
je 0x10bd2
movq 0xf409(%rip), %rax      # 0x1ffb8
movq (%rax), %rdi
leaq 0x7d9c(%rip), %rsi      # 0x18955
leaq 0x7d08(%rip), %rdx      # 0x188c8
movl $0x1f6, %ecx            # imm = 0x1F6
movl $0x10000, %r8d          # imm = 0x10000
xorl %eax, %eax
callq 0x5180
pushq $0x64
popq %rdi
callq 0x1158b
leaq 0x10(%rsp), %rdi
callq 0x11216
testl %eax, %eax
je 0x10c93
leaq 0xf69e(%rip), %r12      # 0x20291
cmpb $0x1, (%r12)
jne 0x10cc6
movq 0xf3d3(%rip), %rax      # 0x1ffd8
movq (%rax), %rdi
leaq 0x7d76(%rip), %rsi      # 0x18985
leaq 0x7cb2(%rip), %rdx      # 0x188c8
movl $0x1fb, %ecx            # imm = 0x1FB
jmp 0x10c8a
movq 0xf3b4(%rip), %rax      # 0x1ffd8
movq (%rax), %rdi
leaq 0x79c4(%rip), %rsi      # 0x185f2
leaq 0x79a9(%rip), %rdx      # 0x185de
movl $0x18a, %ecx            # imm = 0x18A
xorl %eax, %eax
callq 0x5180
jmp 0x10661
testb %cl, %cl
je 0x10cc6
movq 0xf387(%rip), %rax      # 0x1ffd8
movq (%rax), %rdi
leaq 0x7c7b(%rip), %rsi      # 0x188d6
leaq 0x7c66(%rip), %rdx      # 0x188c8
movl $0x1e9, %ecx            # imm = 0x1E9
jmp 0x10c8a
testb %cl, %cl
je 0x10cc6
movq 0xf364(%rip), %rax      # 0x1ffd8
movq (%rax), %rdi
leaq 0x7ca4(%rip), %rsi      # 0x18922
leaq 0x7c43(%rip), %rdx      # 0x188c8
movl $0x1f3, %ecx            # imm = 0x1F3
xorl %eax, %eax
callq 0x5180
jmp 0x10cc6
leaq 0x1d(%rsp), %rdi
leaq 0x7d10(%rip), %rbx      # 0x189af
pushq $0x3
popq %rdx
movq %rbx, %rsi
callq 0x50f0
leaq 0xf5e0(%rip), %rcx      # 0x20291
movb (%rcx), %cl
testl %eax, %eax
je 0x10d2d
testb %cl, %cl
leaq 0xf5d1(%rip), %r12      # 0x20291
jne 0x10f88
cmpb $0x1, (%r12)
je 0x10d07
cmpb $0x1, (%r12)
je 0x10ce1
pushq $0x64
popq %rdi
callq 0x1158b
jmp 0x1068b
movq 0xf2f0(%rip), %rax      # 0x1ffd8
movq (%rax), %rdi
leaq 0x770a(%rip), %rsi      # 0x183fc
leaq 0x76c4(%rip), %rdx      # 0x183bd
movl $0x34e, %ecx            # imm = 0x34E
xorl %eax, %eax
callq 0x5180
jmp 0x10cd4
movq 0xf2ca(%rip), %rax      # 0x1ffd8
movq (%rax), %rdi
leaq 0x7b62(%rip), %rsi      # 0x1887a
leaq 0x7a84(%rip), %rdx      # 0x187a3
movl $0x237, %ecx            # imm = 0x237
xorl %eax, %eax
callq 0x5180
jmp 0x10ccd
testb %cl, %cl
je 0x10d55
movq 0xf280(%rip), %rax      # 0x1ffb8
movq (%rax), %rdi
leaq 0x7c9f(%rip), %rsi      # 0x189e1
leaq 0x7b7f(%rip), %rdx      # 0x188c8
movl $0x204, %ecx            # imm = 0x204
xorl %eax, %eax
callq 0x5180
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
leaq 0x60(%rsp), %rbx
movl $0x1000, %edx           # imm = 0x1000
movq %rbx, %rdi
xorl %esi, %esi
callq 0x5080
movzbl 0x5054d(%rip), %eax     # 0x612c5
movl %eax, 0xc(%rsp)
movq 0x509bd(%rip), %rsi     # 0x61740
testq %rsi, %rsi
je 0x10e40
movslq (%rsi), %rdx
testq %rdx, %rdx
je 0x10e40
addq $0x4, %rsi
movq %rbx, %rdi
callq 0x5090
leaq 0x10(%rsp), %rdi
movq %rbx, 0x10(%rdi)
movabsq $0x4000000001000, %rax  # imm = 0x4000000001000
movq %rax, 0x4(%rdi)
movb $0x4, (%rdi)
callq 0x115b7
movl %eax, %r15d
leaq 0xf4c4(%rip), %rax      # 0x20291
movb (%rax), %al
testl %r15d, %r15d
je 0x10e18
testb %al, %al
jne 0x11000
leaq 0xf4ae(%rip), %rax      # 0x20291
movb (%rax), %al
testl %r15d, %r15d
js 0x10f5e
testb $0x1, %al
je 0x10cd4
movq 0xf1bb(%rip), %rax      # 0x1ffb8
movq (%rax), %rdi
leaq 0x7642(%rip), %rsi      # 0x18449
leaq 0x75af(%rip), %rdx      # 0x183bd
movl $0x358, %ecx            # imm = 0x358
jmp 0x10cfe
testb %al, %al
je 0x10e40
movq 0xf195(%rip), %rax      # 0x1ffb8
movq (%rax), %rdi
leaq 0x7c26(%rip), %rsi      # 0x18a53
leaq 0x7c0b(%rip), %rdx      # 0x18a3f
movl $0x2ff, %ecx            # imm = 0x2FF
xorl %eax, %eax
callq 0x5180
pushq $0x3
popq %rbx
leaq 0x7bf5(%rip), %r13      # 0x18a3f
xorl %r15d, %r15d
movl %ebx, %ebp
testl %ebp, %ebp
setne %al
cmpl 0xc(%rsp), %r14d
setl %r12b
andb %al, %r12b
movslq %r14d, %rax
imulq $0x18, %rax, %rax
leaq 0x5043a(%rip), %rcx     # 0x612a8
leaq (%rax,%rcx), %rbx
addq $0x22, %rbx
testb %r12b, %r12b
je 0x10ddc
leaq 0xf40b(%rip), %rax      # 0x20291
cmpb $0x1, (%rax)
jne 0x10eae
movq 0xf126(%rip), %rax      # 0x1ffb8
movq (%rax), %rdi
leaq 0x7be7(%rip), %rsi      # 0x18a83
movq %r13, %rdx
movl $0x303, %ecx            # imm = 0x303
movl %r14d, %r8d
xorl %eax, %eax
callq 0x5180
movq %rbx, %rdi
callq 0x115b7
movl %eax, %r15d
cmpl $-0xb, %eax
je 0x10f01
testl %r15d, %r15d
je 0x10eca
jns 0x10e76
jmp 0x10f51
leaq 0xf3c0(%rip), %rax      # 0x20291
cmpb $0x1, (%rax)
jne 0x10ef9
movq 0xf0db(%rip), %rax      # 0x1ffb8
movq (%rax), %rdi
leaq 0x7bd3(%rip), %rsi      # 0x18aba
movq %r13, %rdx
movl $0x307, %ecx            # imm = 0x307
movl %r14d, %r8d
xorl %eax, %eax
callq 0x5180
incl %r14d
jmp 0x10e4f
leal -0x1(%rbp), %ebx
leaq 0xf386(%rip), %rax      # 0x20291
cmpb $0x1, (%rax)
jne 0x10e4d
movq 0xf0bd(%rip), %rax      # 0x1ffd8
movq (%rax), %rdi
pushq $0x4
popq %rax
movl %eax, %r10d
subl %ebp, %r10d
subq $0x8, %rsp
leaq 0x7bbe(%rip), %rsi      # 0x18af0
movq %r13, %rdx
movl $0x30d, %ecx            # imm = 0x30D
movl %r14d, %r8d
pushq $-0xb
popq %r9
xorl %eax, %eax
pushq %r10
callq 0x5180
popq %rcx
popq %rdx
jmp 0x10e4d
leaq 0xf339(%rip), %rax      # 0x20291
movb (%rax), %al
cmpb $0x1, %al
je 0x10fc8
testb $0x1, %al
je 0x10cd4
movq 0xf06b(%rip), %rax      # 0x1ffd8
movq (%rax), %rdi
leaq 0x74aa(%rip), %rsi      # 0x18421
leaq 0x743f(%rip), %rdx      # 0x183bd
movl $0x354, %ecx            # imm = 0x354
jmp 0x10cfe
movq 0xf049(%rip), %rax      # 0x1ffd8
movq (%rax), %rdi
movzbl 0x1d(%rsp), %r8d
movzbl 0x1e(%rsp), %r9d
movzbl 0x1f(%rsp), %r10d
leaq 0x7a08(%rip), %rsi      # 0x189b3
leaq 0x7916(%rip), %rdx      # 0x188c8
movl $0x201, %ecx            # imm = 0x201
xorl %eax, %eax
pushq %rbx
pushq %r10
callq 0x5180
popq %rcx
popq %rdx
jmp 0x10cc6
movq 0xf009(%rip), %rax      # 0x1ffd8
movq (%rax), %rdi
leaq 0x7b61(%rip), %rsi      # 0x18b3a
leaq 0x7a5f(%rip), %rdx      # 0x18a3f
movl $0x310, %ecx            # imm = 0x310
movl %r14d, %r8d
movl %r15d, %r9d
xorl %eax, %eax
callq 0x5180
leaq 0xf298(%rip), %rax      # 0x20291
movb (%rax), %al
jmp 0x10f5e
movq 0xefd1(%rip), %rax      # 0x1ffd8
movq (%rax), %rdi
leaq 0x79fb(%rip), %rsi      # 0x18a0c
leaq 0x7a27(%rip), %rdx      # 0x18a3f
movl $0x2fc, %ecx            # imm = 0x2FC
movl %r15d, %r8d
xorl %eax, %eax
callq 0x5180
jmp 0x10ddc