// File: /workspace/github_c_makefile_star2_O3/intel[P]pf-bb-config/vrb2/vrb2_cfg_app.c
// Function: vrb2_configure
int
vrb2_configure(void *dev, void *bar0addr, const char *cfg_filename, const bool first_cfg)
{
	struct vrb2_conf vrb2_conf;
	int ret;

	ret = vrb2_read_config_file(cfg_filename, &vrb2_conf);
	if (ret != 0) {
		LOG(ERR, "Error reading config file.");
		return -1;
	}

	ret = vrb2_write_config(dev, bar0addr, &vrb2_conf, first_cfg);
	if (ret != 0) {
		LOG(ERR, "Error writing configuration for VRB2.");
		return -1;
	}
	hw_device *accel_dev = (hw_device *)dev;
	accel_dev->numvfs = vrb2_conf.num_vf_bundles;
	return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x11088, %rsp          # imm = 0x11088
movl %ecx, %ebx
movq %rdx, %r15
movq %rsi, %r13
movq %rdi, %r14
movq %rdx, %rdi
callq 0x13a38
testb %al, %al
je 0x14f7b
callq 0x16674
leaq 0x1ef72(%rip), %rcx     # 0x33ed0
movq (%rcx), %r8
leaq 0x68af(%rip), %rdx      # 0x1b817
xorl %edi, %edi
xorl %esi, %esi
movq %rax, %rcx
movq %r15, %r9
xorl %eax, %eax
callq 0x199b4
jmp 0x14f8c
leaq 0x54(%rsp), %rsi
movq %r15, %rdi
callq 0x1689a
testl %eax, %eax
je 0x14fc9
callq 0x16674
leaq 0x1ef38(%rip), %rcx     # 0x33ed0
movq (%rcx), %r8
leaq 0x8098(%rip), %rdx      # 0x1d03a
xorl %edi, %edi
xorl %esi, %esi
movq %rax, %rcx
xorl %eax, %eax
callq 0x199b4
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movl %ebp, %eax
addq $0x11088, %rsp          # imm = 0x11088
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl 0xc8412c(%r13), %eax
cmpl $0x1f, %eax
jne 0x1505d
movl $0x3f30a00, 0xc8410c(%r13) # imm = 0x3F30A00
movl $0x1, %edi
callq 0xd450
movl $0xf, 0xc84128(%r13)
movl $0x1, %edi
callq 0xd450
movl $0x64, %edi
callq 0xd450
movl 0xc8412c(%r13), %r15d
cmpl $0xf, %r15d
jne 0x1507e
movl $0x0, 0xc84128(%r13)
movl $0x1, %edi
callq 0xd450
movl $0x64, %edi
callq 0xd450
movl 0xc8412c(%r13), %r15d
testl %r15d, %r15d
je 0x150a0
callq 0x16674
leaq 0x1ee7f(%rip), %rcx     # 0x33ed0
movq (%rcx), %r8
movl $0x0, (%rsp)
jmp 0x15094
movl 0xa0f244(%r13), %r15d
cmpl $0xf, %r15d
jne 0x15192
movl %ebx, 0x3c(%rsp)
movb $0x1, 0x258b8(%rip)     # 0x3a931
jmp 0x151cf
callq 0x16674
leaq 0x1ee46(%rip), %rcx     # 0x33ed0
movq (%rcx), %r8
movl $0xf, (%rsp)
leaq 0x77f6(%rip), %rdx      # 0x1c891
jmp 0x15f82
leaq 0xb9040c(%r13), %rax
leaq 0xb900c0(%r13), %rcx
xorl %edx, %edx
movl $0x10000, %esi          # imm = 0x10000
xorl %edi, %edi
xorl %r8d, %r8d
movl %edx, -0xc(%rax,%r8)
movl %edx, -0x8(%rax,%r8)
movl %edx, -0x4(%rax,%r8)
movl %edx, (%rax,%r8)
addq $0x10, %r8
cmpq $0x400, %r8             # imm = 0x400
jne 0x150ba
xorl %r8d, %r8d
movl $0x0, (%rcx,%r8,4)
incq %r8
cmpq $0x8, %r8
jne 0x150dd
incq %rdi
addq %rsi, %rax
addq %rsi, %rcx
cmpq $0x6, %rdi
jne 0x150b7
leaq 0xa08000(%r13), %rax
xorl %ecx, %ecx
xorl %edx, %edx
movl $0x0, (%rax,%rdx,4)
incq %rdx
cmpq $0x40, %rdx
jne 0x15108
incq %rcx
addq $0x100, %rax            # imm = 0x100
cmpq $0x20, %rcx
jne 0x15106
movl 0xa0f244(%r13), %r15d
cmpl $0xf, %r15d
jne 0x15192
movb $0x1, 0x257f6(%rip)     # 0x3a931
movl $0x31, 0x810000(%r13)
movl $0xc8, %edi
callq 0xd450
testl $0x4, 0x810000(%r13)
je 0x15181
callq 0x16674
leaq 0x1ed67(%rip), %rcx     # 0x33ed0
movq (%rcx), %r8
leaq 0x8677(%rip), %rdx      # 0x1d7ea
xorl %edi, %edi
xorl %esi, %esi
movq %rax, %rcx
xorl %eax, %eax
callq 0x199b4
movl %ebx, 0x3c(%rsp)
movl $0x30, 0x810000(%r13)
jmp 0x151cf
movl %ebx, 0x3c(%rsp)
callq 0x16674
leaq 0x1ed2e(%rip), %rcx     # 0x33ed0
movq 0x8(%rcx), %r8
movl $0xf, (%rsp)
leaq 0x85ea(%rip), %rdx      # 0x1d79e
movl $0x1, %edi
xorl %esi, %esi
movq %rax, %rcx
movl %r15d, %r9d
xorl %eax, %eax
callq 0x199b4
movb $0x0, 0x25762(%rip)     # 0x3a931
movl 0xc8412c(%r13), %eax
xorl %eax, %eax
cmpw $0x0, 0x72(%rsp)
sete %al
xorl %ecx, %ecx
cmpw $0x0, 0x78(%rsp)
sete %cl
leal (%rax,%rcx,2), %eax
xorl %ecx, %ecx
cmpw $0x0, 0x5a(%rsp)
sete %cl
leal (%rax,%rcx,4), %eax
xorl %ecx, %ecx
cmpw $0x0, 0x66(%rsp)
sete %cl
leal (%rax,%rcx,8), %ebx
movl 0xc8412c(%r13), %r15d
cmpl %ebx, %r15d
je 0x15271
callq 0x16674
leaq 0x1ecad(%rip), %r12     # 0x33ed0
movq 0x10(%r12), %r8
movl %ebx, (%rsp)
leaq 0x85e0(%rip), %rdx      # 0x1d812
movl $0x2, %edi
xorl %esi, %esi
movq %rax, %rcx
movl %r15d, %r9d
xorl %eax, %eax
callq 0x199b4
movl %ebx, 0xc84128(%r13)
movl $0x1, %edi
callq 0xd450
movl $0x64, %edi
callq 0xd450
movl 0xc8412c(%r13), %r15d
cmpl %ebx, %r15d
jne 0x15f6f
movzbl 0x256b9(%rip), %eax     # 0x3a931
orl $0x30a00, %eax          # imm = 0x30A00
movl %eax, 0xc8410c(%r13)
movl $0x1, %edi
callq 0xd450
movl $0x1, 0xb8002c(%r13)
movl $0x1, %edi
callq 0xd450
movl $0x8000103, 0xb30000(%r13) # imm = 0x8000103
movl $0x1, %edi
callq 0xd450
xorl %ebx, %ebx
movl %ebx, 0xb80868(%r13)
movl $0x1, %edi
callq 0xd450
movl $0x7df, 0xb80870(%r13) # imm = 0x7DF
movl $0x1, %edi
callq 0xd450
movl $0x22, 0xb80010(%r13)
movl $0x1, %edi
callq 0xd450
movl %ebx, 0xb80814(%r13)
movl $0x1, %edi
callq 0xd450
movl $0x3, 0xb80c00(%r13,%rbx)
movl $0x1, %edi
callq 0xd450
movl $0x186a0, 0xb80c04(%r13,%rbx) # imm = 0x186A0
movl $0x1, %edi
callq 0xd450
addq $0x10, %rbx
cmpq $0x200, %rbx            # imm = 0x200
jne 0x15306
xorl %ebx, %ebx
movl %ebx, 0xb80000(%r13)
movl $0x1, %edi
callq 0xd450
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movl %ebp, 0xb80044(%r13)
movl $0x1, %edi
callq 0xd450
movl %ebx, 0xb80040(%r13)
movl $0x1, %edi
callq 0xd450
movl $0x80000003, 0xb80004(%r13) # imm = 0x80000003
movl $0x1, %edi
callq 0xd450
movl $0x7fc00, 0xb80008(%r13) # imm = 0x7FC00
movl $0x1, %edi
callq 0xd450
movl %ebp, 0xb80800(%r13)
movl $0x1, %edi
callq 0xd450
movl $0x200000, 0xb80f00(%r13,%rbx,4) # imm = 0x200000
movl $0x1, %edi
callq 0xd450
incq %rbx
cmpq $0x6, %rbx
jne 0x153b4
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
movl %ebx, 0xb808b0(%r13)
movl $0x1, %edi
callq 0xd450
movl %ebx, 0xb80890(%r13)
movl $0x1, %edi
callq 0xd450
movl %ebx, 0xb808a0(%r13)
movl $0x1, %edi
callq 0xd450
movl %ebx, 0xb808a4(%r13)
movl $0x1, %edi
callq 0xd450
movl %ebx, 0xb808a8(%r13)
movl $0x1, %edi
callq 0xd450
movl %ebx, 0xb808ac(%r13)
movl $0x1, %edi
callq 0xd450
movl %ebx, 0xb808b0(%r13)
movl $0x1, %edi
callq 0xd450
movl $0x800, %ebp            # imm = 0x800
movl %ebp, 0xa00040(%r13)
movl $0x1, %edi
callq 0xd450
movl %ebx, 0xa00044(%r13)
movl $0x1, %edi
callq 0xd450
movl %ebp, 0xa00048(%r13)
movl $0x1, %edi
callq 0xd450
movl %ebx, 0xa0004c(%r13)
movl $0x1, %edi
callq 0xd450
movl $0x10000000, 0xa00050(%r13) # imm = 0x10000000
movl $0x1, %edi
callq 0xd450
movl %ebx, 0xa00054(%r13)
movl $0x1, %edi
callq 0xd450
movl $0x100000, 0xb80e04(%r13) # imm = 0x100000
movl $0x1, %edi
callq 0xd450
cmpb $0x1, 0x25457(%rip)     # 0x3a931
jne 0x154f1
movl $0x1, 0xb80e00(%r13)
movl $0x1, %edi
callq 0xd450
xorl %eax, %eax
leaq 0x7626(%rip), %rcx      # 0x1cb20
movl (%rax,%rcx), %edx
cmpl $0x1, %edx
je 0x1550e
cmpl $0x9, %edx
je 0x1551b
movl $0x2, %edx
jmp 0x15513
movl $0x3, %edx
movl %edx, 0xb31800(%r13,%rax,4)
addq $0x4, %rax
cmpq $0x80, %rax
jne 0x154fa
xorl %eax, %eax
movl $0x2ad0, %edx           # imm = 0x2AD0
xorl %esi, %esi
xorl %ecx, %ecx
xorl %edi, %edi
movl $0x1, %r8d
shll %cl, %r8d
leal (%rsi,%rcx), %r9d
btq %r9, %rdx
cmovael %eax, %r8d
orl %r8d, %edi
addq $0x4, %rcx
cmpq $0x20, %rcx
jne 0x15534
movq %rsi, %rcx
shlq $0x4, %rcx
movl %edi, 0xb31004(%r13,%rcx)
incq %rsi
cmpq $0x4, %rsi
jne 0x15530
movl $0x1111, 0xb31044(%r13) # imm = 0x1111
movl $0x20200208, 0xb800c8(%r13) # imm = 0x20200208
movl $0x1008, 0xb800cc(%r13) # imm = 0x1008
movl $0x14, %eax
movl %eax, 0xb800b0(%r13)
movl %eax, 0xb800b4(%r13)
movl $0x4, 0xb800b8(%r13)
xorl %eax, %eax
movl $0x200f2, 0xb4c104(%r13,%rax) # imm = 0x200F2
addq $0x1000, %rax           # imm = 0x1000
cmpq $0x5000, %rax           # imm = 0x5000
jne 0x155af
movzwl 0x5a(%rsp), %eax
movzwl 0x66(%rsp), %ecx
addl %eax, %ecx
movzwl 0x60(%rsp), %eax
movzwl 0x6c(%rsp), %ebx
addl %eax, %ebx
addl %ecx, %ebx
movzwl 0x72(%rsp), %r15d
leal (%rbx,%r15), %r12d
movzwl 0x78(%rsp), %ebp
callq 0x16674
leaq 0x1e8d2(%rip), %rcx     # 0x33ed0
movq 0x10(%rcx), %r8
movzwl 0x5a(%rsp), %r9d
movzwl 0x60(%rsp), %ecx
movzwl 0x66(%rsp), %edx
movzwl 0x6c(%rsp), %esi
movzwl 0x72(%rsp), %edi
movzwl 0x78(%rsp), %r10d
movl %r10d, 0x20(%rsp)
movl %edi, 0x18(%rsp)
movl %esi, 0x10(%rsp)
movl %edx, 0x8(%rsp)
movl %ecx, (%rsp)
leaq 0x8234(%rip), %rdx      # 0x1d871
movl $0x2, %edi
xorl %esi, %esi
movq %rax, %rcx
xorl %eax, %eax
callq 0x199b4
addl %ebp, %r12d
movl %r12d, 0x50(%rsp)
je 0x1568c
addl %ebp, %r15d
addl %r15d, %ebx
xorl %eax, %eax
movl $0x5, 0xa00200(%r13,%rax,4)
movl $0x10010, 0xa00300(%r13,%rax,4) # imm = 0x10010
movl $0x2, 0xa02f00(%r13,%rax,4)
incq %rax
cmpq %rax, %rbx
jne 0x15660
xorl %ebx, %ebx
movl $0x3020100, 0xa00600(%r13,%rbx,4) # imm = 0x3020100
movl $0x1, %edi
callq 0xd450
movl $0x7060504, 0xa00700(%r13,%rbx,4) # imm = 0x7060504
movl $0x1, %edi
callq 0xd450
movl $0xb0a0908, 0xa00800(%r13,%rbx,4) # imm = 0xB0A0908
movl $0x1, %edi
callq 0xd450
movl $0xf0e0d0c, 0xa00900(%r13,%rbx,4) # imm = 0xF0E0D0C
movl $0x1, %edi
callq 0xd450
movl $0x13121110, 0xa00a00(%r13,%rbx,4) # imm = 0x13121110
movl $0x1, %edi
callq 0xd450
movl $0x17161514, 0xa00b00(%r13,%rbx,4) # imm = 0x17161514
movl $0x1, %edi
callq 0xd450
movl $0x1b1a1918, 0xa00c00(%r13,%rbx,4) # imm = 0x1B1A1918
movl $0x1, %edi
callq 0xd450
movl $0x1f1e1d1c, 0xa00d00(%r13,%rbx,4) # imm = 0x1F1E1D1C
movl $0x1, %edi
callq 0xd450
incq %rbx
cmpq $0x20, %rbx
jne 0x1568e
movl $0xf0f, 0xa02fc0(%r13) # imm = 0xF0F
movl $0x1, %edi
callq 0xd450
movl $0x3, 0xa0f320(%r13)
movl $0x1, %edi
callq 0xd450
movq %r13, 0x30(%rsp)
leaq 0xa00e00(%r13), %r15
xorl %ebx, %ebx
movl $0x0, (%r15,%rbx,4)
movl $0x1, %edi
callq 0xd450
incq %rbx
cmpq $0x20, %rbx
jne 0x15783
movzwl 0x5a(%rsp), %r13d
testl %r13d, %r13d
movq %r14, 0x48(%rsp)
je 0x157be
xorl %ebx, %ebx
xorl %eax, %eax
btsl %eax, %ebx
incl %eax
cmpl %eax, %r13d
jne 0x157b2
jmp 0x157c0
xorl %ebx, %ebx
xorl %r14d, %r14d
movq 0x30(%rsp), %r12
movl %ebx, 0xa00e30(%r12,%r14,4)
movl $0x1, %edi
callq 0xd450
incq %r14
cmpq $0x5, %r14
jne 0x157c8
movzwl 0x66(%rsp), %eax
leal (%rax,%r13), %r12d
xorl %ebx, %ebx
movl $0x0, %ebp
testl %eax, %eax
je 0x15805
xorl %ebp, %ebp
btsl %r13d, %ebp
incl %r13d
cmpl %r12d, %r13d
jb 0x157f9
movq 0x30(%rsp), %r13
movl 0xb401fc(%r13,%rbx,4), %eax
andl $0x70, %eax
cmpl $0x10, %eax
movl $0x0, %eax
cmovel %ebp, %eax
movl %eax, (%r15)
movl $0x1, %edi
callq 0xd450
addq $0x400, %rbx            # imm = 0x400
addq $0x4, %r15
cmpq $0x1800, %rbx           # imm = 0x1800
jne 0x1580a
movzwl 0x60(%rsp), %eax
leal (%r12,%rax), %r15d
xorl %ebx, %ebx
testl %eax, %eax
je 0x1585c
btsl %r12d, %ebx
incl %r12d
cmpl %r15d, %r12d
jb 0x15850
xorl %r14d, %r14d
movl %ebx, 0xa00e54(%r13,%r14,4)
movl $0x1, %edi
callq 0xd450
incq %r14
cmpq $0x3, %r14
jne 0x1585f
movzwl 0x6c(%rsp), %eax
leal (%r15,%rax), %r12d
xorl %ebx, %ebx
testl %eax, %eax
je 0x15895
btsl %r15d, %ebx
incl %r15d
cmpl %r12d, %r15d
jb 0x15889
xorl %r14d, %r14d
movl %ebx, 0xa00e24(%r13,%r14,4)
movl $0x1, %edi
callq 0xd450
incq %r14
cmpq $0x3, %r14
jne 0x15898
movzwl 0x72(%rsp), %eax
leal (%r12,%rax), %ebp
xorl %ebx, %ebx
testl %eax, %eax
je 0x158ce
btsl %r12d, %ebx
incl %r12d
cmpl %ebp, %r12d
jb 0x158c2
xorl %r14d, %r14d
movl %ebx, 0xa00e60(%r13,%r14,4)
movl $0x1, %edi
callq 0xd450
incq %r14
cmpq $0x3, %r14
jne 0x158d1
movzwl 0x78(%rsp), %eax
testl %eax, %eax
je 0x15904
addl %ebp, %eax
xorl %ebx, %ebx
btsl %ebp, %ebx
incl %ebp
cmpl %eax, %ebp
jb 0x158f9
jmp 0x15906
xorl %ebx, %ebx
xorl %r14d, %r14d
movl %ebx, 0xa00e78(%r13,%r14,4)
movl $0x1, %edi
callq 0xd450
incq %r14
cmpq $0x2, %r14
jne 0x15909
xorl %r14d, %r14d
leaq 0x54(%rsp), %r15
leaq 0x7fad(%rip), %rbp      # 0x1d8e0
xorl %ebx, %ebx
movq %rbx, 0x40(%rsp)
movl %r14d, %r12d
xorl %r13d, %r13d
xorl %ebx, %ebx
movl %r12d, %edi
movq %r15, %rsi
callq 0x148f0
cltq
movl (%rbp,%rax,4), %eax
movl %r13d, %ecx
shll %cl, %eax
orl %eax, %ebx
addl $0x4, %r13d
incl %r12d
cmpl $0x20, %r13d
jne 0x15942
movq 0x30(%rsp), %r12
movq 0x40(%rsp), %rax
movl %ebx, 0xa02f80(%r12,%rax,4)
movq %rax, %rbx
movl $0x1, %edi
callq 0xd450
incq %rbx
addl $0x8, %r14d
cmpq $0x4, %rbx
jne 0x15935
xorl %ebx, %ebx
movl $0x0, 0xa02f00(%r12,%rbx,4)
movl $0x1, %edi
callq 0xd450
incq %rbx
cmpq $0x20, %rbx
jne 0x15995
movl $0x1, %ebp
movl %ebp, 0xa000a0(%r12)
movl $0x1, %edi
callq 0xd450
movl $0x1000, 0xa000b0(%r12) # imm = 0x1000
movl $0x1, %edi
callq 0xd450
xorl %ebx, %ebx
movl %ebx, 0xa000b4(%r12)
movl $0x1, %edi
callq 0xd450
movl %ebx, 0xa000b8(%r12)
movl $0x1, %edi
callq 0xd450
movl %ebx, 0xa000bc(%r12)
movl $0x1, %edi
callq 0xd450
movl %ebp, 0xa00034(%r12)
movl $0x1, %edi
callq 0xd450
movl %ebx, 0xa00034(%r12)
movl $0x1, %edi
callq 0xd450
movl $0x30, 0x810000(%r12)
movl $0x1, %edi
callq 0xd450
movl %ebx, 0xc84020(%r12)
movl $0x1, %edi
callq 0xd450
movl $0xffffffff, 0xc84040(%r12) # imm = 0xFFFFFFFF
movl $0x1, %edi
callq 0xd450
movl $0xc7478807, 0xc84038(%r12) # imm = 0xC7478807
movl $0x1, %edi
callq 0xd450
movl %ebx, 0xc84114(%r12)
movl $0x1, %edi
callq 0xd450
movzbl 0x54(%rsp), %eax
leal 0x1f07f0(,%rax,2), %eax
movl %eax, 0xc84108(%r12)
movl $0x1, %edi
callq 0xd450
movl %ebp, 0xb8002c(%r12)
movl $0x1, %edi
callq 0xd450
movl %ebp, 0xb90008(%r12)
movl $0x1, %edi
callq 0xd450
movl %ebp, 0xba0008(%r12)
movl $0x1, %edi
callq 0xd450
leaq 0x5e1f(%rip), %rax      # 0x1b91d
leaq 0x5e65(%rip), %r15      # 0x1b96a
cmpb $0x0, 0x54(%rsp)
cmovneq %rax, %r15
callq 0x16674
leaq 0x1e3b6(%rip), %rcx     # 0x33ed0
movq 0x10(%rcx), %r8
movl $0x2, %edi
xorl %esi, %esi
movq %r15, %rdx
movq %rax, %rcx
xorl %eax, %eax
callq 0x199b4
cmpw $0x0, 0x58(%rsp)
je 0x15b90
leaq 0xb98000(%r12), %rbx
xorl %r15d, %r15d
xorl %r14d, %r14d
movl $0x1, (%rbx,%r14)
movl $0x1, %edi
callq 0xd450
movl $0x2, (%rbx,%r14)
movl $0x1, %edi
callq 0xd450
addq $0x10000, %r14          # imm = 0x10000
cmpq $0x60000, %r14          # imm = 0x60000
jne 0x15b48
incq %r15
movzwl 0x58(%rsp), %eax
addq $0x100, %rbx            # imm = 0x100
cmpq %rax, %r15
jb 0x15b45
xorl %ebx, %ebx
movl $0x1, 0xb9c0f0(%r12,%rbx)
movl $0x1, %edi
callq 0xd450
movl $0x2, 0xb9c0f0(%r12,%rbx)
movl $0x1, %edi
callq 0xd450
addq $0x10000, %rbx          # imm = 0x10000
cmpq $0x60000, %rbx          # imm = 0x60000
jne 0x15b92
movl $0x1, %ebx
movl %ebx, 0xb9c400(%r12)
movl $0x1, %edi
callq 0xd450
movl %ebx, 0xb9c404(%r12)
movl $0x1, %edi
callq 0xd450
xorl %ebp, %ebp
movl %ebp, 0xb9c408(%r12)
movl $0x1, %edi
callq 0xd450
movl $0x2, %r14d
movl %r14d, 0xb9c400(%r12)
movl $0x1, %edi
callq 0xd450
movl %ebx, 0xbbc400(%r12)
movl $0x1, %edi
callq 0xd450
movl $0x201, 0xbbc404(%r12) # imm = 0x201
movl $0x1, %edi
callq 0xd450
movl %ebp, 0xbbc408(%r12)
movl $0x1, %edi
callq 0xd450
movl %r14d, 0xbbc400(%r12)
movl $0x1, %edi
callq 0xd450
cmpw $0x0, 0x72(%rsp)
movl 0x3c(%rsp), %r15d
je 0x15e47
movl $0x180, %r14d           # imm = 0x180
xorl %r13d, %r13d
movl %r15d, 0x3c(%rsp)
movq %r13, %rbp
shlq $0xc, %rbp
movzbl 0x24c95(%rip), %eax     # 0x3a931
addl $0x2001, %eax           # imm = 0x2001
movq 0x30(%rsp), %rbx
movl %eax, 0xb58004(%rbx,%rbp)
movl $0x1, %edi
callq 0xd450
cmpb $0x0, 0x24c73(%rip)     # 0x3a931
movl $0x60, %eax
cmovnel %r14d, %eax
movl %eax, 0xb5803c(%rbx,%rbp)
movl $0x1, %edi
callq 0xd450
testb %r15b, %r15b
je 0x15e3a
movq 0x48(%rsp), %rax
movq 0x10(%rax), %rbx
movq %rbx, %rdi
callq 0x13a38
testb %al, %al
jne 0x15fae
movq %rbx, %rdi
leaq 0x6c79(%rip), %rsi      # 0x1c97d
callq 0xd320
testq %rax, %rax
je 0x15fc6
movq %rax, %r14
movl $0xfe00, %esi           # imm = 0xFE00
movl $0x1, %edx
leaq 0x1280(%rsp), %rdi
movq %rax, %rcx
callq 0xd0d0
testw %ax, %ax
jle 0x15ff3
testq %r13, %r13
jne 0x15d6f
callq 0x16674
leaq 0x1e187(%rip), %rcx     # 0x33ed0
movq 0x10(%rcx), %r8
movl $0x0, (%rsp)
movl $0x2, %edi
xorl %esi, %esi
leaq 0x79d4(%rip), %rdx      # 0x1d736
movq %rax, %rcx
movq %rbx, %r9
xorl %eax, %eax
callq 0x199b4
movq %rbx, 0x40(%rsp)
movq %rbp, %r15
orq $0xb5800c, %r15         # imm = 0xB5800C
movq 0x30(%rsp), %rax
movl $0x80000000, 0xb5800c(%rax,%rbp) # imm = 0x80000000
addq $0xb58800, %rbp         # imm = 0xB58800
movw $0x100, %ax             # imm = 0x100
xorl %ebx, %ebx
xorl %r12d, %r12d
movswl %ax, %ecx
leal (%rbp,%rcx,4), %ecx
movswl 0x1280(%rsp,%rbx,2), %edx
andl $-0x4, %ecx
movq 0x30(%rsp), %rsi
movl %edx, (%rsi,%rcx)
incl %eax
testl $0x1ff, %eax            # imm = 0x1FF
jne 0x15de7
incl %r12d
movq 0x1d205(%rip), %rax     # 0x32fd0
movq (%rax), %rdi
callq 0xd280
movswl %r12w, %eax
addl $0x80000000, %eax       # imm = 0x80000000
movq 0x30(%rsp), %rcx
movl %eax, (%rcx,%r15)
xorl %eax, %eax
incq %rbx
cmpq $0x7f00, %rbx           # imm = 0x7F00
jne 0x15d9e
movq 0x30(%rsp), %rax
movl $0x0, (%rax,%r15)
movq %r14, %rdi
callq 0xd0f0
testq %r13, %r13
movl 0x3c(%rsp), %r15d
movl $0x180, %r14d           # imm = 0x180
jne 0x15e3a
leaq 0x1280(%rsp), %rdi
movq 0x48(%rsp), %rbx
movq %rbx, %rsi
callq 0x1145d
movq 0x40(%rsp), %rdi
movq %rbx, %rsi
callq 0x115b0
incq %r13
cmpq $0x3, %r13
jne 0x15c8e
movq 0x30(%rsp), %rsi
addq $0xa10000, %rsi         # imm = 0xA10000
movq $0x0, 0x40(%rsp)
leaq 0x54(%rsp), %r15
xorl %ebp, %ebp
movq %rsi, 0x30(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x1280(%rsp)
movzwl 0x58(%rsp), %eax
cmpq %rax, 0x40(%rsp)
jae 0x15ee9
cmpl 0x50(%rsp), %ebp
jae 0x15ee9
xorl %r14d, %r14d
leaq 0x1280(%rsp), %r13
xorl %ebx, %ebx
movq %r14, %r12
movl %ebp, %edi
movq %r15, %rsi
callq 0x14a08
addq $0x10, %r14
movl %eax, %ecx
movl $0xffff, %eax           # imm = 0xFFFF
cmpq %rcx, %r14
jbe 0x15ed8
movl %ebp, %edi
movq %r15, %rsi
callq 0x14a08
movl %eax, %ecx
xorl %eax, %eax
cmpq %rcx, %r12
jae 0x15ed8
movl %ebp, %edi
movq %r15, %rsi
callq 0x14a08
leal (%rax,%rbx), %ecx
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
shll %cl, %eax
notl %eax
movl %eax, (%r13)
addl $-0x10, %ebx
addq $0x4, %r13
cmpq $0x40, %r14
jne 0x15e92
movl %ebp, %eax
shll $0x10, %eax
xorl %ecx, %ecx
movq 0x30(%rsp), %rsi
movl 0x1280(%rsp,%rcx,4), %edx
addl %eax, %edx
movl %edx, (%rsi,%rcx,4)
incq %rcx
cmpq $0x4, %rcx
jne 0x15ef5
incl %ebp
cmpl $0x20, %ebp
jne 0x15e68
movq 0x40(%rsp), %rcx
incq %rcx
addq $0x10, %rsi
movq %rcx, 0x40(%rsp)
cmpq $0x40, %rcx
jne 0x15e61
callq 0x16674
leaq 0x1df94(%rip), %rcx     # 0x33ed0
movq 0x10(%rcx), %r8
leaq 0x796c(%rip), %rdx      # 0x1d8b3
xorl %ebp, %ebp
movl $0x2, %edi
xorl %esi, %esi
movq %rax, %rcx
xorl %eax, %eax
callq 0x199b4
movzwl 0x58(%rsp), %eax
movq 0x48(%rsp), %rcx
movl %eax, 0x4f8(%rcx)
jmp 0x14fb5
callq 0x16674
movq (%r12), %r8
movl %ebx, (%rsp)
leaq 0x78bd(%rip), %rdx      # 0x1d83f
xorl %edi, %edi
xorl %esi, %esi
movq %rax, %rcx
movl %r15d, %r9d
xorl %eax, %eax
callq 0x199b4
callq 0x16674
leaq 0x1df31(%rip), %rcx     # 0x33ed0
movq (%rcx), %r8
leaq 0x70b3(%rip), %rdx      # 0x1d05c
jmp 0x14fa2
callq 0x16674
leaq 0x1df16(%rip), %rcx     # 0x33ed0
movq (%rcx), %r8
leaq 0x6988(%rip), %rdx      # 0x1c94c
jmp 0x15fe0
callq 0x16674
leaq 0x1defe(%rip), %rcx     # 0x33ed0
movq (%rcx), %r8
movl %r13d, (%rsp)
leaq 0x7729(%rip), %rdx      # 0x1d709
xorl %edi, %edi
xorl %esi, %esi
movq %rax, %rcx
movq %rbx, %r9
xorl %eax, %eax
callq 0x199b4
jmp 0x15f93
callq 0x16674
leaq 0x1ded1(%rip), %rcx     # 0x33ed0
movq (%rcx), %r8
movl %r13d, (%rsp)
leaq 0x76fc(%rip), %rdx      # 0x1d709
xorl %edi, %edi
xorl %esi, %esi
movq %rax, %rcx
movq %rbx, %r9
xorl %eax, %eax
callq 0x199b4
movq %r14, %rdi
callq 0xd0f0
jmp 0x15f93