// File: uclaopt[P]AsyncQVI/include/util.h
// Function: parse_input_argv(Params*, int, char**)
void parse_input_argv(Params* para, int argc, char *argv[]){
	
	if (argc < 2) {
		cout << "Input number error: [0]" << endl;
		return;
	}

	for (int i = 1; i < argc; ++i)
	{
		if (argv[i][0] != '-') {
			break;
		}
		if (++i >= argc) {
			cout << "Input number error: [1]" << endl;
			return;
		}
		else if (std::string(argv[i - 1]) == "-len_state") {
			para->len_state = atoi(argv[i]);
		}
		else if (std::string(argv[i - 1]) == "-len_action") {
			para->len_action = atoi(argv[i]);
		}
		else if (std::string(argv[i - 1]) == "-probs") {
			para->probs = atof(argv[i]);
		}
		else if (std::string(argv[i - 1]) == "-d") {
			para->d = atof(argv[i]);
		}
		else if (std::string(argv[i - 1]) == "-max_outer_iter") {
			para->max_outer_iter = atoi(argv[i]);
		}
		else if (std::string(argv[i - 1]) == "-max_inner_iter") {
			para->max_inner_iter = atoi(argv[i]);
		}
		else if (std::string(argv[i - 1]) == "-test_max_episode") {
			para->test_max_episode = atoi(argv[i]);
		}
		else if (std::string(argv[i - 1]) == "-test_max_step") {
			para->test_max_step = atoi(argv[i]);
		}
		else if (std::string(argv[i - 1]) == "-sample_num_1") {
			para->sample_num_1 = atoi(argv[i]);
		}
		else if (std::string(argv[i - 1]) == "-sample_num_2") {
			para->sample_num_2 = atoi(argv[i]);
		}
		else if (std::string(argv[i - 1]) == "-check_step") {
			para->check_step = atoi(argv[i]);
		}
		else if (std::string(argv[i - 1]) == "-style") {
			para->style = atoi(argv[i]);
		}
		else if (std::string(argv[i - 1]) == "-save") {
			para->save = atoi(argv[i]);
		}
		else if (std::string(argv[i - 1]) == "-alpha") {
			para->alpha = atof(argv[i]);
		}
		else if (std::string(argv[i - 1]) == "-alpha1") {
			para->alpha1 = atof(argv[i]);
		}
		else if (std::string(argv[i - 1]) == "-explore") {
			para->explore = atof(argv[i]);
		}
		else if (std::string(argv[i - 1]) == "-gamma") {
			para->gamma = atof(argv[i]);
		}
		else if (std::string(argv[i - 1]) == "-epsilon") {
			para->epsilon = atof(argv[i]);
		}
		else if (std::string(argv[i - 1]) == "-algo") {
			para->algo = atoi(argv[i]);
		}
		else if (std::string(argv[i - 1]) == "-nthreads") {
			para->total_num_threads = atoi(argv[i]);
		}
		else {
			cout << "Input number error: [2]" << endl;
			return;
		}
	}
	return;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x530, %rsp            # imm = 0x530
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
cmpl $0x2, -0xc(%rbp)
jge 0x25e3
movq 0x10a15(%rip), %rdi     # 0x12fd8
leaq 0xab1e(%rip), %rsi      # 0xd0e8
callq 0x21d0
movq %rax, %rdi
movq 0x109e7(%rip), %rsi     # 0x12fc0
callq 0x2200
jmp 0x378d
movl $0x1, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
cmpl -0xc(%rbp), %eax
jge 0x378b
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
je 0x260f
jmp 0x378b
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
cmpl -0xc(%rbp), %eax
jl 0x2644
movq 0x109b4(%rip), %rdi     # 0x12fd8
leaq 0xaad5(%rip), %rsi      # 0xd100
callq 0x21d0
movq %rax, %rdi
movq 0x10986(%rip), %rsi     # 0x12fc0
callq 0x2200
jmp 0x378d
movq -0x18(%rbp), %rax
movl -0x1c(%rbp), %ecx
decl %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x360(%rbp)
leaq -0x41(%rbp), %rdi
movq %rdi, -0x358(%rbp)
callq 0x23b0
movq -0x360(%rbp), %rsi
movq -0x358(%rbp), %rdx
leaq -0x40(%rbp), %rdi
callq 0x4ad0
jmp 0x2684
leaq 0xaa8d(%rip), %rsi      # 0xd118
leaq -0x40(%rbp), %rdi
callq 0x4aa0
movb %al, -0x361(%rbp)
jmp 0x269c
leaq -0x40(%rbp), %rdi
callq 0x20c0
leaq -0x41(%rbp), %rdi
callq 0x2220
movb -0x361(%rbp), %al
testb $0x1, %al
jne 0x26ba
jmp 0x2709
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x2310
movl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, (%rax)
jmp 0x3779
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x26fb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x20c0
leaq -0x41(%rbp), %rdi
callq 0x2220
jmp 0x3796
movq -0x18(%rbp), %rax
movl -0x1c(%rbp), %ecx
decl %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x378(%rbp)
leaq -0x79(%rbp), %rdi
movq %rdi, -0x370(%rbp)
callq 0x23b0
movq -0x378(%rbp), %rsi
movq -0x370(%rbp), %rdx
leaq -0x78(%rbp), %rdi
callq 0x4ad0
jmp 0x2749
leaq 0xa9d3(%rip), %rsi      # 0xd123
leaq -0x78(%rbp), %rdi
callq 0x4aa0
movb %al, -0x379(%rbp)
jmp 0x2761
leaq -0x78(%rbp), %rdi
callq 0x20c0
leaq -0x79(%rbp), %rdi
callq 0x2220
movb -0x379(%rbp), %al
testb $0x1, %al
jne 0x277f
jmp 0x27cf
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x2310
movl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x4(%rax)
jmp 0x3777
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x27c1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x78(%rbp), %rdi
callq 0x20c0
leaq -0x79(%rbp), %rdi
callq 0x2220
jmp 0x3796
movq -0x18(%rbp), %rax
movl -0x1c(%rbp), %ecx
decl %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x390(%rbp)
leaq -0xa1(%rbp), %rdi
movq %rdi, -0x388(%rbp)
callq 0x23b0
movq -0x390(%rbp), %rsi
movq -0x388(%rbp), %rdx
leaq -0xa0(%rbp), %rdi
callq 0x4ad0
jmp 0x2815
leaq 0xa913(%rip), %rsi      # 0xd12f
leaq -0xa0(%rbp), %rdi
callq 0x4aa0
movb %al, -0x391(%rbp)
jmp 0x2830
leaq -0xa0(%rbp), %rdi
callq 0x20c0
leaq -0xa1(%rbp), %rdi
callq 0x2220
movb -0x391(%rbp), %al
testb $0x1, %al
jne 0x2854
jmp 0x28aa
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x2290
movq -0x8(%rbp), %rax
movsd %xmm0, 0x8(%rax)
jmp 0x3775
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x2899
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0x20c0
leaq -0xa1(%rbp), %rdi
callq 0x2220
jmp 0x3796
movq -0x18(%rbp), %rax
movl -0x1c(%rbp), %ecx
decl %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x3a8(%rbp)
leaq -0xc9(%rbp), %rdi
movq %rdi, -0x3a0(%rbp)
callq 0x23b0
movq -0x3a8(%rbp), %rsi
movq -0x3a0(%rbp), %rdx
leaq -0xc8(%rbp), %rdi
callq 0x4ad0
jmp 0x28f0
leaq 0xa83f(%rip), %rsi      # 0xd136
leaq -0xc8(%rbp), %rdi
callq 0x4aa0
movb %al, -0x3a9(%rbp)
jmp 0x290b
leaq -0xc8(%rbp), %rdi
callq 0x20c0
leaq -0xc9(%rbp), %rdi
callq 0x2220
movb -0x3a9(%rbp), %al
testb $0x1, %al
jne 0x292f
jmp 0x2985
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x2290
movq -0x8(%rbp), %rax
movsd %xmm0, 0x10(%rax)
jmp 0x3773
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x2974
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0x20c0
leaq -0xc9(%rbp), %rdi
callq 0x2220
jmp 0x3796
movq -0x18(%rbp), %rax
movl -0x1c(%rbp), %ecx
decl %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x3c0(%rbp)
leaq -0xf1(%rbp), %rdi
movq %rdi, -0x3b8(%rbp)
callq 0x23b0
movq -0x3c0(%rbp), %rsi
movq -0x3b8(%rbp), %rdx
leaq -0xf0(%rbp), %rdi
callq 0x4ad0
jmp 0x29cb
leaq 0xa767(%rip), %rsi      # 0xd139
leaq -0xf0(%rbp), %rdi
callq 0x4aa0
movb %al, -0x3c1(%rbp)
jmp 0x29e6
leaq -0xf0(%rbp), %rdi
callq 0x20c0
leaq -0xf1(%rbp), %rdi
callq 0x2220
movb -0x3c1(%rbp), %al
testb $0x1, %al
jne 0x2a0a
jmp 0x2a60
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x2310
movl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x34(%rax)
jmp 0x3771
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x2a4f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0xf0(%rbp), %rdi
callq 0x20c0
leaq -0xf1(%rbp), %rdi
callq 0x2220
jmp 0x3796
movq -0x18(%rbp), %rax
movl -0x1c(%rbp), %ecx
decl %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x3d8(%rbp)
leaq -0x119(%rbp), %rdi
movq %rdi, -0x3d0(%rbp)
callq 0x23b0
movq -0x3d8(%rbp), %rsi
movq -0x3d0(%rbp), %rdx
leaq -0x118(%rbp), %rdi
callq 0x4ad0
jmp 0x2aa6
leaq 0xa69c(%rip), %rsi      # 0xd149
leaq -0x118(%rbp), %rdi
callq 0x4aa0
movb %al, -0x3d9(%rbp)
jmp 0x2ac1
leaq -0x118(%rbp), %rdi
callq 0x20c0
leaq -0x119(%rbp), %rdi
callq 0x2220
movb -0x3d9(%rbp), %al
testb $0x1, %al
jne 0x2ae5
jmp 0x2b3b
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x2310
movl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x38(%rax)
jmp 0x376f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x2b2a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x118(%rbp), %rdi
callq 0x20c0
leaq -0x119(%rbp), %rdi
callq 0x2220
jmp 0x3796
movq -0x18(%rbp), %rax
movl -0x1c(%rbp), %ecx
decl %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x3f0(%rbp)
leaq -0x141(%rbp), %rdi
movq %rdi, -0x3e8(%rbp)
callq 0x23b0
movq -0x3f0(%rbp), %rsi
movq -0x3e8(%rbp), %rdx
leaq -0x140(%rbp), %rdi
callq 0x4ad0
jmp 0x2b81
leaq 0xa5d1(%rip), %rsi      # 0xd159
leaq -0x140(%rbp), %rdi
callq 0x4aa0
movb %al, -0x3f1(%rbp)
jmp 0x2b9c
leaq -0x140(%rbp), %rdi
callq 0x20c0
leaq -0x141(%rbp), %rdi
callq 0x2220
movb -0x3f1(%rbp), %al
testb $0x1, %al
jne 0x2bc0
jmp 0x2c16
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x2310
movl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x20(%rax)
jmp 0x376d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x2c05
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x140(%rbp), %rdi
callq 0x20c0
leaq -0x141(%rbp), %rdi
callq 0x2220
jmp 0x3796
movq -0x18(%rbp), %rax
movl -0x1c(%rbp), %ecx
decl %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x408(%rbp)
leaq -0x169(%rbp), %rdi
movq %rdi, -0x400(%rbp)
callq 0x23b0
movq -0x408(%rbp), %rsi
movq -0x400(%rbp), %rdx
leaq -0x168(%rbp), %rdi
callq 0x4ad0
jmp 0x2c5c
leaq 0xa508(%rip), %rsi      # 0xd16b
leaq -0x168(%rbp), %rdi
callq 0x4aa0
movb %al, -0x409(%rbp)
jmp 0x2c77
leaq -0x168(%rbp), %rdi
callq 0x20c0
leaq -0x169(%rbp), %rdi
callq 0x2220
movb -0x409(%rbp), %al
testb $0x1, %al
jne 0x2c9b
jmp 0x2cf1
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x2310
movl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x24(%rax)
jmp 0x376b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x2ce0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x168(%rbp), %rdi
callq 0x20c0
leaq -0x169(%rbp), %rdi
callq 0x2220
jmp 0x3796
movq -0x18(%rbp), %rax
movl -0x1c(%rbp), %ecx
decl %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x420(%rbp)
leaq -0x191(%rbp), %rdi
movq %rdi, -0x418(%rbp)
callq 0x23b0
movq -0x420(%rbp), %rsi
movq -0x418(%rbp), %rdx
leaq -0x190(%rbp), %rdi
callq 0x4ad0
jmp 0x2d37
leaq 0xa43c(%rip), %rsi      # 0xd17a
leaq -0x190(%rbp), %rdi
callq 0x4aa0
movb %al, -0x421(%rbp)
jmp 0x2d52
leaq -0x190(%rbp), %rdi
callq 0x20c0
leaq -0x191(%rbp), %rdi
callq 0x2220
movb -0x421(%rbp), %al
testb $0x1, %al
jne 0x2d76
jmp 0x2dcc
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x2310
movl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x3c(%rax)
jmp 0x3769
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x2dbb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x190(%rbp), %rdi
callq 0x20c0
leaq -0x191(%rbp), %rdi
callq 0x2220
jmp 0x3796
movq -0x18(%rbp), %rax
movl -0x1c(%rbp), %ecx
decl %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x438(%rbp)
leaq -0x1b9(%rbp), %rdi
movq %rdi, -0x430(%rbp)
callq 0x23b0
movq -0x438(%rbp), %rsi
movq -0x430(%rbp), %rdx
leaq -0x1b8(%rbp), %rdi
callq 0x4ad0
jmp 0x2e12
leaq 0xa36f(%rip), %rsi      # 0xd188
leaq -0x1b8(%rbp), %rdi
callq 0x4aa0
movb %al, -0x439(%rbp)
jmp 0x2e2d
leaq -0x1b8(%rbp), %rdi
callq 0x20c0
leaq -0x1b9(%rbp), %rdi
callq 0x2220
movb -0x439(%rbp), %al
testb $0x1, %al
jne 0x2e51
jmp 0x2ea7
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x2310
movl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x40(%rax)
jmp 0x3767
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x2e96
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x1b8(%rbp), %rdi
callq 0x20c0
leaq -0x1b9(%rbp), %rdi
callq 0x2220
jmp 0x3796
movq -0x18(%rbp), %rax
movl -0x1c(%rbp), %ecx
decl %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x450(%rbp)
leaq -0x1e1(%rbp), %rdi
movq %rdi, -0x448(%rbp)
callq 0x23b0
movq -0x450(%rbp), %rsi
movq -0x448(%rbp), %rdx
leaq -0x1e0(%rbp), %rdi
callq 0x4ad0
jmp 0x2eed
leaq 0xa2a2(%rip), %rsi      # 0xd196
leaq -0x1e0(%rbp), %rdi
callq 0x4aa0
movb %al, -0x451(%rbp)
jmp 0x2f08
leaq -0x1e0(%rbp), %rdi
callq 0x20c0
leaq -0x1e1(%rbp), %rdi
callq 0x2220
movb -0x451(%rbp), %al
testb $0x1, %al
jne 0x2f2c
jmp 0x2f82
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x2310
movl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x6c(%rax)
jmp 0x3765
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x2f71
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x1e0(%rbp), %rdi
callq 0x20c0
leaq -0x1e1(%rbp), %rdi
callq 0x2220
jmp 0x3796
movq -0x18(%rbp), %rax
movl -0x1c(%rbp), %ecx
decl %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x468(%rbp)
leaq -0x209(%rbp), %rdi
movq %rdi, -0x460(%rbp)
callq 0x23b0
movq -0x468(%rbp), %rsi
movq -0x460(%rbp), %rdx
leaq -0x208(%rbp), %rdi
callq 0x4ad0
jmp 0x2fc8
leaq 0xa1d3(%rip), %rsi      # 0xd1a2
leaq -0x208(%rbp), %rdi
callq 0x4aa0
movb %al, -0x469(%rbp)
jmp 0x2fe3
leaq -0x208(%rbp), %rdi
callq 0x20c0
leaq -0x209(%rbp), %rdi
callq 0x2220
movb -0x469(%rbp), %al
testb $0x1, %al
jne 0x3007
jmp 0x305d
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x2310
movl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x2c(%rax)
jmp 0x3763
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x304c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x208(%rbp), %rdi
callq 0x20c0
leaq -0x209(%rbp), %rdi
callq 0x2220
jmp 0x3796
movq -0x18(%rbp), %rax
movl -0x1c(%rbp), %ecx
decl %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x480(%rbp)
leaq -0x231(%rbp), %rdi
movq %rdi, -0x478(%rbp)
callq 0x23b0
movq -0x480(%rbp), %rsi
movq -0x478(%rbp), %rdx
leaq -0x230(%rbp), %rdi
callq 0x4ad0
jmp 0x30a3
leaq 0xa0ff(%rip), %rsi      # 0xd1a9
leaq -0x230(%rbp), %rdi
callq 0x4aa0
movb %al, -0x481(%rbp)
jmp 0x30be
leaq -0x230(%rbp), %rdi
callq 0x20c0
leaq -0x231(%rbp), %rdi
callq 0x2220
movb -0x481(%rbp), %al
testb $0x1, %al
jne 0x30e2
jmp 0x3138
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x2310
movl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x68(%rax)
jmp 0x3761
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x3127
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x230(%rbp), %rdi
callq 0x20c0
leaq -0x231(%rbp), %rdi
callq 0x2220
jmp 0x3796
movq -0x18(%rbp), %rax
movl -0x1c(%rbp), %ecx
decl %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x498(%rbp)
leaq -0x259(%rbp), %rdi
movq %rdi, -0x490(%rbp)
callq 0x23b0
movq -0x498(%rbp), %rsi
movq -0x490(%rbp), %rdx
leaq -0x258(%rbp), %rdi
callq 0x4ad0
jmp 0x317e
leaq 0xa02a(%rip), %rsi      # 0xd1af
leaq -0x258(%rbp), %rdi
callq 0x4aa0
movb %al, -0x499(%rbp)
jmp 0x3199
leaq -0x258(%rbp), %rdi
callq 0x20c0
leaq -0x259(%rbp), %rdi
callq 0x2220
movb -0x499(%rbp), %al
testb $0x1, %al
jne 0x31bd
jmp 0x3213
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x2290
movq -0x8(%rbp), %rax
movsd %xmm0, 0x50(%rax)
jmp 0x375f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x3202
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x258(%rbp), %rdi
callq 0x20c0
leaq -0x259(%rbp), %rdi
callq 0x2220
jmp 0x3796
movq -0x18(%rbp), %rax
movl -0x1c(%rbp), %ecx
decl %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x4b0(%rbp)
leaq -0x281(%rbp), %rdi
movq %rdi, -0x4a8(%rbp)
callq 0x23b0
movq -0x4b0(%rbp), %rsi
movq -0x4a8(%rbp), %rdx
leaq -0x280(%rbp), %rdi
callq 0x4ad0
jmp 0x3259
leaq 0x9f56(%rip), %rsi      # 0xd1b6
leaq -0x280(%rbp), %rdi
callq 0x4aa0
movb %al, -0x4b1(%rbp)
jmp 0x3274
leaq -0x280(%rbp), %rdi
callq 0x20c0
leaq -0x281(%rbp), %rdi
callq 0x2220
movb -0x4b1(%rbp), %al
testb $0x1, %al
jne 0x3298
jmp 0x32ee
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x2290
movq -0x8(%rbp), %rax
movsd %xmm0, 0x58(%rax)
jmp 0x375d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x32dd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x280(%rbp), %rdi
callq 0x20c0
leaq -0x281(%rbp), %rdi
callq 0x2220
jmp 0x3796
movq -0x18(%rbp), %rax
movl -0x1c(%rbp), %ecx
decl %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x4c8(%rbp)
leaq -0x2a9(%rbp), %rdi
movq %rdi, -0x4c0(%rbp)
callq 0x23b0
movq -0x4c8(%rbp), %rsi
movq -0x4c0(%rbp), %rdx
leaq -0x2a8(%rbp), %rdi
callq 0x4ad0
jmp 0x3334
leaq 0x9e83(%rip), %rsi      # 0xd1be
leaq -0x2a8(%rbp), %rdi
callq 0x4aa0
movb %al, -0x4c9(%rbp)
jmp 0x334f
leaq -0x2a8(%rbp), %rdi
callq 0x20c0
leaq -0x2a9(%rbp), %rdi
callq 0x2220
movb -0x4c9(%rbp), %al
testb $0x1, %al
jne 0x3373
jmp 0x33c9
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x2290
movq -0x8(%rbp), %rax
movsd %xmm0, 0x48(%rax)
jmp 0x375b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x33b8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x2a8(%rbp), %rdi
callq 0x20c0
leaq -0x2a9(%rbp), %rdi
callq 0x2220
jmp 0x3796
movq -0x18(%rbp), %rax
movl -0x1c(%rbp), %ecx
decl %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x4e0(%rbp)
leaq -0x2d1(%rbp), %rdi
movq %rdi, -0x4d8(%rbp)
callq 0x23b0
movq -0x4e0(%rbp), %rsi
movq -0x4d8(%rbp), %rdx
leaq -0x2d0(%rbp), %rdi
callq 0x4ad0
jmp 0x340f
leaq 0x9db1(%rip), %rsi      # 0xd1c7
leaq -0x2d0(%rbp), %rdi
callq 0x4aa0
movb %al, -0x4e1(%rbp)
jmp 0x342a
leaq -0x2d0(%rbp), %rdi
callq 0x20c0
leaq -0x2d1(%rbp), %rdi
callq 0x2220
movb -0x4e1(%rbp), %al
testb $0x1, %al
jne 0x344e
jmp 0x34a4
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x2290
movq -0x8(%rbp), %rax
movsd %xmm0, 0x18(%rax)
jmp 0x3759
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x3493
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x2d0(%rbp), %rdi
callq 0x20c0
leaq -0x2d1(%rbp), %rdi
callq 0x2220
jmp 0x3796
movq -0x18(%rbp), %rax
movl -0x1c(%rbp), %ecx
decl %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x4f8(%rbp)
leaq -0x2f9(%rbp), %rdi
movq %rdi, -0x4f0(%rbp)
callq 0x23b0
movq -0x4f8(%rbp), %rsi
movq -0x4f0(%rbp), %rdx
leaq -0x2f8(%rbp), %rdi
callq 0x4ad0
jmp 0x34ea
leaq 0x9cdd(%rip), %rsi      # 0xd1ce
leaq -0x2f8(%rbp), %rdi
callq 0x4aa0
movb %al, -0x4f9(%rbp)
jmp 0x3505
leaq -0x2f8(%rbp), %rdi
callq 0x20c0
leaq -0x2f9(%rbp), %rdi
callq 0x2220
movb -0x4f9(%rbp), %al
testb $0x1, %al
jne 0x3529
jmp 0x357f
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x2290
movq -0x8(%rbp), %rax
movsd %xmm0, 0x60(%rax)
jmp 0x3757
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x356e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x2f8(%rbp), %rdi
callq 0x20c0
leaq -0x2f9(%rbp), %rdi
callq 0x2220
jmp 0x3796
movq -0x18(%rbp), %rax
movl -0x1c(%rbp), %ecx
decl %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x510(%rbp)
leaq -0x321(%rbp), %rdi
movq %rdi, -0x508(%rbp)
callq 0x23b0
movq -0x510(%rbp), %rsi
movq -0x508(%rbp), %rdx
leaq -0x320(%rbp), %rdi
callq 0x4ad0
jmp 0x35c5
leaq 0x9c0b(%rip), %rsi      # 0xd1d7
leaq -0x320(%rbp), %rdi
callq 0x4aa0
movb %al, -0x511(%rbp)
jmp 0x35e0
leaq -0x320(%rbp), %rdi
callq 0x20c0
leaq -0x321(%rbp), %rdi
callq 0x2220
movb -0x511(%rbp), %al
testb $0x1, %al
jne 0x3604
jmp 0x365a
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x2310
movl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x28(%rax)
jmp 0x3755
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x3649
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x320(%rbp), %rdi
callq 0x20c0
leaq -0x321(%rbp), %rdi
callq 0x2220
jmp 0x3796
movq -0x18(%rbp), %rax
movl -0x1c(%rbp), %ecx
decl %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x528(%rbp)
leaq -0x349(%rbp), %rdi
movq %rdi, -0x520(%rbp)
callq 0x23b0
movq -0x528(%rbp), %rsi
movq -0x520(%rbp), %rdx
leaq -0x348(%rbp), %rdi
callq 0x4ad0
jmp 0x36a0
leaq 0x9b36(%rip), %rsi      # 0xd1dd
leaq -0x348(%rbp), %rdi
callq 0x4aa0
movb %al, -0x529(%rbp)
jmp 0x36bb
leaq -0x348(%rbp), %rdi
callq 0x20c0
leaq -0x349(%rbp), %rdi
callq 0x2220
movb -0x529(%rbp), %al
testb $0x1, %al
jne 0x36df
jmp 0x372f
movq -0x18(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x2310
movl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x30(%rax)
jmp 0x3753
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x3721
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x348(%rbp), %rdi
callq 0x20c0
leaq -0x349(%rbp), %rdi
callq 0x2220
jmp 0x3796
movq 0xf8a2(%rip), %rdi      # 0x12fd8
leaq 0x9aaa(%rip), %rsi      # 0xd1e7
callq 0x21d0
movq %rax, %rdi
movq 0xf874(%rip), %rsi      # 0x12fc0
callq 0x2200
jmp 0x378d
jmp 0x3755
jmp 0x3757
jmp 0x3759
jmp 0x375b
jmp 0x375d
jmp 0x375f
jmp 0x3761
jmp 0x3763
jmp 0x3765
jmp 0x3767
jmp 0x3769
jmp 0x376b
jmp 0x376d
jmp 0x376f
jmp 0x3771
jmp 0x3773
jmp 0x3775
jmp 0x3777
jmp 0x3779
jmp 0x377b
jmp 0x377d
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x25ea
jmp 0x378d
addq $0x530, %rsp            # imm = 0x530
popq %rbp
retq
movq -0x50(%rbp), %rdi
callq 0x23a0
nop