// File: iamlouk[P]asbi/src/tests.cc
// Function: tests::run()
void run(){

		test("(true & true) & !((false & true) | (true  & false) | (false & false))", Value::boolean(true));
		test("(true | true) & (false | true) & (true | false) & !(false | false)", Value::boolean(true));
		test("3 - 2 == 1 & 6 / 2 == 3 & 1 + 2 == 3 & 3.14 > 0.1 + 2 & 10 < 100", Value::boolean(true));
		test("(if true { 1 } else { 2 }) == 1 & (if false { 2 } else {}) == nil", Value::boolean(true));
		test("if false { 1 } else if true { true & false; 3.14 + 42; 2 } else { 3 }", Value::number(2));
		test(":hello_world != \"Hallo Welt!\" & (\"hello\" + \"world\") == \"helloworld\"", Value::boolean(true));
		test("a := 6; a = 42; a = a == 42 & { b := 12; b } == 12; a & { a == true }", Value::boolean(true));
		test("sum := 0; for i := 1; i < 6; i := i + 1 { sum = sum + i; }; sum", Value::number(15));
		test("add := (a, b) -> a + b, sub := (a, b) -> a - b; add(28, 14) == sub(45, 3)", Value::boolean(true));
		test("fib := (n) -> if n < 2 { 1 } else { fib(n - 1) + fib(n - 2) }; fib(5) == fib(4) + fib(3)", Value::boolean(true));
		test("fibGen := ()->{a := 1, b := 1; ()->{tmp := a; a = a + b; b = tmp}}; fibs := fibGen(); fibs()+fibs()==fibs()", Value::boolean(true));
		test("arr := [\"hello\", :symbol, 3.14, 42], map := [1234 ~ \"value\", 42 ~ [,], :key ~ 42]; (arr.3 + map.:key) / 2", Value::number(42));
		test("arr := [:key ~ \"value\"]; arr.:key == \"value\" & { arr.:key = 42; arr.:key == 42 }", Value::boolean(true));
		test("(\"hallo\" + (\" \" + \"welt\")) == \"hallo welt\" & :test == { a := :test; a }", Value::boolean(true));
		test("fibs := [1, 1], fib := (n) -> if fibs.n != nil { fibs.n } else { fibs.n = fib(n - 1) + fib(n - 2) }; fib(5)", Value::number(8));
		test("if nil == {} {} else { [:would_fail] := [:no_match] }", Value::nil());
		test("[a, :test, b, 123] := ((x) -> [x, :test, :b, 123])(42); a == 42 & b == :b", Value::boolean(true));
		test("[1, 4, 9, 16, 25] := map([1, 2, 3, 4, 5], (_, x) -> x * x); nil", Value::nil());
		test("reduce([1, 2, 3, 4, 5], 0, (sum, _, x) -> sum + x)", Value::number(15));

	}

