// File: /workspace/github_cpp_makefile_star2_O1/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 0x11606
movl %edx, %ebp
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x7cc8(%rip), %rsi      # 0x19220
callq 0x5050
testq %rax, %rax
je 0x11625
movzbl %bpl, %r8d
movw %r8w, 0xfd16(%rip)      # 0x21288
leaq 0xfd18(%rip), %r13      # 0x21291
cmpb $0x1, (%r13)
jne 0x115a4
movq 0xfa31(%rip), %rax      # 0x20fb8
movq (%rax), %rdi
leaq 0x7cc0(%rip), %rsi      # 0x19251
leaq 0x7c76(%rip), %rdx      # 0x1920e
movl $0x36f, %ecx            # imm = 0x36F
xorl %eax, %eax
callq 0x5180
movq %r14, %rdi
movl $0x2, %esi
xorl %eax, %eax
callq 0x51e0
movl %eax, 0xfcdf(%rip)      # 0x21298
testl %eax, %eax
js 0x11659
leaq 0x60(%rsp), %r14
movb $-0x34, (%r14)
movl $0x5, %r15d
movl $0x3030aabb, %edi       # imm = 0x3030AABB
movq %r14, %rsi
movl $0x1, %edx
callq 0x1234f
movl %eax, %ebp
testl %eax, %eax
je 0x11695
decl %r15d
jne 0x115d0
cmpb $0x1, (%r13)
jne 0x116ca
callq 0x61d2
jmp 0x116ca
leaq 0xfc84(%rip), %rax      # 0x21291
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
cmpb $0x1, (%rax)
jne 0x11a4c
callq 0x61ae
jmp 0x11a4c
leaq 0xfc65(%rip), %rax      # 0x21291
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
cmpb $0x1, (%rax)
jne 0x11a4c
movq 0xf997(%rip), %rax      # 0x20fd8
movq (%rax), %rdi
leaq 0x7bdd(%rip), %rsi      # 0x19228
leaq 0x7bbc(%rip), %rdx      # 0x1920e
movl $0x36a, %ecx            # imm = 0x36A
jmp 0x11686
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
cmpb $0x1, (%r13)
jne 0x11a4c
movq 0xf968(%rip), %rax      # 0x20fd8
movq (%rax), %rdi
leaq 0x7bf9(%rip), %rsi      # 0x19273
leaq 0x7b8d(%rip), %rdx      # 0x1920e
movl $0x372, %ecx            # imm = 0x372
movq %r14, %r8
xorl %eax, %eax
callq 0x5180
jmp 0x11a4c
cmpb $0x1, (%r13)
jne 0x116c0
movq 0xf915(%rip), %rax      # 0x20fb8
movq (%rax), %rdi
leaq 0x7c0e(%rip), %rsi      # 0x192bb
leaq 0x7c31(%rip), %rdx      # 0x192e5
movl $0x12b, %ecx            # imm = 0x12B
xorl %eax, %eax
callq 0x5180
movl $0xc350, %edi           # imm = 0xC350
callq 0x5170
testl %ebp, %ebp
jne 0x11a35
movq %rbx, %rdi
xorl %esi, %esi
xorl %eax, %eax
callq 0x51e0
movl %eax, %ebp
testl %eax, %eax
js 0x118e0
movl %ebp, %edi
xorl %esi, %esi
movl $0x2, %edx
callq 0x50b0
movq %rax, %r15
movl %ebp, %edi
xorl %esi, %esi
xorl %edx, %edx
callq 0x50b0
movslq %r15d, %r12
movq %r12, %rdi
callq 0x5030
movq %rax, %r14
movq %rax, %rdi
xorl %esi, %esi
movq %r12, %rdx
callq 0x5080
movl %ebp, %edi
movq %r14, %rsi
movq %r12, %rdx
callq 0x5190
cmpl %r12d, %eax
jne 0x11913
movzbl 0x3(%r14), %eax
shll $0x18, %eax
movzbl 0x2(%r14), %ecx
shll $0x10, %ecx
cltq
orq %rcx, %rax
movzbl 0x1(%r14), %ecx
shll $0x8, %ecx
orq %rax, %rcx
movzbl (%r14), %eax
leaq (%rax,%rcx), %rbx
addq $0x8, %rbx
movl %ebx, 0xfb35(%rip)      # 0x2129c
leaq 0xfb2e(%rip), %r12      # 0x2129c
leaq 0xfb2b(%rip), %rdi      # 0x212a0
movq %r14, %rsi
movq %rbx, %rdx
callq 0x5090
movq %r12, 0x50fb1(%rip)     # 0x62738
movl %r15d, %r12d
subl %ebx, %r12d
jle 0x1184d
cmpb $0x1, (%r13)
jne 0x117c4
movq 0xf817(%rip), %rax      # 0x20fb8
movq (%rax), %rdi
leaq 0x77a9(%rip), %rsi      # 0x18f54
leaq 0x7bdf(%rip), %rdx      # 0x19391
movl $0x158, %ecx            # imm = 0x158
movl %ebx, %r8d
movl %r15d, %r9d
xorl %eax, %eax
callq 0x5180
cmpb $0x1, (%r13)
jne 0x117ef
movq 0xf7e6(%rip), %rax      # 0x20fb8
movq (%rax), %rdi
leaq 0x4964(%rip), %rsi      # 0x16140
leaq 0x7bae(%rip), %rdx      # 0x19391
movl $0x159, %ecx            # imm = 0x159
xorl %eax, %eax
callq 0x5180
addl $-0x40, %r12d
cmpb $0x1, (%r13)
jne 0x11821
movq 0xf7b7(%rip), %rax      # 0x20fb8
movq (%rax), %rdi
leaq 0x7781(%rip), %rsi      # 0x18f8c
leaq 0x7b7f(%rip), %rdx      # 0x19391
movl $0x15b, %ecx            # imm = 0x15B
movl %r12d, %r8d
xorl %eax, %eax
callq 0x5180
movl %r12d, 0x4fa78(%rip)    # 0x612a0
leaq 0x4fa71(%rip), %r15     # 0x612a0
leaq (%r14,%rbx), %rsi
addq $0x40, %rsi
movslq %r12d, %rdx
leaq 0x4fa63(%rip), %rdi     # 0x612a4
callq 0x5090
movq %r15, 0x50ef3(%rip)     # 0x62740
cmpb $0x1, (%r13)
jne 0x11878
movq 0xf75d(%rip), %rax      # 0x20fb8
movq (%rax), %rdi
leaq 0x7b3f(%rip), %rsi      # 0x193a4
leaq 0x7b25(%rip), %rdx      # 0x19391
movl $0x161, %ecx            # imm = 0x161
xorl %eax, %eax
callq 0x5180
movl %ebp, %edi
callq 0x5210
leaq 0x44(%rsp), %rdi
callq 0x124c5
testl %eax, %eax
jns 0x11898
cmpb $0x1, (%r13)
je 0x11e4f
movq 0x50e99(%rip), %rbx     # 0x62738
movl (%rbx), %r8d
cmpl $0x29, %r8d
jg 0x11964
cmpb $0x1, (%r13)
jne 0x11a2a
movq 0xf71a(%rip), %rax      # 0x20fd8
movq (%rax), %rdi
leaq 0x7d2b(%rip), %rsi      # 0x195f3
leaq 0x7d4f(%rip), %rdx      # 0x1961e
movl $0x177, %ecx            # imm = 0x177
xorl %eax, %eax
callq 0x5180
jmp 0x11a2a
cmpb $0x1, (%r13)
jne 0x1192d
movq 0xf6ea(%rip), %rax      # 0x20fd8
movq (%rax), %rdi
leaq 0x47c5(%rip), %rsi      # 0x160bd
leaq 0x7a92(%rip), %rdx      # 0x19391
movl $0x140, %ecx            # imm = 0x140
movq %rbx, %r8
movl %ebp, %r9d
xorl %eax, %eax
callq 0x5180
jmp 0x1192d
cmpb $0x1, (%r13)
je 0x11e16
movq %r14, %rdi
callq 0x5130
movl %ebp, %edi
callq 0x5210
cmpb $0x1, (%r13)
jne 0x11a35
movq 0xf699(%rip), %rax      # 0x20fd8
movq (%rax), %rdi
leaq 0x794e(%rip), %rsi      # 0x19297
leaq 0x78be(%rip), %rdx      # 0x1920e
movl $0x37c, %ecx            # imm = 0x37C
movq %rbx, %r8
xorl %eax, %eax
callq 0x5180
jmp 0x11a35
leaq 0x4(%rbx), %r14
leaq 0x50939(%rip), %rdi     # 0x622a8
movl $0x48a, %edx            # imm = 0x48A
movq %r14, %rsi
callq 0x5090
movl (%rbx), %r8d
movl 0x50922(%rip), %r9d     # 0x622a8
addl $0x8, %r9d
cmpl %r9d, %r8d
jne 0x119f2
xorl %eax, %eax
cmpl $0x9, %r8d
jl 0x119ae
xorl %eax, %eax
movl $0x8, %ecx
movzwl 0x4(%rbx,%rcx), %edx
addl %edx, %eax
addq $0x2, %rcx
cmpq %r8, %rcx
jb 0x1199e
cmpl 0x508f8(%rip), %eax     # 0x622ac
jne 0x11a1f
movzbl 0x50908(%rip), %eax     # 0x622c5
cmpl $0x2f, %eax
jbe 0x11a60
cmpb $0x1, (%r13)
jne 0x11a2a
movq 0xf604(%rip), %rcx      # 0x20fd8
movq (%rcx), %rdi
leaq 0x7c82(%rip), %rsi      # 0x19660
leaq 0x7c39(%rip), %rdx      # 0x1961e
movl $0x191, %ecx            # imm = 0x191
movl %eax, %r8d
jmp 0x118d4
cmpb $0x1, (%r13)
jne 0x11a2a
movq 0xf5d8(%rip), %rax      # 0x20fd8
movq (%rax), %rdi
leaq 0x75a3(%rip), %rsi      # 0x18fad
leaq 0x7c0d(%rip), %rdx      # 0x1961e
movl $0x180, %ecx            # imm = 0x180
xorl %eax, %eax
callq 0x5180
jmp 0x11a2a
cmpb $0x1, (%r13)
je 0x1205b
cmpb $0x1, (%r13)
je 0x11e45
movl 0xf85d(%rip), %edi      # 0x21298
callq 0x5210
movl $0x0, 0xf84e(%rip)      # 0x21298
xorl %ebx, %ebx
movl %ebx, %eax
addq $0x1068, %rsp           # imm = 0x1068
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
testl %eax, %eax
je 0x11ab2
addl %eax, %eax
leaq (%rax,%rax,4), %rax
movl $0x200, %ecx            # imm = 0x200
leaq 0x50864(%rip), %rdx     # 0x622da
xorl %esi, %esi
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 0x11e59
movslq %ecx, %r9
addq %r14, %r9
movq %r9, (%rdx)
addl %edi, %ecx
addq $0xa, %rsi
addq $0x18, %rdx
cmpq %rsi, %rax
jne 0x11a78
cmpb $0x1, (%r13)
jne 0x11ae5
movq 0xf4f8(%rip), %rax      # 0x20fb8
movq (%rax), %rdi
movzbl 0x507fc(%rip), %r8d     # 0x622c7
leaq 0x7bc5(%rip), %rsi      # 0x19697
leaq 0x7b45(%rip), %rdx      # 0x1961e
movl $0x1a9, %ecx            # imm = 0x1A9
xorl %eax, %eax
callq 0x5180
cmpb $0x1, (%r13)
jne 0x11b17
movq 0xf4c5(%rip), %rax      # 0x20fb8
movq (%rax), %rdi
leaq 0x7bcb(%rip), %rsi      # 0x196c8
leaq 0x7b1a(%rip), %rdx      # 0x1961e
leaq 0x507ae(%rip), %r8      # 0x622b9
movl $0x1aa, %ecx            # imm = 0x1AA
xorl %eax, %eax
callq 0x5180
cmpb $0x1, (%r13)
jne 0x11b4f
movq 0xf493(%rip), %rax      # 0x20fb8
movq (%rax), %rdi
leaq 0x7bbd(%rip), %rsi      # 0x196ec
leaq 0x7ae8(%rip), %rdx      # 0x1961e
leaq 0x50784(%rip), %r9      # 0x622c1
movl $0x1ab, %ecx            # imm = 0x1AB
movl $0x4, %r8d
xorl %eax, %eax
callq 0x5180
cmpb $0x1, (%r13)
jne 0x11b82
movq 0xf45b(%rip), %rax      # 0x20fb8
movq (%rax), %rdi
movzbl 0x5075e(%rip), %r8d     # 0x622c6
leaq 0x7ba1(%rip), %rsi      # 0x19710
leaq 0x7aa8(%rip), %rdx      # 0x1961e
movl $0x1ac, %ecx            # imm = 0x1AC
xorl %eax, %eax
callq 0x5180
cmpb $0x1, (%r13)
jne 0x11bc6
movq 0xf428(%rip), %rax      # 0x20fb8
movq (%rax), %rdi
testb $0x1, 0x5072e(%rip)     # 0x622c8
leaq 0x7bc6(%rip), %rax      # 0x19767
leaq 0x7bbb(%rip), %r8       # 0x19763
cmoveq %rax, %r8
leaq 0x7b89(%rip), %rsi      # 0x1973c
leaq 0x7a64(%rip), %rdx      # 0x1961e
movl $0x1ae, %ecx            # imm = 0x1AE
xorl %eax, %eax
callq 0x5180
cmpb $0x1, (%r13)
jne 0x11bf8
movq 0xf3e4(%rip), %rax      # 0x20fb8
movq (%rax), %rdi
movl 0x506ca(%rip), %r8d     # 0x622a8
leaq 0x7b86(%rip), %rsi      # 0x1976b
leaq 0x7a32(%rip), %rdx      # 0x1961e
movl $0x1af, %ecx            # imm = 0x1AF
xorl %eax, %eax
callq 0x5180
cmpb $0x1, (%r13)
jne 0x11c2b
movq 0xf3b2(%rip), %rax      # 0x20fb8
movq (%rax), %rdi
movzbl 0x506b4(%rip), %r8d     # 0x622c5
leaq 0x7b76(%rip), %rsi      # 0x1978e
leaq 0x79ff(%rip), %rdx      # 0x1961e
movl $0x1b0, %ecx            # imm = 0x1B0
xorl %eax, %eax
callq 0x5180
movl $0x0, 0xc(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x90(%rsp)
movaps %xmm0, 0x80(%rsp)
movaps %xmm0, 0x70(%rsp)
movaps %xmm0, 0x60(%rsp)
cmpb $0x1, (%r13)
jne 0x11c7b
movq 0xf35a(%rip), %rax      # 0x20fb8
movq (%rax), %rdi
leaq 0x7b52(%rip), %rsi      # 0x197ba
leaq 0x7b74(%rip), %rdx      # 0x197e3
movl $0x210, %ecx            # imm = 0x210
xorl %eax, %eax
callq 0x5180
leaq 0x10(%rsp), %rsi
movb $0x0, (%rsi)
movl $0xd808, %edi           # imm = 0xD808
movl $0x1, %edx
callq 0x1234f
movl $0x1388, %edi           # imm = 0x1388
callq 0x5170
movl $0x64, %ebp
leaq 0x60(%rsp), %r12
movw $0x1, 0xc(%rsp)
movl $0x2, %edi
leaq 0xc(%rsp), %rsi
movl $0x2, %edx
callq 0x1234f
movl %eax, %ebx
movl $0x2000, %edi           # imm = 0x2000
movq %r12, %rsi
movl $0x4, %edx
callq 0x1267f
movl %eax, %r14d
orl %ebx, %r14d
movl $0x2000, %edi           # imm = 0x2000
leaq 0x64(%rsp), %rsi
movl $0x4, %edx
callq 0x1267f
movl %eax, %r15d
orl %r14d, %r15d
movl $0x2000, %edi           # imm = 0x2000
leaq 0x68(%rsp), %rsi
movl $0x4, %edx
callq 0x1267f
movl %eax, %ebx
orl %r15d, %ebx
jne 0x11d24
movl 0x64(%rsp), %eax
cmpl %eax, 0x60(%rsp)
jne 0x11d24
cmpl 0x68(%rsp), %eax
je 0x11e83
movl $0x3e8, %edi            # imm = 0x3E8
callq 0x5170
cmpb $0x1, (%r13)
jne 0x11d5c
movq 0xf27c(%rip), %rax      # 0x20fb8
movq (%rax), %rdi
leaq 0x7ab1(%rip), %rsi      # 0x197f7
leaq 0x7a96(%rip), %rdx      # 0x197e3
movl $0x222, %ecx            # imm = 0x222
movl %ebp, %r8d
xorl %eax, %eax
callq 0x5180
decl %ebp
jne 0x11ca6
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
cmpb $0x1, (%r13)
je 0x12220
leaq 0x5052d(%rip), %r12     # 0x622a8
testl %ebp, %ebp
js 0x11e6e
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
movq $0x0, 0x20(%rsp)
leaq 0x60(%rsp), %rbx
xorl %ebp, %ebp
movl $0x1000, %edx           # imm = 0x1000
movq %rbx, %rdi
xorl %esi, %esi
callq 0x5080
movzbl 0x50513(%rip), %r15d    # 0x622c5
movq 0x50987(%rip), %rsi     # 0x62740
testq %rsi, %rsi
je 0x120a6
movslq (%rsi), %rdx
testq %rdx, %rdx
je 0x120a6
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 0x127df
movl %eax, %ebx
movb (%r13), %al
testl %ebx, %ebx
je 0x1207e
testb %al, %al
jne 0x122e0
movl %ebx, %ebp
jmp 0x121c0
movq 0xf1bb(%rip), %rcx      # 0x20fd8
movq (%rcx), %rdi
leaq 0x70fe(%rip), %rsi      # 0x18f25
leaq 0x7563(%rip), %rdx      # 0x19391
movl $0x14a, %ecx            # imm = 0x14A
movq %rbx, %r8
movl %eax, %r9d
xorl %eax, %eax
callq 0x5180
jmp 0x1191e
callq 0x63b6
jmp 0x11a35
callq 0x61f6
jmp 0x11898
cmpb $0x1, (%r13)
jne 0x11a2a
callq 0x624a
jmp 0x11a2a
cmpb $0x1, (%r13)
jne 0x121fa
callq 0x638c
jmp 0x121fa
cmpb $0x1, (%r13)
jne 0x11eae
movq 0xf127(%rip), %rax      # 0x20fb8
movq (%rax), %rdi
leaq 0x79b2(%rip), %rsi      # 0x1984d
leaq 0x7941(%rip), %rdx      # 0x197e3
movl $0x228, %ecx            # imm = 0x228
xorl %eax, %eax
callq 0x5180
leaq 0xc(%rsp), %rsi
movb $0x40, (%rsi)
movl $0xd80b, %edi           # imm = 0xD80B
movl $0x1, %edx
callq 0x1234f
cmpb $0x1, (%r13)
jne 0x11ef0
movq 0xf0e5(%rip), %rax      # 0x20fb8
movq (%rax), %rdi
leaq 0x7993(%rip), %rsi      # 0x19870
leaq 0x78ff(%rip), %rdx      # 0x197e3
movl $0x22d, %ecx            # imm = 0x22D
xorl %eax, %eax
callq 0x5180
leaq 0xc(%rsp), %rsi
movb $0x0, (%rsi)
movl $0xd054, %edi           # imm = 0xD054
movl $0x1, %edx
callq 0x1234f
cmpb $0x1, (%r13)
jne 0x11f32
movq 0xf0a3(%rip), %rax      # 0x20fb8
movq (%rax), %rdi
leaq 0x7977(%rip), %rsi      # 0x19896
leaq 0x78bd(%rip), %rdx      # 0x197e3
movl $0x232, %ecx            # imm = 0x232
xorl %eax, %eax
callq 0x5180
movq $0x0, 0x38(%rsp)
cmpb $0x1, (%r13)
jne 0x11f66
movq 0xf06f(%rip), %rax      # 0x20fb8
movq (%rax), %rdi
leaq 0x7991(%rip), %rsi      # 0x198e4
leaq 0x79ae(%rip), %rdx      # 0x19908
movl $0x1e6, %ecx            # imm = 0x1E6
xorl %eax, %eax
callq 0x5180
movq 0x5036d(%rip), %rsi     # 0x622da
movl 0x5035b(%rip), %edx     # 0x622ce
movl $0x57000, %edi          # imm = 0x57000
callq 0x1234f
movb (%r13), %cl
testl %eax, %eax
js 0x12065
testb %cl, %cl
je 0x11fb1
movq 0xf024(%rip), %rax      # 0x20fb8
movq (%rax), %rdi
leaq 0x799c(%rip), %rsi      # 0x1993a
leaq 0x7963(%rip), %rdx      # 0x19908
movl $0x1ed, %ecx            # imm = 0x1ED
xorl %eax, %eax
callq 0x5180
movabsq $0x5555555555555555, %rax # imm = 0x5555555555555555
leaq 0x38(%rsp), %rsi
movq %rax, (%rsi)
movl $0x10000, %edi          # imm = 0x10000
movl $0x8, %edx
callq 0x1234f
movb (%r13), %cl
testl %eax, %eax
js 0x1219c
testb %cl, %cl
je 0x1200c
movq 0xefcf(%rip), %rax      # 0x20fb8
movq (%rax), %rdi
leaq 0x79a2(%rip), %rsi      # 0x19995
leaq 0x790e(%rip), %rdx      # 0x19908
movl $0x1f6, %ecx            # imm = 0x1F6
movl $0x10000, %r8d          # imm = 0x10000
xorl %eax, %eax
callq 0x5180
leaq 0x10(%rsp), %rsi
movb $0x0, (%rsi)
movl $0xd808, %edi           # imm = 0xD808
movl $0x1, %edx
callq 0x1234f
movl $0x186a0, %edi          # imm = 0x186A0
callq 0x5170
leaq 0x10(%rsp), %rdi
callq 0x124c5
testl %eax, %eax
je 0x1224c
movl $0xfffffffe, %ebp       # imm = 0xFFFFFFFE
movb $0x1, %bl
cmpb $0x1, (%r13)
jne 0x12276
callq 0x6274
jmp 0x12276
callq 0x6220
jmp 0x11a2a
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movb $0x1, %bl
testb %cl, %cl
je 0x12276
callq 0x630e
jmp 0x12276
testb %al, %al
je 0x120a6
movq 0xef2f(%rip), %rax      # 0x20fb8
movq (%rax), %rdi
leaq 0x7a00(%rip), %rsi      # 0x19a93
leaq 0x79e5(%rip), %rdx      # 0x19a7f
movl $0x2ff, %ecx            # imm = 0x2FF
xorl %eax, %eax
callq 0x5180
cmpb $0x2, %r15b
jb 0x121c0
movl $0x3, %ebx
movl $0x1, %r14d
cmpb $0x1, (%r13)
jne 0x120e9
movq 0xeeef(%rip), %rax      # 0x20fb8
movq (%rax), %rdi
leaq 0x79f0(%rip), %rsi      # 0x19ac3
leaq 0x79a5(%rip), %rdx      # 0x19a7f
movl $0x303, %ecx            # imm = 0x303
movl %r14d, %r8d
xorl %eax, %eax
callq 0x5180
movslq %r14d, %rax
leaq (%rax,%rax,2), %rax
leaq (%r12,%rax,8), %rdi
addq $0x22, %rdi
callq 0x127df
movl %eax, %ebp
cmpl $-0xb, %eax
je 0x1213b
testl %ebp, %ebp
jne 0x12152
cmpb $0x1, (%r13)
jne 0x12136
movq 0xeea2(%rip), %rax      # 0x20fb8
movq (%rax), %rdi
leaq 0x79da(%rip), %rsi      # 0x19afa
leaq 0x7958(%rip), %rdx      # 0x19a7f
movl $0x307, %ecx            # imm = 0x307
movl %r14d, %r8d
xorl %eax, %eax
callq 0x5180
incl %r14d
jmp 0x12154
leal -0x1(%rbx), %r12d
cmpb $0x1, (%r13)
je 0x12163
movl %r12d, %ebx
leaq 0x50158(%rip), %r12     # 0x622a8
jmp 0x12154
js 0x121b5
cmpl %r15d, %r14d
jge 0x121c0
testl %ebx, %ebx
jne 0x120bb
jmp 0x121c0
movq 0xee6e(%rip), %rax      # 0x20fd8
movq (%rax), %rdi
movl $0x4, %eax
subl %ebx, %eax
movl %eax, (%rsp)
leaq 0x79b2(%rip), %rsi      # 0x19b30
leaq 0x78fa(%rip), %rdx      # 0x19a7f
movl $0x30d, %ecx            # imm = 0x30D
movl %r14d, %r8d
movl $0xfffffff5, %r9d       # imm = 0xFFFFFFF5
xorl %eax, %eax
callq 0x5180
jmp 0x12146
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movb $0x1, %bl
testb %cl, %cl
je 0x12276
callq 0x62e4
jmp 0x12276
cmpb $0x1, (%r13)
je 0x1230c
movb (%r13), %al
testl %ebp, %ebp
js 0x121f2
testb %al, %al
je 0x121fa
movq 0xede5(%rip), %rax      # 0x20fb8
movq (%rax), %rdi
leaq 0x72ac(%rip), %rsi      # 0x19489
leaq 0x7219(%rip), %rdx      # 0x193fd
movl $0x358, %ecx            # imm = 0x358
xorl %eax, %eax
callq 0x5180
jmp 0x121fa
testb %al, %al
jne 0x122d6
leaq 0x60(%rsp), %rsi
movb $0x0, (%rsi)
movl $0xd808, %edi           # imm = 0xD808
movl $0x1, %edx
callq 0x1234f
movl $0x186a0, %edi          # imm = 0x186A0
callq 0x5170
jmp 0x11a35
movq 0xedb1(%rip), %rax      # 0x20fd8
movq (%rax), %rdi
leaq 0x75ea(%rip), %rsi      # 0x1981b
leaq 0x75ab(%rip), %rdx      # 0x197e3
movl $0x225, %ecx            # imm = 0x225
movl %ebx, %r8d
xorl %eax, %eax
callq 0x5180
jmp 0x11d74
movzwl 0x1d(%rsp), %eax
xorl $0x5349, %eax           # imm = 0x5349
movzbl 0x1f(%rsp), %ecx
xorl $0x50, %ecx
orw %ax, %cx
movb (%r13), %al
je 0x1229a
movl $0xfffffffd, %ebp       # imm = 0xFFFFFFFD
movb $0x1, %bl
testb %al, %al
jne 0x1233b
leaq 0x5002b(%rip), %r12     # 0x622a8
testb %bl, %bl
je 0x11d7b
cmpb $0x1, (%r13)
jne 0x11d7b
callq 0x6338
jmp 0x11d7b
xorl %ebx, %ebx
movl $0x0, %ebp
testb %al, %al
leaq 0x4fffe(%rip), %r12     # 0x622a8
je 0x1227d
movq 0xed05(%rip), %rax      # 0x20fb8
movq (%rax), %rdi
leaq 0x7764(%rip), %rsi      # 0x19a21
leaq 0x7644(%rip), %rdx      # 0x19908
xorl %ebx, %ebx
movl $0x204, %ecx            # imm = 0x204
xorl %eax, %eax
callq 0x5180
xorl %ebp, %ebp
jmp 0x1227d
callq 0x6362
jmp 0x121fa
movq 0xecf1(%rip), %rax      # 0x20fd8
movq (%rax), %rdi
leaq 0x775b(%rip), %rsi      # 0x19a4c
leaq 0x7787(%rip), %rdx      # 0x19a7f
movl $0x2fc, %ecx            # imm = 0x2FC
movl %ebx, %r8d
xorl %eax, %eax
callq 0x5180
jmp 0x11e0f
movq 0xecc5(%rip), %rax      # 0x20fd8
movq (%rax), %rdi
leaq 0x785d(%rip), %rsi      # 0x19b7a
leaq 0x775b(%rip), %rdx      # 0x19a7f
movl $0x310, %ecx            # imm = 0x310
movl %r14d, %r8d
movl %ebp, %r9d
xorl %eax, %eax
callq 0x5180
jmp 0x121c0
leaq 0x1d(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x629e
jmp 0x12276