// File: /workspace/github_c_makefile_star2_O1/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 0x6174(%rip), %rax      # 0xba90
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 0x629c(%rip), %rax      # 0xbc28
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 0x27cf(%rip), %rsi      # 0x820c
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 0x2763(%rip), %rsi      # 0x821e
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 0x2735(%rip), %rsi      # 0x8226
movq %rsp, %rdi
callq 0x43f0
movabsq $0xb00000007, %r15      # imm = 0xB00000007
leaq 0x18(%rsp), %rdx
movq %r15, (%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 0x26e7(%rip), %rsi      # 0x8232
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 0xe62(%rip), %rsi       # 0x6a0a
xorl %edx, %edx
movq %rbx, %rcx
callq 0x6fee
movl $0x5d0, %edi            # imm = 0x5D0
callq 0x42d0
movq %rax, %r13
leaq 0x267b(%rip), %rsi      # 0x8241
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 0xf20(%rip), %rsi       # 0x6b46
xorl %edx, %edx
movq %rbx, %rcx
callq 0x6fee
movq 0x6d0(%rbx), %rax
cmpl $0x0, (%rax)
je 0x5c8a
movl $0x5d8, %edi            # imm = 0x5D8
callq 0x42d0
movq %rax, %r13
leaq 0x2610(%rip), %rsi      # 0x8260
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 0x5cd6
movl $0x5d8, %edi            # imm = 0x5D8
callq 0x42d0
movq %rax, %r13
leaq 0x25b2(%rip), %rsi      # 0x8250
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 0x70ac
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 0x2522(%rip), %rsi      # 0x826d
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 0x24d1(%rip), %rsi      # 0x8276
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 0x70ac
movl $0x5d0, %edi            # imm = 0x5D0
callq 0x42d0
movq %rax, %r13
leaq 0x246b(%rip), %rsi      # 0x827a
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 0x70ac
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 0x23b9(%rip), %rsi      # 0x8285
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 0x2389(%rip), %rsi      # 0x828b
movq %rsp, %rdi
callq 0x43f0
movabsq $0x700000007, %rax      # imm = 0x700000007
leaq 0x18(%rsp), %rdx
movq %rax, (%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 0xd0a(%rip), %rsi       # 0x6c66
xorl %edx, %edx
movq %rbx, %rcx
callq 0x6fee
movl $0x5c0, %edi            # imm = 0x5C0
callq 0x42d0
movq %rax, %r13
leaq 0x231e(%rip), %rsi      # 0x8298
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 0x5fe8
movq 0x6f0(%rbx), %rax
movl (%rax), %esi
movq %rsp, %rdi
callq 0x7494
movq 0x708(%rbx), %rdi
movq %rsp, %rsi
callq 0x42e0
jmp 0x6009
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 0x60c7
movl $0x5c0, %edi            # imm = 0x5C0
callq 0x42d0
movq %rax, %r13
leaq 0x2219(%rip), %rsi      # 0x82a1
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 0x6118
movl $0x5c0, %edi            # imm = 0x5C0
callq 0x42d0
movq %rax, %r13
leaq 0x2157(%rip), %rsi      # 0x8232
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 0x2174(%rip), %rsi      # 0x82af
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 0x211b(%rip), %rsi      # 0x82b4
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 %rbx, %rdi
callq 0x6c66
movl $0x5b8, %edi            # imm = 0x5B8
callq 0x42d0
movq %rax, %r13
leaq 0x2044(%rip), %rsi      # 0x82be
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 0x2013(%rip), %rsi      # 0x82c3
movq %rsp, %rdi
callq 0x43f0
leaq 0x18(%rsp), %rdx
movq %r15, (%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 0x633f
movl $0x5d0, %edi            # imm = 0x5D0
callq 0x42d0
movq %rax, %r13
leaq 0x1fe1(%rip), %rsi      # 0x82ed
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 0x6384
movl $0x5d0, %edi            # imm = 0x5D0
callq 0x42d0
movq %rax, %r13
leaq 0x1f85(%rip), %rsi      # 0x82d8
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 0x1f58(%rip), %rsi      # 0x82ff
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 0x1f14(%rip), %rsi      # 0x8312
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 0x1ec3(%rip), %rsi      # 0x8322
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 0x1b69(%rip), %rsi      # 0x808d
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 0x1de3(%rip), %rsi      # 0x833d
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 0x1b47(%rip), %rsi      # 0x80f5
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
movabsq $0x700000007, %rax      # imm = 0x700000007
movq %rax, (%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 0x1ce1(%rip), %rsi      # 0x8396
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       # 0x6cb2
xorl %edx, %edx
movq %rbx, %rcx
callq 0x6fee
movq 0x6b8(%rbx), %rdi
movq (%rdi), %rax
movl $0x28, %esi
callq *0x120(%rax)
movl $0x5c8, %edi            # imm = 0x5C8
callq 0x42d0
movq %rax, %r13
leaq 0x1c5e(%rip), %rsi      # 0x8399
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       # 0x6d7a
xorl %edx, %edx
movq %rbx, %rcx
callq 0x6fee
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 0x1871(%rip), %rsi      # 0x8092
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 0x6983
jmp 0x6990
jmp 0x6941
jmp 0x694e
jmp 0x68bd
jmp 0x69e3
jmp 0x6958
jmp 0x6965
jmp 0x6983
jmp 0x6990
jmp 0x6941
jmp 0x694e
jmp 0x68bd
jmp 0x69e3
jmp 0x6958
jmp 0x6965
movq %rax, %r12
leaq 0x18(%rsp), %rdi
callq 0x4130
jmp 0x68c0
movq %rax, %r12
movq %rsp, %rdi
callq 0x4490
jmp 0x69e6
jmp 0x69e3
jmp 0x68d9
jmp 0x69b5
movq %rax, %r12
movq %rsp, %rdi
callq 0x4490
jmp 0x69b8
jmp 0x69b5
movq %rax, %r12
movl $0x638, %esi            # imm = 0x638
jmp 0x69d4
jmp 0x6941
jmp 0x694e
jmp 0x6941
jmp 0x694e
jmp 0x699e
jmp 0x69ab
jmp 0x6983
jmp 0x6990
jmp 0x6983
jmp 0x6990
jmp 0x6983
jmp 0x6990
jmp 0x699e
jmp 0x69ab
jmp 0x699e
jmp 0x69ab
jmp 0x6983
jmp 0x6990
jmp 0x6983
jmp 0x6990
jmp 0x6934
movq %rax, %r12
movl $0x630, %esi            # imm = 0x630
jmp 0x69d4
movq %rax, %r12
movq %rsp, %rdi
callq 0x4490
jmp 0x6951
movq %rax, %r12
movl $0x5c0, %esi            # imm = 0x5C0
jmp 0x69d4
movq %rax, %r12
movq %rsp, %rdi
callq 0x4490
jmp 0x6968
movq %rax, %r12
movl $0x5d8, %esi            # imm = 0x5D8
jmp 0x69d4
jmp 0x699e
jmp 0x69ab
jmp 0x6983
jmp 0x6990
jmp 0x6983
jmp 0x6990
jmp 0x699e
jmp 0x69ab
jmp 0x6983
jmp 0x6990
movq %rax, %r12
movq %rsp, %rdi
callq 0x4490
jmp 0x6993
movq %rax, %r12
movl $0x5d0, %esi            # imm = 0x5D0
jmp 0x69d4
jmp 0x699e
jmp 0x69ab
movq %rax, %r12
movq %rsp, %rdi
callq 0x4490
jmp 0x69ae
movq %rax, %r12
movl $0x5b8, %esi            # imm = 0x5B8
jmp 0x69d4
movq %rax, %r12
movl $0x5c8, %esi            # imm = 0x5C8
jmp 0x69d4
movq %rax, %r12
movq %rsp, %rdi
callq 0x4490
jmp 0x69cf
movq %rax, %r12
movl $0x6d8, %esi            # imm = 0x6D8
movq %r13, %rdi
callq 0x4050
jmp 0x69e6
movq %rax, %r12
jmp 0x69fa
movq %rax, %r12
movq 0x28(%rsp), %rdi
callq 0x715c
movq 0x30(%rsp), %rdi
callq 0x4490
movq %rbx, %rdi
callq 0x4080
movq %r12, %rdi
callq 0x4190