// Assembly:
subq $0x608, %rsp            # imm = 0x608
leaq 0x5e7(%rsp), %rdi
movq %rdi, 0x1c8(%rsp)
callq 0x67b0
movq 0x1c8(%rsp), %rdx
leaq 0x37c6(%rip), %rsi      # 0x398e1
leaq 0x5e8(%rsp), %rdi
callq 0x7c20
jmp 0x3612a
movl $0x1, %edi
callq 0x1d0d0
movq %rdx, 0x1b8(%rsp)
movl %eax, 0x1c4(%rsp)
jmp 0x36145
movq 0x1b8(%rsp), %rax
movl 0x1c4(%rsp), %ecx
movl %ecx, 0x5c0(%rsp)
movq %rax, 0x5c8(%rsp)
movl 0x5c0(%rsp), %esi
movq 0x5c8(%rsp), %rdx
leaq 0x5e8(%rsp), %rdi
callq 0x35fa0
jmp 0x36181
leaq 0x5e8(%rsp), %rdi
callq 0x6290
leaq 0x5e7(%rsp), %rdi
callq 0x64c0
leaq 0x59f(%rsp), %rdi
movq %rdi, 0x1b0(%rsp)
callq 0x67b0
movq 0x1b0(%rsp), %rdx
leaq 0x3768(%rip), %rsi      # 0x39927
leaq 0x5a0(%rsp), %rdi
callq 0x7c20
jmp 0x361ce
movl $0x1, %edi
callq 0x1d0d0
movq %rdx, 0x1a0(%rsp)
movl %eax, 0x1ac(%rsp)
jmp 0x361e9
movq 0x1a0(%rsp), %rax
movl 0x1ac(%rsp), %ecx
movl %ecx, 0x588(%rsp)
movq %rax, 0x590(%rsp)
movl 0x588(%rsp), %esi
movq 0x590(%rsp), %rdx
leaq 0x5a0(%rsp), %rdi
callq 0x35fa0
jmp 0x36225
leaq 0x5a0(%rsp), %rdi
callq 0x6290
leaq 0x59f(%rsp), %rdi
callq 0x64c0
leaq 0x567(%rsp), %rdi
movq %rdi, 0x198(%rsp)
callq 0x67b0
movq 0x198(%rsp), %rdx
leaq 0x3707(%rip), %rsi      # 0x3996a
leaq 0x568(%rsp), %rdi
callq 0x7c20
jmp 0x36272
movl $0x1, %edi
callq 0x1d0d0
movq %rdx, 0x188(%rsp)
movl %eax, 0x194(%rsp)
jmp 0x3628d
movq 0x188(%rsp), %rax
movl 0x194(%rsp), %ecx
movl %ecx, 0x550(%rsp)
movq %rax, 0x558(%rsp)
movl 0x550(%rsp), %esi
movq 0x558(%rsp), %rdx
leaq 0x568(%rsp), %rdi
callq 0x35fa0
jmp 0x362c9
leaq 0x568(%rsp), %rdi
callq 0x6290
leaq 0x567(%rsp), %rdi
callq 0x64c0
leaq 0x52f(%rsp), %rdi
movq %rdi, 0x180(%rsp)
callq 0x67b0
movq 0x180(%rsp), %rdx
leaq 0x36a4(%rip), %rsi      # 0x399ab
leaq 0x530(%rsp), %rdi
callq 0x7c20
jmp 0x36316
movl $0x1, %edi
callq 0x1d0d0
movq %rdx, 0x170(%rsp)
movl %eax, 0x17c(%rsp)
jmp 0x36331
movq 0x170(%rsp), %rax
movl 0x17c(%rsp), %ecx
movl %ecx, 0x518(%rsp)
movq %rax, 0x520(%rsp)
movl 0x518(%rsp), %esi
movq 0x520(%rsp), %rdx
leaq 0x530(%rsp), %rdi
callq 0x35fa0
jmp 0x3636d
leaq 0x530(%rsp), %rdi
callq 0x6290
leaq 0x52f(%rsp), %rdi
callq 0x64c0
leaq 0x4f7(%rsp), %rdi
movq %rdi, 0x168(%rsp)
callq 0x67b0
movq 0x168(%rsp), %rdx
leaq 0x3642(%rip), %rsi      # 0x399ed
leaq 0x4f8(%rsp), %rdi
callq 0x7c20
jmp 0x363ba
movsd 0x34a6(%rip), %xmm0     # 0x39868
callq 0x1d090
movq %rdx, 0x158(%rsp)
movl %eax, 0x164(%rsp)
jmp 0x363d8
movq 0x158(%rsp), %rax
movl 0x164(%rsp), %ecx
movl %ecx, 0x4e0(%rsp)
movq %rax, 0x4e8(%rsp)
movl 0x4e0(%rsp), %esi
movq 0x4e8(%rsp), %rdx
leaq 0x4f8(%rsp), %rdi
callq 0x35fa0
jmp 0x36414
leaq 0x4f8(%rsp), %rdi
callq 0x6290
leaq 0x4f7(%rsp), %rdi
callq 0x64c0
leaq 0x4bf(%rsp), %rdi
movq %rdi, 0x150(%rsp)
callq 0x67b0
movq 0x150(%rsp), %rdx
leaq 0x35e1(%rip), %rsi      # 0x39a33
leaq 0x4c0(%rsp), %rdi
callq 0x7c20
jmp 0x36461
movl $0x1, %edi
callq 0x1d0d0
movq %rdx, 0x140(%rsp)
movl %eax, 0x14c(%rsp)
jmp 0x3647c
movq 0x140(%rsp), %rax
movl 0x14c(%rsp), %ecx
movl %ecx, 0x4a8(%rsp)
movq %rax, 0x4b0(%rsp)
movl 0x4a8(%rsp), %esi
movq 0x4b0(%rsp), %rdx
leaq 0x4c0(%rsp), %rdi
callq 0x35fa0
jmp 0x364b8
leaq 0x4c0(%rsp), %rdi
callq 0x6290
leaq 0x4bf(%rsp), %rdi
callq 0x64c0
leaq 0x487(%rsp), %rdi
movq %rdi, 0x138(%rsp)
callq 0x67b0
movq 0x138(%rsp), %rdx
leaq 0x3581(%rip), %rsi      # 0x39a77
leaq 0x488(%rsp), %rdi
callq 0x7c20
jmp 0x36505
movl $0x1, %edi
callq 0x1d0d0
movq %rdx, 0x128(%rsp)
movl %eax, 0x134(%rsp)
jmp 0x36520
movq 0x128(%rsp), %rax
movl 0x134(%rsp), %ecx
movl %ecx, 0x470(%rsp)
movq %rax, 0x478(%rsp)
movl 0x470(%rsp), %esi
movq 0x478(%rsp), %rdx
leaq 0x488(%rsp), %rdi
callq 0x35fa0
jmp 0x3655c
leaq 0x488(%rsp), %rdi
callq 0x6290
leaq 0x487(%rsp), %rdi
callq 0x64c0
leaq 0x44f(%rsp), %rdi
movq %rdi, 0x120(%rsp)
callq 0x67b0
movq 0x120(%rsp), %rdx
leaq 0x3523(%rip), %rsi      # 0x39abd
leaq 0x450(%rsp), %rdi
callq 0x7c20
jmp 0x365a9
movsd 0x32bf(%rip), %xmm0     # 0x39870
callq 0x1d090
movq %rdx, 0x110(%rsp)
movl %eax, 0x11c(%rsp)
jmp 0x365c7
movq 0x110(%rsp), %rax
movl 0x11c(%rsp), %ecx
movl %ecx, 0x438(%rsp)
movq %rax, 0x440(%rsp)
movl 0x438(%rsp), %esi
movq 0x440(%rsp), %rdx
leaq 0x450(%rsp), %rdi
callq 0x35fa0
jmp 0x36603
leaq 0x450(%rsp), %rdi
callq 0x6290
leaq 0x44f(%rsp), %rdi
callq 0x64c0
leaq 0x417(%rsp), %rdi
movq %rdi, 0x108(%rsp)
callq 0x67b0
movq 0x108(%rsp), %rdx
leaq 0x34bc(%rip), %rsi      # 0x39afd
leaq 0x418(%rsp), %rdi
callq 0x7c20
jmp 0x36650
movl $0x1, %edi
callq 0x1d0d0
movq %rdx, 0xf8(%rsp)
movl %eax, 0x104(%rsp)
jmp 0x3666b
movq 0xf8(%rsp), %rax
movl 0x104(%rsp), %ecx
movl %ecx, 0x400(%rsp)
movq %rax, 0x408(%rsp)
movl 0x400(%rsp), %esi
movq 0x408(%rsp), %rdx
leaq 0x418(%rsp), %rdi
callq 0x35fa0
jmp 0x366a7
leaq 0x418(%rsp), %rdi
callq 0x6290
leaq 0x417(%rsp), %rdi
callq 0x64c0
leaq 0x3df(%rsp), %rdi
movq %rdi, 0xf0(%rsp)
callq 0x67b0
movq 0xf0(%rsp), %rdx
leaq 0x3462(%rip), %rsi      # 0x39b47
leaq 0x3e0(%rsp), %rdi
callq 0x7c20
jmp 0x366f4
movl $0x1, %edi
callq 0x1d0d0
movq %rdx, 0xe0(%rsp)
movl %eax, 0xec(%rsp)
jmp 0x3670f
movq 0xe0(%rsp), %rax
movl 0xec(%rsp), %ecx
movl %ecx, 0x3c8(%rsp)
movq %rax, 0x3d0(%rsp)
movl 0x3c8(%rsp), %esi
movq 0x3d0(%rsp), %rdx
leaq 0x3e0(%rsp), %rdi
callq 0x35fa0
jmp 0x3674b
leaq 0x3e0(%rsp), %rdi
callq 0x6290
leaq 0x3df(%rsp), %rdi
callq 0x64c0
leaq 0x3a7(%rsp), %rdi
movq %rdi, 0xd8(%rsp)
callq 0x67b0
movq 0xd8(%rsp), %rdx
leaq 0x3417(%rip), %rsi      # 0x39ba0
leaq 0x3a8(%rsp), %rdi
callq 0x7c20
jmp 0x36798
movl $0x1, %edi
callq 0x1d0d0
movq %rdx, 0xc8(%rsp)
movl %eax, 0xd4(%rsp)
jmp 0x367b3
movq 0xc8(%rsp), %rax
movl 0xd4(%rsp), %ecx
movl %ecx, 0x390(%rsp)
movq %rax, 0x398(%rsp)
movl 0x390(%rsp), %esi
movq 0x398(%rsp), %rdx
leaq 0x3a8(%rsp), %rdi
callq 0x35fa0
jmp 0x367ef
leaq 0x3a8(%rsp), %rdi
callq 0x6290
leaq 0x3a7(%rsp), %rdi
callq 0x64c0
leaq 0x36f(%rsp), %rdi
movq %rdi, 0xc0(%rsp)
callq 0x67b0
movq 0xc0(%rsp), %rdx
leaq 0x33df(%rip), %rsi      # 0x39c0c
leaq 0x370(%rsp), %rdi
callq 0x7c20
jmp 0x3683c
movsd 0x3034(%rip), %xmm0     # 0x39878
callq 0x1d090
movq %rdx, 0xb0(%rsp)
movl %eax, 0xbc(%rsp)
jmp 0x3685a
movq 0xb0(%rsp), %rax
movl 0xbc(%rsp), %ecx
movl %ecx, 0x358(%rsp)
movq %rax, 0x360(%rsp)
movl 0x358(%rsp), %esi
movq 0x360(%rsp), %rdx
leaq 0x370(%rsp), %rdi
callq 0x35fa0
jmp 0x36896
leaq 0x370(%rsp), %rdi
callq 0x6290
leaq 0x36f(%rsp), %rdi
callq 0x64c0
leaq 0x337(%rsp), %rdi
movq %rdi, 0xa8(%rsp)
callq 0x67b0
movq 0xa8(%rsp), %rdx
leaq 0x33a2(%rip), %rsi      # 0x39c76
leaq 0x338(%rsp), %rdi
callq 0x7c20
jmp 0x368e3
movl $0x1, %edi
callq 0x1d0d0
movq %rdx, 0x98(%rsp)
movl %eax, 0xa4(%rsp)
jmp 0x368fe
movq 0x98(%rsp), %rax
movl 0xa4(%rsp), %ecx
movl %ecx, 0x320(%rsp)
movq %rax, 0x328(%rsp)
movl 0x320(%rsp), %esi
movq 0x328(%rsp), %rdx
leaq 0x338(%rsp), %rdi
callq 0x35fa0
jmp 0x3693a
leaq 0x338(%rsp), %rdi
callq 0x6290
leaq 0x337(%rsp), %rdi
callq 0x64c0
leaq 0x2ff(%rsp), %rdi
movq %rdi, 0x90(%rsp)
callq 0x67b0
movq 0x90(%rsp), %rdx
leaq 0x334f(%rip), %rsi      # 0x39cc7
leaq 0x300(%rsp), %rdi
callq 0x7c20
jmp 0x36987
movl $0x1, %edi
callq 0x1d0d0
movq %rdx, 0x80(%rsp)
movl %eax, 0x8c(%rsp)
jmp 0x369a2
movq 0x80(%rsp), %rax
movl 0x8c(%rsp), %ecx
movl %ecx, 0x2e8(%rsp)
movq %rax, 0x2f0(%rsp)
movl 0x2e8(%rsp), %esi
movq 0x2f0(%rsp), %rdx
leaq 0x300(%rsp), %rdi
callq 0x35fa0
jmp 0x369de
leaq 0x300(%rsp), %rdi
callq 0x6290
leaq 0x2ff(%rsp), %rdi
callq 0x64c0
leaq 0x2c7(%rsp), %rdi
movq %rdi, 0x78(%rsp)
callq 0x67b0
movq 0x78(%rsp), %rdx
leaq 0x32f9(%rip), %rsi      # 0x39d0f
leaq 0x2c8(%rsp), %rdi
callq 0x7c20
jmp 0x36a25
movsd 0x2e53(%rip), %xmm0     # 0x39880
callq 0x1d090
movq %rdx, 0x68(%rsp)
movl %eax, 0x74(%rsp)
jmp 0x36a3d
movq 0x68(%rsp), %rax
movl 0x74(%rsp), %ecx
movl %ecx, 0x2b0(%rsp)
movq %rax, 0x2b8(%rsp)
movl 0x2b0(%rsp), %esi
movq 0x2b8(%rsp), %rdx
leaq 0x2c8(%rsp), %rdi
callq 0x35fa0
jmp 0x36a73
leaq 0x2c8(%rsp), %rdi
callq 0x6290
leaq 0x2c7(%rsp), %rdi
callq 0x64c0
leaq 0x28f(%rsp), %rdi
movq %rdi, 0x60(%rsp)
callq 0x67b0
movq 0x60(%rsp), %rdx
leaq 0x32d0(%rip), %rsi      # 0x39d7b
leaq 0x290(%rsp), %rdi
callq 0x7c20
jmp 0x36aba
callq 0x1d110
movq %rdx, 0x50(%rsp)
movl %eax, 0x5c(%rsp)
jmp 0x36aca
movq 0x50(%rsp), %rax
movl 0x5c(%rsp), %ecx
movl %ecx, 0x278(%rsp)
movq %rax, 0x280(%rsp)
movl 0x278(%rsp), %esi
movq 0x280(%rsp), %rdx
leaq 0x290(%rsp), %rdi
callq 0x35fa0
jmp 0x36b00
leaq 0x290(%rsp), %rdi
callq 0x6290
leaq 0x28f(%rsp), %rdi
callq 0x64c0
leaq 0x257(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0x67b0
movq 0x48(%rsp), %rdx
leaq 0x3279(%rip), %rsi      # 0x39db1
leaq 0x258(%rsp), %rdi
callq 0x7c20
jmp 0x36b47
movl $0x1, %edi
callq 0x1d0d0
movq %rdx, 0x38(%rsp)
movl %eax, 0x44(%rsp)
jmp 0x36b5c
movq 0x38(%rsp), %rax
movl 0x44(%rsp), %ecx
movl %ecx, 0x240(%rsp)
movq %rax, 0x248(%rsp)
movl 0x240(%rsp), %esi
movq 0x248(%rsp), %rdx
leaq 0x258(%rsp), %rdi
callq 0x35fa0
jmp 0x36b92
leaq 0x258(%rsp), %rdi
callq 0x6290
leaq 0x257(%rsp), %rdi
callq 0x64c0
leaq 0x21f(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0x67b0
movq 0x30(%rsp), %rdx
leaq 0x3231(%rip), %rsi      # 0x39dfb
leaq 0x220(%rsp), %rdi
callq 0x7c20
jmp 0x36bd9
callq 0x1d110
movq %rdx, 0x20(%rsp)
movl %eax, 0x2c(%rsp)
jmp 0x36be9
movq 0x20(%rsp), %rax
movl 0x2c(%rsp), %ecx
movl %ecx, 0x208(%rsp)
movq %rax, 0x210(%rsp)
movl 0x208(%rsp), %esi
movq 0x210(%rsp), %rdx
leaq 0x220(%rsp), %rdi
callq 0x35fa0
jmp 0x36c1f
leaq 0x220(%rsp), %rdi
callq 0x6290
leaq 0x21f(%rsp), %rdi
callq 0x64c0
leaq 0x1e7(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x67b0
movq 0x18(%rsp), %rdx
leaq 0x31e4(%rip), %rsi      # 0x39e3b
leaq 0x1e8(%rsp), %rdi
callq 0x7c20
jmp 0x36c66
movsd 0x2c02(%rip), %xmm0     # 0x39870
callq 0x1d090
movq %rdx, 0x8(%rsp)
movl %eax, 0x14(%rsp)
jmp 0x36c7e
movq 0x8(%rsp), %rax
movl 0x14(%rsp), %ecx
movl %ecx, 0x1d0(%rsp)
movq %rax, 0x1d8(%rsp)
movl 0x1d0(%rsp), %esi
movq 0x1d8(%rsp), %rdx
leaq 0x1e8(%rsp), %rdi
callq 0x35fa0
jmp 0x36cb4
leaq 0x1e8(%rsp), %rdi
callq 0x6290
leaq 0x1e7(%rsp), %rdi
callq 0x64c0
addq $0x608, %rsp            # imm = 0x608
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
jmp 0x36d0d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
leaq 0x5e8(%rsp), %rdi
callq 0x6290
leaq 0x5e7(%rsp), %rdi
callq 0x64c0
jmp 0x37239
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
jmp 0x36d56
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
leaq 0x5a0(%rsp), %rdi
callq 0x6290
leaq 0x59f(%rsp), %rdi
callq 0x64c0
jmp 0x37239
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
jmp 0x36d9f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
leaq 0x568(%rsp), %rdi
callq 0x6290
leaq 0x567(%rsp), %rdi
callq 0x64c0
jmp 0x37239
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
jmp 0x36de8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
leaq 0x530(%rsp), %rdi
callq 0x6290
leaq 0x52f(%rsp), %rdi
callq 0x64c0
jmp 0x37239
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
jmp 0x36e31
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
leaq 0x4f8(%rsp), %rdi
callq 0x6290
leaq 0x4f7(%rsp), %rdi
callq 0x64c0
jmp 0x37239
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
jmp 0x36e7a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
leaq 0x4c0(%rsp), %rdi
callq 0x6290
leaq 0x4bf(%rsp), %rdi
callq 0x64c0
jmp 0x37239
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
jmp 0x36ec3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
leaq 0x488(%rsp), %rdi
callq 0x6290
leaq 0x487(%rsp), %rdi
callq 0x64c0
jmp 0x37239
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
jmp 0x36f0c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
leaq 0x450(%rsp), %rdi
callq 0x6290
leaq 0x44f(%rsp), %rdi
callq 0x64c0
jmp 0x37239
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
jmp 0x36f55
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
leaq 0x418(%rsp), %rdi
callq 0x6290
leaq 0x417(%rsp), %rdi
callq 0x64c0
jmp 0x37239
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
jmp 0x36f9e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
leaq 0x3e0(%rsp), %rdi
callq 0x6290
leaq 0x3df(%rsp), %rdi
callq 0x64c0
jmp 0x37239
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
jmp 0x36fe7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
leaq 0x3a8(%rsp), %rdi
callq 0x6290
leaq 0x3a7(%rsp), %rdi
callq 0x64c0
jmp 0x37239
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
jmp 0x37030
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
leaq 0x370(%rsp), %rdi
callq 0x6290
leaq 0x36f(%rsp), %rdi
callq 0x64c0
jmp 0x37239
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
jmp 0x37079
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
leaq 0x338(%rsp), %rdi
callq 0x6290
leaq 0x337(%rsp), %rdi
callq 0x64c0
jmp 0x37239
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
jmp 0x370c2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
leaq 0x300(%rsp), %rdi
callq 0x6290
leaq 0x2ff(%rsp), %rdi
callq 0x64c0
jmp 0x37239
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
jmp 0x3710b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
leaq 0x2c8(%rsp), %rdi
callq 0x6290
leaq 0x2c7(%rsp), %rdi
callq 0x64c0
jmp 0x37239
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
jmp 0x37154
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
leaq 0x290(%rsp), %rdi
callq 0x6290
leaq 0x28f(%rsp), %rdi
callq 0x64c0
jmp 0x37239
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
jmp 0x3719d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
leaq 0x258(%rsp), %rdi
callq 0x6290
leaq 0x257(%rsp), %rdi
callq 0x64c0
jmp 0x37239
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
jmp 0x371e6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
leaq 0x220(%rsp), %rdi
callq 0x6290
leaq 0x21f(%rsp), %rdi
callq 0x64c0
jmp 0x37239
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
jmp 0x3722c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5d8(%rsp)
movl %eax, 0x5d4(%rsp)
leaq 0x1e8(%rsp), %rdi
callq 0x6290
leaq 0x1e7(%rsp), %rdi
callq 0x64c0
movq 0x5d8(%rsp), %rdi
callq 0x67a0