// File: /workspace/github_c_makefile_star2_O3/enzo1982[P]smooth/samples/beatclock/options.cpp
// Function: Options::Options(int&, bool&, bool&, int&, int&, int&, int&, smooth::String&, int&)
Options::Options(Int &itimeformat, Bool &icenti, Bool &iisalarm, Int &ialarmbeats, Int &ialarmsecs, Int &imodechange, Int &itimezone, String &ialarmtext, Int &ialarmoption) : timeformat(itimeformat), centi(icenti), isalarm(iisalarm), alarmbeats(ialarmbeats), alarmsecs(ialarmsecs), modechange(imodechange), timezone(itimezone), alarmtext(ialarmtext), alarmoption(ialarmoption)
{
	oldtf = timeformat;
	oldct = centi;
	oldmc = modechange;
	oldtz = timezone;
	oldia = isalarm;
	oldab = alarmbeats;
	oldas = alarmsecs;
	oldat = alarmtext;
	oldao = alarmoption;

	optionsdialog	= new GUI::Window("BeatClock Options", Point(100, 100), Size(419, 183));
	optitle		= new Titlebar(TB_CLOSEBUTTON);

	/* Configuring "Display" Layer:
	 */
	display		= new Layer("Display");

	display_group1	= new GroupBox("Time format", Point(7, 11), Size(250, 65));

	display_option1 = new OptionBox("Internet Beats", Point(10, 13), Size(110, 0), &timeformat, 0);
	display_option1->onAction.Connect(&Options::OptionsBeats, this);

	display_option2 = new OptionBox("Standard (STF)", Point(10, 38), Size(110, 0), &timeformat, 1);
	display_option2->onAction.Connect(&Options::OptionsSTF, this);

	if (timeformat == 0) display_check1 = new CheckBox("Show centibeats", Point(129, 13), Size(110, 0), &centi);
	else		     display_check1 = new CheckBox("Show seconds", Point(129, 13), Size(110, 0), &centi);

	display_check1->onAction.Connect(&onOptionChange);

	display_group1->Add(display_option1);
	display_group1->Add(display_option2);
	display_group1->Add(display_check1);

	display_group2	= new GroupBox("Timezone", Point(265, 11), Size(121, 65));

	display_option3 = new OptionBox("CET", Point(10, 13), Size(100, 0), &timezone, 0);
	display_option3->onAction.Connect(&onOptionChange);

	display_option4 = new OptionBox("Local time", Point(10, 38), Size(100, 0), &timezone, 1);
	display_option4->onAction.Connect(&onOptionChange);

	display_group2->Add(display_option3);
	display_group2->Add(display_option4);

	display->Add(display_group1);
	display->Add(display_group2);

	/* Configuring "Alarm" layer:
	 */
	alarm		= new Layer("Alarm");

	alarm_check1	= new CheckBox("Enable alarm", Point(7, 7), Size(100, 0), &isalarm);
	alarm_check1->onAction.Connect(&Options::ToggleAlarmState, this);

	alarm_text1	= new Text("Ring at:", Point(9, 35));

	if (timeformat == 0) alarmtext = String::FromInt(alarmbeats);
	else		     alarmtext = Time::SecondsToTimeString(alarmsecs);

	alarm_edit1	= new EditBox(alarmtext, Point(16 + alarm_text1->GetUnscaledTextWidth(), 32), Size(34, 0), 5);

	if (timeformat == 0) alarm_text2 = new Text("Internet Beats", Point(alarm_edit1->GetX() + 41, 35));
	else		     alarm_text2 = new Text("Hours/Minutes", Point(alarm_edit1->GetX() + 41, 35));

	alarm_option1	= new OptionBox("once", Point(180, 21), Size(0, 0), &alarmoption, 0);
	alarm_option2	= new OptionBox("every day", Point(180, 46), Size(0, 0), &alarmoption, 1);

	alarm->Add(alarm_check1);
	alarm->Add(alarm_text1);
	alarm->Add(alarm_text2);
	alarm->Add(alarm_edit1);
	alarm->Add(alarm_option1);
	alarm->Add(alarm_option2);

	ToggleAlarmState();

	/* Configuring "Misc" layer:
	 */
	misc		= new Layer("Misc");

	misc_group1	= new GroupBox("'Mode' button action", Point(7, 11), Size(379, 65));

	if (timeformat == 0) misc_option1 = new OptionBox("Show/hide centibeats", Point(10, 13), Size(174, 0), &modechange, 0);
	else		     misc_option1 = new OptionBox("Show/hide seconds", Point(10, 13), Size(174, 0), &modechange, 0);

	misc_option2	= new OptionBox("Change time format", Point(10, 38), Size(174, 0), &modechange, 1);
	misc_option3	= new OptionBox("Change timezone", Point(194, 13), Size(174, 0), &modechange, 2);
	misc_option4	= new OptionBox("Change format and timezone", Point(194, 38), Size(174, 0), &modechange, 3);

	misc_group1->Add(misc_option1);
	misc_group1->Add(misc_option2);
	misc_group1->Add(misc_option3);
	misc_group1->Add(misc_option4);

	misc->Add(misc_group1);

	/* Configuring "Info" layer:
	 */
	info		= new Layer("Info");

	info_text1	= new Text("BeatClock version 2.0\n\nDeveloped by Robert Kausch 2000-2020\nGive it to all your friends!", Point(6, 5));
	info_text2	= new Text("\n\neMail: robert.kausch@gmx.net", Point(227, 5));

	info->Add(info_text1);
	info->Add(info_text2);

	/* Configuring main layer:
	 */
	main_reg1 = new TabWidget(Point(7, 7), Size(396, 105));

	main_reg1->Add(display);
	main_reg1->Add(misc);
	main_reg1->Add(alarm);
	main_reg1->Add(info);

	main_button1 = new Button("OK", Point(175, 29), Size(0, 0));
	main_button1->onAction.Connect(&Options::OptionsOK, this);
	main_button1->SetOrientation(OR_LOWERRIGHT);

	main_button2 = new Button("Cancel", Point(87, 29), Size(0, 0));
	main_button2->onAction.Connect(&Options::OptionsCancel, this);
	main_button2->SetOrientation(OR_LOWERRIGHT);

	optionsdialog->Add(optitle);
	optionsdialog->Add(main_button1);
	optionsdialog->Add(main_button2);
	optionsdialog->Add(main_reg1);

	Add(optionsdialog);

	optionsdialog->SetFlags(optionsdialog->GetFlags() | WF_MODAL);
	optionsdialog->SetIcon(ImageLoader::Load("beat.pci:0"));
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %r9, %r14
movq %r8, %r15
movq %rcx, %r12
movq %rdx, %r13
movq %rsi, %rbp
movq %rdi, %rbx
callq 0x43b0
leaq 0x6228(%rip), %rax      # 0xbab0
movq %rax, (%rbx)
movq %rbp, 0x6d0(%rbx)
movq %r13, 0x6d8(%rbx)
movq %r12, 0x6e0(%rbx)
movq %r15, 0x6e8(%rbx)
movq %r14, 0x6f0(%rbx)
movaps 0x70(%rsp), %xmm0
movups %xmm0, 0x6f8(%rbx)
movaps 0x80(%rsp), %xmm0
movups %xmm0, 0x708(%rbx)
leaq 0x738(%rbx), %r14
movq %r14, %rdi
xorl %esi, %esi
callq 0x4270
leaq 0x758(%rbx), %rax
movq %rax, 0x28(%rsp)
movq $0x0, 0x760(%rbx)
leaq 0x6350(%rip), %rax      # 0xbc48
movq %rax, 0x758(%rbx)
xorps %xmm0, %xmm0
movups %xmm0, 0x768(%rbx)
movq 0x6d0(%rbx), %rax
movq 0x6d8(%rbx), %rcx
movl (%rax), %eax
movl %eax, 0x718(%rbx)
movb (%rcx), %al
movb %al, 0x71c(%rbx)
movq 0x6f8(%rbx), %rax
movl (%rax), %eax
movl %eax, 0x720(%rbx)
movq 0x700(%rbx), %rax
movl (%rax), %eax
movl %eax, 0x724(%rbx)
movq 0x6e0(%rbx), %rax
movb (%rax), %al
movb %al, 0x728(%rbx)
movq 0x6e8(%rbx), %rax
movl (%rax), %eax
movl %eax, 0x72c(%rbx)
movq 0x6f0(%rbx), %rax
movl (%rax), %eax
movl %eax, 0x730(%rbx)
movq 0x708(%rbx), %rsi
movq %r14, 0x30(%rsp)
movq %r14, %rdi
callq 0x42e0
movq 0x710(%rbx), %rax
movl (%rax), %eax
movl %eax, 0x750(%rbx)
movl $0x6d8, %edi            # imm = 0x6D8
callq 0x42d0
movq %rax, %r13
leaq 0x289b(%rip), %rsi      # 0x8244
movq %rsp, %rdi
callq 0x43f0
movabsq $0x6400000064, %rax     # imm = 0x6400000064
leaq 0x18(%rsp), %rdx
movq %rax, (%rdx)
movabsq $0xb7000001a3, %rax     # imm = 0xB7000001A3
leaq 0x20(%rsp), %rcx
movq %rax, (%rcx)
movq %rsp, %rsi
movq %r13, %rdi
xorl %r8d, %r8d
callq 0x41a0
movq %r13, 0x5e8(%rbx)
movq %rsp, %rdi
callq 0x4490
movl $0x5c8, %edi            # imm = 0x5C8
callq 0x42d0
movq %rax, %r13
movq %rax, %rdi
movl $0x4, %esi
callq 0x40f0
movq %r13, 0x610(%rbx)
movl $0x5b8, %edi            # imm = 0x5B8
callq 0x42d0
movq %rax, %r13
leaq 0x282f(%rip), %rsi      # 0x8256
movq %rsp, %rdi
callq 0x43f0
movq %rsp, %rsi
movq %r13, %rdi
callq 0x4150
movq %r13, 0x5f0(%rbx)
movq %rsp, %rdi
callq 0x4490
movl $0x5b8, %edi            # imm = 0x5B8
callq 0x42d0
movq %rax, %r13
leaq 0x2801(%rip), %rsi      # 0x825e
movq %rsp, %rdi
callq 0x43f0
movabsq $0xb00000007, %rax      # imm = 0xB00000007
leaq 0x18(%rsp), %rdx
movq %rax, (%rdx)
movabsq $0x41000000fa, %rax     # imm = 0x41000000FA
leaq 0x20(%rsp), %rcx
movq %rax, (%rcx)
movq %rsp, %rsi
movq %r13, %rdi
callq 0x41f0
movq %r13, 0x618(%rbx)
movq %rsp, %rdi
callq 0x4490
movl $0x5d0, %edi            # imm = 0x5D0
callq 0x42d0
movq %rax, %r13
leaq 0x27b3(%rip), %rsi      # 0x826a
movq %rsp, %rdi
callq 0x43f0
movabsq $0xd0000000a, %r14      # imm = 0xD0000000A
leaq 0x18(%rsp), %rdx
movq %r14, (%rdx)
leaq 0x20(%rsp), %rcx
movq $0x6e, (%rcx)
movq 0x6d0(%rbx), %r8
movq %rsp, %rsi
movq %r13, %rdi
xorl %r9d, %r9d
callq 0x4240
movq %r13, 0x628(%rbx)
movq %rsp, %rdi
callq 0x4490
movl $0x478, %edi            # imm = 0x478
addq 0x628(%rbx), %rdi
leaq 0xe9c(%rip), %rsi       # 0x69b0
xorl %edx, %edx
movq %rbx, %rcx
callq 0x6f94
movl $0x5d0, %edi            # imm = 0x5D0
callq 0x42d0
movq %rax, %r13
leaq 0x2747(%rip), %rsi      # 0x8279
movq %rsp, %rdi
callq 0x43f0
movabsq $0x260000000a, %rbp     # imm = 0x260000000A
leaq 0x18(%rsp), %rdx
movq %rbp, (%rdx)
leaq 0x20(%rsp), %rcx
movq $0x6e, (%rcx)
movq 0x6d0(%rbx), %r8
movq %rsp, %rsi
movq %r13, %rdi
movl $0x1, %r9d
callq 0x4240
movq %r13, 0x630(%rbx)
movq %rsp, %rdi
callq 0x4490
movl $0x478, %edi            # imm = 0x478
addq 0x630(%rbx), %rdi
leaq 0xf5a(%rip), %rsi       # 0x6aec
xorl %edx, %edx
movq %rbx, %rcx
callq 0x6f94
movq 0x6d0(%rbx), %rax
cmpl $0x0, (%rax)
je 0x5bf6
movl $0x5d8, %edi            # imm = 0x5D8
callq 0x42d0
movq %rax, %r13
leaq 0x26dc(%rip), %rsi      # 0x8298
movq %rsp, %rdi
callq 0x43f0
movabsq $0xd00000081, %rax      # imm = 0xD00000081
leaq 0x18(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x20(%rsp), %rcx
movq $0x6e, (%rcx)
movq 0x6d8(%rbx), %r8
movq %rsp, %rsi
movq %r13, %rdi
callq 0x40b0
jmp 0x5c42
movl $0x5d8, %edi            # imm = 0x5D8
callq 0x42d0
movq %rax, %r13
leaq 0x267e(%rip), %rsi      # 0x8288
movq %rsp, %rdi
callq 0x43f0
movabsq $0xd00000081, %rax      # imm = 0xD00000081
leaq 0x18(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x20(%rsp), %rcx
movq $0x6e, (%rcx)
movq 0x6d8(%rbx), %r8
movq %rsp, %rsi
movq %r13, %rdi
callq 0x40b0
movq %r13, 0x638(%rbx)
movq %rsp, %rdi
callq 0x4490
movl $0x478, %edi            # imm = 0x478
addq 0x638(%rbx), %rdi
movq 0x28(%rsp), %rsi
callq 0x7054
movq 0x618(%rbx), %rdi
movq 0x628(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x618(%rbx), %rdi
movq 0x630(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x618(%rbx), %rdi
movq 0x638(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movl $0x5b8, %edi            # imm = 0x5B8
callq 0x42d0
movq %rax, %r13
leaq 0x25ee(%rip), %rsi      # 0x82a5
movq %rsp, %rdi
callq 0x43f0
movabsq $0xb00000109, %rax      # imm = 0xB00000109
leaq 0x18(%rsp), %rdx
movq %rax, (%rdx)
movabsq $0x4100000079, %rax     # imm = 0x4100000079
leaq 0x20(%rsp), %rcx
movq %rax, (%rcx)
movq %rsp, %rsi
movq %r13, %rdi
callq 0x41f0
movq %r13, 0x620(%rbx)
movq %rsp, %rdi
callq 0x4490
movl $0x5d0, %edi            # imm = 0x5D0
callq 0x42d0
movq %rax, %r13
leaq 0x259d(%rip), %rsi      # 0x82ae
movq %rsp, %rdi
callq 0x43f0
leaq 0x18(%rsp), %rdx
movq %r14, (%rdx)
leaq 0x20(%rsp), %rcx
movq $0x64, (%rcx)
movq 0x700(%rbx), %r8
movq %rsp, %rsi
movq %r13, %rdi
xorl %r9d, %r9d
callq 0x4240
movq %r13, 0x640(%rbx)
movq %rsp, %rdi
callq 0x4490
movl $0x478, %edi            # imm = 0x478
addq 0x640(%rbx), %rdi
movq 0x28(%rsp), %rsi
callq 0x7054
movl $0x5d0, %edi            # imm = 0x5D0
callq 0x42d0
movq %rax, %r13
leaq 0x2537(%rip), %rsi      # 0x82b2
movq %rsp, %rdi
callq 0x43f0
leaq 0x18(%rsp), %rdx
movq %rbp, (%rdx)
leaq 0x20(%rsp), %rcx
movq $0x64, (%rcx)
movq 0x700(%rbx), %r8
movq %rsp, %rsi
movq %r13, %rdi
movl $0x1, %r9d
callq 0x4240
movq %r13, 0x648(%rbx)
movq %rsp, %rdi
callq 0x4490
movl $0x478, %edi            # imm = 0x478
addq 0x648(%rbx), %rdi
movq 0x28(%rsp), %rsi
callq 0x7054
movq 0x620(%rbx), %rdi
movq 0x640(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x620(%rbx), %rdi
movq 0x648(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x5f0(%rbx), %rdi
movq 0x618(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x5f0(%rbx), %rdi
movq 0x620(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movl $0x5b8, %edi            # imm = 0x5B8
callq 0x42d0
movq %rax, %r13
leaq 0x2485(%rip), %rsi      # 0x82bd
movq %rsp, %rdi
callq 0x43f0
movq %rsp, %rsi
movq %r13, %rdi
callq 0x4150
movq %r13, 0x5f8(%rbx)
movq %rsp, %rdi
callq 0x4490
movl $0x5d8, %edi            # imm = 0x5D8
callq 0x42d0
movq %rax, %r13
leaq 0x2455(%rip), %rsi      # 0x82c3
movq %rsp, %rdi
callq 0x43f0
movabsq $0x700000007, %r15      # imm = 0x700000007
leaq 0x18(%rsp), %rdx
movq %r15, (%rdx)
leaq 0x20(%rsp), %rcx
movq $0x64, (%rcx)
movq 0x6e0(%rbx), %r8
movq %rsp, %rsi
movq %r13, %rdi
callq 0x40b0
movq %r13, 0x650(%rbx)
movq %rsp, %rdi
callq 0x4490
movl $0x478, %edi            # imm = 0x478
addq 0x650(%rbx), %rdi
leaq 0xd44(%rip), %rsi       # 0x6c0c
xorl %edx, %edx
movq %rbx, %rcx
callq 0x6f94
movl $0x5c0, %edi            # imm = 0x5C0
callq 0x42d0
movq %rax, %r13
leaq 0x23ea(%rip), %rsi      # 0x82d0
movq %rsp, %rdi
callq 0x43f0
movabsq $0x2300000009, %rax     # imm = 0x2300000009
leaq 0x18(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x20(%rsp), %rcx
movq $0x0, (%rcx)
movq %rsp, %rsi
movq %r13, %rdi
callq 0x40c0
movq %r13, 0x658(%rbx)
movq %rsp, %rdi
callq 0x4490
movq 0x6d0(%rbx), %rax
cmpl $0x0, (%rax)
je 0x5f54
movq 0x6f0(%rbx), %rax
movl (%rax), %esi
movq %rsp, %rdi
callq 0x7434
movq 0x708(%rbx), %rdi
movq %rsp, %rsi
callq 0x42e0
jmp 0x5f75
movq 0x6e8(%rbx), %rax
movslq (%rax), %rsi
movq %rsp, %rdi
callq 0x4160
movq 0x708(%rbx), %rdi
movq %rsp, %rsi
callq 0x42e0
movq %rsp, %rdi
callq 0x4490
movl $0x630, %edi            # imm = 0x630
callq 0x42d0
movq %rax, %r13
movq 0x708(%rbx), %r12
movq 0x658(%rbx), %rdi
movq (%rdi), %rax
callq *0xf0(%rax)
addl $0x10, %eax
movq %rsp, %rdx
movl %eax, (%rdx)
movl $0x20, 0x4(%rdx)
leaq 0x18(%rsp), %rcx
movq $0x22, (%rcx)
movq %r13, %rdi
movq %r12, %rsi
movl $0x5, %r8d
callq 0x4380
movq %r13, 0x660(%rbx)
movq 0x6d0(%rbx), %rax
cmpl $0x0, (%rax)
je 0x6033
movl $0x5c0, %edi            # imm = 0x5C0
callq 0x42d0
movq %rax, %r13
leaq 0x22e5(%rip), %rsi      # 0x82d9
movq %rsp, %rdi
callq 0x43f0
movq 0x660(%rbx), %rax
movl 0xa8(%rax), %eax
addl $0x29, %eax
leaq 0x18(%rsp), %rdx
movl %eax, (%rdx)
movl $0x23, 0x4(%rdx)
leaq 0x20(%rsp), %rcx
movq $0x0, (%rcx)
movq %rsp, %rsi
movq %r13, %rdi
callq 0x40c0
jmp 0x6084
movl $0x5c0, %edi            # imm = 0x5C0
callq 0x42d0
movq %rax, %r13
leaq 0x2223(%rip), %rsi      # 0x826a
movq %rsp, %rdi
callq 0x43f0
movq 0x660(%rbx), %rax
movl 0xa8(%rax), %eax
addl $0x29, %eax
leaq 0x18(%rsp), %rdx
movl %eax, (%rdx)
movl $0x23, 0x4(%rdx)
leaq 0x20(%rsp), %rcx
movq $0x0, (%rcx)
movq %rsp, %rsi
movq %r13, %rdi
callq 0x40c0
movq %r13, 0x668(%rbx)
movq %rsp, %rdi
callq 0x4490
movl $0x5d0, %edi            # imm = 0x5D0
callq 0x42d0
movq %rax, %r13
leaq 0x2240(%rip), %rsi      # 0x82e7
movq %rsp, %rdi
callq 0x43f0
movabsq $0x15000000b4, %rax     # imm = 0x15000000B4
leaq 0x18(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x20(%rsp), %rcx
movq $0x0, (%rcx)
movq 0x710(%rbx), %r8
movq %rsp, %rsi
movq %r13, %rdi
xorl %r9d, %r9d
callq 0x4240
movq %r13, 0x670(%rbx)
movq %rsp, %rdi
callq 0x4490
movl $0x5d0, %edi            # imm = 0x5D0
callq 0x42d0
movq %rax, %r13
leaq 0x21e7(%rip), %rsi      # 0x82ec
movq %rsp, %rdi
callq 0x43f0
movabsq $0x2e000000b4, %rax     # imm = 0x2E000000B4
leaq 0x18(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x20(%rsp), %rcx
movq $0x0, (%rcx)
movq 0x710(%rbx), %r8
movq %rsp, %rsi
movq %r13, %rdi
movl $0x1, %r9d
callq 0x4240
movq %r13, 0x678(%rbx)
movq %rsp, %rdi
callq 0x4490
movq 0x5f8(%rbx), %rdi
movq 0x650(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x5f8(%rbx), %rdi
movq 0x658(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x5f8(%rbx), %rdi
movq 0x668(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x5f8(%rbx), %rdi
movq 0x660(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x5f8(%rbx), %rdi
movq 0x670(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x5f8(%rbx), %rdi
movq 0x678(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x660(%rbx), %rdi
movq 0x6e0(%rbx), %rax
movzbl (%rax), %r12d
movq (%rdi), %rax
xorl $0x1, %r12d
callq *0x68(%rax,%r12,8)
leaq 0x68(,%r12,8), %r12
movq 0x670(%rbx), %rdi
movq (%rdi), %rax
callq *(%rax,%r12)
movq 0x678(%rbx), %rdi
movq (%rdi), %rax
callq *(%rax,%r12)
movl $0x5b8, %edi            # imm = 0x5B8
callq 0x42d0
movq %rax, %r13
leaq 0x20d6(%rip), %rsi      # 0x82f6
movq %rsp, %rdi
callq 0x43f0
movq %rsp, %rsi
movq %r13, %rdi
callq 0x4150
movq %r13, 0x600(%rbx)
movq %rsp, %rdi
callq 0x4490
movl $0x5b8, %edi            # imm = 0x5B8
callq 0x42d0
movq %rax, %r13
leaq 0x20a5(%rip), %rsi      # 0x82fb
movq %rsp, %rdi
callq 0x43f0
leaq 0x18(%rsp), %rdx
movabsq $0xb00000007, %rax      # imm = 0xB00000007
movq %rax, (%rdx)
movabsq $0x410000017b, %rax     # imm = 0x410000017B
leaq 0x20(%rsp), %rcx
movq %rax, (%rcx)
movq %rsp, %rsi
movq %r13, %rdi
callq 0x41f0
movq %r13, 0x680(%rbx)
movq %rsp, %rdi
callq 0x4490
movq 0x6d0(%rbx), %rax
cmpl $0x0, (%rax)
je 0x62ef
movl $0x5d0, %edi            # imm = 0x5D0
callq 0x42d0
movq %rax, %r13
leaq 0x2069(%rip), %rsi      # 0x8325
movq %rsp, %rdi
callq 0x43f0
leaq 0x18(%rsp), %rdx
movq %r14, (%rdx)
leaq 0x20(%rsp), %rcx
movq $0xae, (%rcx)
movq 0x6f8(%rbx), %r8
movq %rsp, %rsi
movq %r13, %rdi
xorl %r9d, %r9d
callq 0x4240
jmp 0x6334
movl $0x5d0, %edi            # imm = 0x5D0
callq 0x42d0
movq %rax, %r13
leaq 0x200d(%rip), %rsi      # 0x8310
movq %rsp, %rdi
callq 0x43f0
leaq 0x18(%rsp), %rdx
movq %r14, (%rdx)
leaq 0x20(%rsp), %rcx
movq $0xae, (%rcx)
movq 0x6f8(%rbx), %r8
movq %rsp, %rsi
movq %r13, %rdi
xorl %r9d, %r9d
callq 0x4240
movq %r13, 0x688(%rbx)
movq %rsp, %rdi
callq 0x4490
movl $0x5d0, %edi            # imm = 0x5D0
callq 0x42d0
movq %rax, %r13
leaq 0x1fe0(%rip), %rsi      # 0x8337
movq %rsp, %rdi
callq 0x43f0
leaq 0x18(%rsp), %rdx
movq %rbp, (%rdx)
leaq 0x20(%rsp), %rcx
movq $0xae, (%rcx)
movq 0x6f8(%rbx), %r8
movq %rsp, %rsi
movq %r13, %rdi
movl $0x1, %r9d
callq 0x4240
movq %r13, 0x690(%rbx)
movq %rsp, %rdi
callq 0x4490
movl $0x5d0, %edi            # imm = 0x5D0
callq 0x42d0
movq %rax, %r13
leaq 0x1f9c(%rip), %rsi      # 0x834a
movq %rsp, %rdi
callq 0x43f0
movabsq $0xd000000c2, %rax      # imm = 0xD000000C2
leaq 0x18(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x20(%rsp), %rcx
movq $0xae, (%rcx)
movq 0x6f8(%rbx), %r8
movq %rsp, %rsi
movq %r13, %rdi
movl $0x2, %r9d
callq 0x4240
movq %r13, 0x698(%rbx)
movq %rsp, %rdi
callq 0x4490
movl $0x5d0, %edi            # imm = 0x5D0
callq 0x42d0
movq %rax, %r13
leaq 0x1f4b(%rip), %rsi      # 0x835a
movq %rsp, %rdi
callq 0x43f0
movabsq $0x26000000c2, %rax     # imm = 0x26000000C2
leaq 0x18(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x20(%rsp), %rcx
movq $0xae, (%rcx)
movq 0x6f8(%rbx), %r8
movq %rsp, %rsi
movq %r13, %rdi
movl $0x3, %r9d
callq 0x4240
movq %r13, 0x6a0(%rbx)
movq %rsp, %rdi
callq 0x4490
movq 0x680(%rbx), %rdi
movq 0x688(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x680(%rbx), %rdi
movq 0x690(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x680(%rbx), %rdi
movq 0x698(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x680(%rbx), %rdi
movq 0x6a0(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x600(%rbx), %rdi
movq 0x680(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movl $0x5b8, %edi            # imm = 0x5B8
callq 0x42d0
movq %rax, %r13
leaq 0x1bf1(%rip), %rsi      # 0x80c5
movq %rsp, %rdi
callq 0x43f0
movq %rsp, %rsi
movq %r13, %rdi
callq 0x4150
movq %r13, 0x608(%rbx)
movq %rsp, %rdi
callq 0x4490
movl $0x5c0, %edi            # imm = 0x5C0
callq 0x42d0
movq %rax, %r13
leaq 0x1e6b(%rip), %rsi      # 0x8375
movq %rsp, %rdi
callq 0x43f0
movabsq $0x500000006, %rax      # imm = 0x500000006
leaq 0x18(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x20(%rsp), %rcx
movq $0x0, (%rcx)
movq %rsp, %rsi
movq %r13, %rdi
callq 0x40c0
movq %r13, 0x6a8(%rbx)
movq %rsp, %rdi
callq 0x4490
movl $0x5c0, %edi            # imm = 0x5C0
callq 0x42d0
movq %rax, %r13
leaq 0x1bcf(%rip), %rsi      # 0x812d
movq %rsp, %rdi
callq 0x43f0
movabsq $0x5000000e3, %rax      # imm = 0x5000000E3
leaq 0x18(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x20(%rsp), %rcx
movq $0x0, (%rcx)
movq %rsp, %rsi
movq %r13, %rdi
callq 0x40c0
movq %r13, 0x6b0(%rbx)
movq %rsp, %rdi
callq 0x4490
movq 0x608(%rbx), %rdi
movq 0x6a8(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x608(%rbx), %rdi
movq 0x6b0(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movl $0x638, %edi            # imm = 0x638
callq 0x42d0
movq %rax, %r13
movq %rsp, %rsi
movq %r15, (%rsi)
movabsq $0x690000018c, %rax     # imm = 0x690000018C
leaq 0x18(%rsp), %rdx
movq %rax, (%rdx)
movq %r13, %rdi
callq 0x42c0
movq %r13, 0x6c8(%rbx)
movq 0x5f0(%rbx), %rsi
movq (%r13), %rax
movq %r13, %rdi
callq *0x30(%rax)
movq 0x600(%rbx), %rsi
movq 0x6c8(%rbx), %rdi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x5f8(%rbx), %rsi
movq 0x6c8(%rbx), %rdi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x608(%rbx), %rsi
movq 0x6c8(%rbx), %rdi
movq (%rdi), %rax
callq *0x30(%rax)
movl $0x5c8, %edi            # imm = 0x5C8
callq 0x42d0
movq %rax, %r13
leaq 0x1d73(%rip), %rsi      # 0x83ce
movq %rsp, %rdi
callq 0x43f0
movabsq $0x1d000000af, %rax     # imm = 0x1D000000AF
leaq 0x18(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x20(%rsp), %rcx
movq $0x0, (%rcx)
movq %rsp, %rsi
movq %r13, %rdi
callq 0x41c0
movq %r13, 0x6b8(%rbx)
movq %rsp, %rdi
callq 0x4490
movl $0x478, %edi            # imm = 0x478
addq 0x6b8(%rbx), %rdi
leaq 0x5aa(%rip), %rsi       # 0x6c58
xorl %edx, %edx
movq %rbx, %rcx
callq 0x6f94
movq 0x6b8(%rbx), %rdi
movq (%rdi), %rax
movl $0x28, %esi
callq *0x120(%rax)
movl $0x5c8, %edi            # imm = 0x5C8
callq 0x42d0
movq %rax, %r13
leaq 0x1cf0(%rip), %rsi      # 0x83d1
movq %rsp, %rdi
callq 0x43f0
movabsq $0x1d00000057, %rax     # imm = 0x1D00000057
leaq 0x18(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x20(%rsp), %rcx
movq $0x0, (%rcx)
movq %rsp, %rsi
movq %r13, %rdi
callq 0x41c0
movq %r13, 0x6c0(%rbx)
movq %rsp, %rdi
callq 0x4490
movl $0x478, %edi            # imm = 0x478
addq 0x6c0(%rbx), %rdi
leaq 0x5ec(%rip), %rsi       # 0x6d20
xorl %edx, %edx
movq %rbx, %rcx
callq 0x6f94
movq 0x6c0(%rbx), %rdi
movq (%rdi), %rax
movl $0x28, %esi
callq *0x120(%rax)
movq 0x5e8(%rbx), %rdi
movq 0x610(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x5e8(%rbx), %rdi
movq 0x6b8(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x5e8(%rbx), %rdi
movq 0x6c0(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x5e8(%rbx), %rdi
movq 0x6c8(%rbx), %rsi
movq (%rdi), %rax
callq *0x30(%rax)
movq 0x5e8(%rbx), %rsi
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x30(%rax)
movq 0x5e8(%rbx), %r12
orl $0x1, 0x30(%r12)
leaq 0x1903(%rip), %rsi      # 0x80ca
movq %rsp, %rdi
callq 0x43f0
leaq 0x18(%rsp), %rdi
movq %rsp, %rsi
callq 0x4410
leaq 0x18(%rsp), %rsi
movq %r12, %rdi
callq 0x4250
leaq 0x18(%rsp), %rdi
callq 0x4130
movq %rsp, %rdi
callq 0x4490
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x6929
jmp 0x6936
jmp 0x68e7
jmp 0x68f4
jmp 0x6863
jmp 0x6989
jmp 0x68fe
jmp 0x690b
jmp 0x6929
jmp 0x6936
jmp 0x68e7
jmp 0x68f4
jmp 0x6863
jmp 0x6989
jmp 0x68fe
jmp 0x690b
movq %rax, %r12
leaq 0x18(%rsp), %rdi
callq 0x4130
jmp 0x6866
movq %rax, %r12
movq %rsp, %rdi
callq 0x4490
jmp 0x698c
jmp 0x6989
jmp 0x687f
jmp 0x695b
movq %rax, %r12
movq %rsp, %rdi
callq 0x4490
jmp 0x695e
jmp 0x695b
movq %rax, %r12
movl $0x638, %esi            # imm = 0x638
jmp 0x697a
jmp 0x68e7
jmp 0x68f4
jmp 0x68e7
jmp 0x68f4
jmp 0x6944
jmp 0x6951
jmp 0x6929
jmp 0x6936
jmp 0x6929
jmp 0x6936
jmp 0x6929
jmp 0x6936
jmp 0x6944
jmp 0x6951
jmp 0x6944
jmp 0x6951
jmp 0x6929
jmp 0x6936
jmp 0x6929
jmp 0x6936
jmp 0x68da
movq %rax, %r12
movl $0x630, %esi            # imm = 0x630
jmp 0x697a
movq %rax, %r12
movq %rsp, %rdi
callq 0x4490
jmp 0x68f7
movq %rax, %r12
movl $0x5c0, %esi            # imm = 0x5C0
jmp 0x697a
movq %rax, %r12
movq %rsp, %rdi
callq 0x4490
jmp 0x690e
movq %rax, %r12
movl $0x5d8, %esi            # imm = 0x5D8
jmp 0x697a
jmp 0x6944
jmp 0x6951
jmp 0x6929
jmp 0x6936
jmp 0x6929
jmp 0x6936
jmp 0x6944
jmp 0x6951
jmp 0x6929
jmp 0x6936
movq %rax, %r12
movq %rsp, %rdi
callq 0x4490
jmp 0x6939
movq %rax, %r12
movl $0x5d0, %esi            # imm = 0x5D0
jmp 0x697a
jmp 0x6944
jmp 0x6951
movq %rax, %r12
movq %rsp, %rdi
callq 0x4490
jmp 0x6954
movq %rax, %r12
movl $0x5b8, %esi            # imm = 0x5B8
jmp 0x697a
movq %rax, %r12
movl $0x5c8, %esi            # imm = 0x5C8
jmp 0x697a
movq %rax, %r12
movq %rsp, %rdi
callq 0x4490
jmp 0x6975
movq %rax, %r12
movl $0x6d8, %esi            # imm = 0x6D8
movq %r13, %rdi
callq 0x4050
jmp 0x698c
movq %rax, %r12
jmp 0x69a0
movq %rax, %r12
movq 0x28(%rsp), %rdi
callq 0x7106
movq 0x30(%rsp), %rdi
callq 0x4490
movq %rbx, %rdi
callq 0x4080
movq %r12, %rdi
callq 0x4190