	.file	"969829.c"
	.intel_syntax noprefix
	.text
	.local	_glfwErrorCode
	.comm	_glfwErrorCode,8,8
	.globl	_glfwInitialized
	.bss
	.align 4
	.type	_glfwInitialized, @object
	.size	_glfwInitialized, 4
_glfwInitialized:
	.zero	4
	.globl	_glfwInput
	.align 32
	.type	_glfwInput, @object
	.size	_glfwInput, 376
_glfwInput:
	.zero	376
	.globl	_glfwJoy
	.align 32
	.type	_glfwJoy, @object
	.size	_glfwJoy, 512
_glfwJoy:
	.zero	512
	.globl	_glfwLibrary
	.align 32
	.type	_glfwLibrary, @object
	.size	_glfwLibrary, 152
_glfwLibrary:
	.zero	152
	.globl	_glfwThrd
	.align 32
	.type	_glfwThrd, @object
	.size	_glfwThrd, 88
_glfwThrd:
	.zero	88
	.globl	_glfwWin
	.align 32
	.type	_glfwWin, @object
	.size	_glfwWin, 432
_glfwWin:
	.zero	432
	.local	cursor_x
	.comm	cursor_x,4,4
	.local	cursor_y
	.comm	cursor_y,4,4
	.data
	.align 32
	.type	keysymtab, @object
	.size	keysymtab, 3104
keysymtab:
	.value	417
	.value	260
	.value	418
	.value	728
	.value	419
	.value	321
	.value	421
	.value	317
	.value	422
	.value	346
	.value	425
	.value	352
	.value	426
	.value	350
	.value	427
	.value	356
	.value	428
	.value	377
	.value	430
	.value	381
	.value	431
	.value	379
	.value	433
	.value	261
	.value	434
	.value	731
	.value	435
	.value	322
	.value	437
	.value	318
	.value	438
	.value	347
	.value	439
	.value	711
	.value	441
	.value	353
	.value	442
	.value	351
	.value	443
	.value	357
	.value	444
	.value	378
	.value	445
	.value	733
	.value	446
	.value	382
	.value	447
	.value	380
	.value	448
	.value	340
	.value	451
	.value	258
	.value	453
	.value	313
	.value	454
	.value	262
	.value	456
	.value	268
	.value	458
	.value	280
	.value	460
	.value	282
	.value	463
	.value	270
	.value	464
	.value	272
	.value	465
	.value	323
	.value	466
	.value	327
	.value	469
	.value	336
	.value	472
	.value	344
	.value	473
	.value	366
	.value	475
	.value	368
	.value	478
	.value	354
	.value	480
	.value	341
	.value	483
	.value	259
	.value	485
	.value	314
	.value	486
	.value	263
	.value	488
	.value	269
	.value	490
	.value	281
	.value	492
	.value	283
	.value	495
	.value	271
	.value	496
	.value	273
	.value	497
	.value	324
	.value	498
	.value	328
	.value	501
	.value	337
	.value	504
	.value	345
	.value	505
	.value	367
	.value	507
	.value	369
	.value	510
	.value	355
	.value	511
	.value	729
	.value	673
	.value	294
	.value	678
	.value	292
	.value	681
	.value	304
	.value	683
	.value	286
	.value	684
	.value	308
	.value	689
	.value	295
	.value	694
	.value	293
	.value	697
	.value	305
	.value	699
	.value	287
	.value	700
	.value	309
	.value	709
	.value	266
	.value	710
	.value	264
	.value	725
	.value	288
	.value	728
	.value	284
	.value	733
	.value	364
	.value	734
	.value	348
	.value	741
	.value	267
	.value	742
	.value	265
	.value	757
	.value	289
	.value	760
	.value	285
	.value	765
	.value	365
	.value	766
	.value	349
	.value	930
	.value	312
	.value	931
	.value	342
	.value	933
	.value	296
	.value	934
	.value	315
	.value	938
	.value	274
	.value	939
	.value	290
	.value	940
	.value	358
	.value	947
	.value	343
	.value	949
	.value	297
	.value	950
	.value	316
	.value	954
	.value	275
	.value	955
	.value	291
	.value	956
	.value	359
	.value	957
	.value	330
	.value	959
	.value	331
	.value	960
	.value	256
	.value	967
	.value	302
	.value	972
	.value	278
	.value	975
	.value	298
	.value	977
	.value	325
	.value	978
	.value	332
	.value	979
	.value	310
	.value	985
	.value	370
	.value	989
	.value	360
	.value	990
	.value	362
	.value	992
	.value	257
	.value	999
	.value	303
	.value	1004
	.value	279
	.value	1007
	.value	299
	.value	1009
	.value	326
	.value	1010
	.value	333
	.value	1011
	.value	311
	.value	1017
	.value	371
	.value	1021
	.value	361
	.value	1022
	.value	363
	.value	1150
	.value	8254
	.value	1185
	.value	12290
	.value	1186
	.value	12300
	.value	1187
	.value	12301
	.value	1188
	.value	12289
	.value	1189
	.value	12539
	.value	1190
	.value	12530
	.value	1191
	.value	12449
	.value	1192
	.value	12451
	.value	1193
	.value	12453
	.value	1194
	.value	12455
	.value	1195
	.value	12457
	.value	1196
	.value	12515
	.value	1197
	.value	12517
	.value	1198
	.value	12519
	.value	1199
	.value	12483
	.value	1200
	.value	12540
	.value	1201
	.value	12450
	.value	1202
	.value	12452
	.value	1203
	.value	12454
	.value	1204
	.value	12456
	.value	1205
	.value	12458
	.value	1206
	.value	12459
	.value	1207
	.value	12461
	.value	1208
	.value	12463
	.value	1209
	.value	12465
	.value	1210
	.value	12467
	.value	1211
	.value	12469
	.value	1212
	.value	12471
	.value	1213
	.value	12473
	.value	1214
	.value	12475
	.value	1215
	.value	12477
	.value	1216
	.value	12479
	.value	1217
	.value	12481
	.value	1218
	.value	12484
	.value	1219
	.value	12486
	.value	1220
	.value	12488
	.value	1221
	.value	12490
	.value	1222
	.value	12491
	.value	1223
	.value	12492
	.value	1224
	.value	12493
	.value	1225
	.value	12494
	.value	1226
	.value	12495
	.value	1227
	.value	12498
	.value	1228
	.value	12501
	.value	1229
	.value	12504
	.value	1230
	.value	12507
	.value	1231
	.value	12510
	.value	1232
	.value	12511
	.value	1233
	.value	12512
	.value	1234
	.value	12513
	.value	1235
	.value	12514
	.value	1236
	.value	12516
	.value	1237
	.value	12518
	.value	1238
	.value	12520
	.value	1239
	.value	12521
	.value	1240
	.value	12522
	.value	1241
	.value	12523
	.value	1242
	.value	12524
	.value	1243
	.value	12525
	.value	1244
	.value	12527
	.value	1245
	.value	12531
	.value	1246
	.value	12443
	.value	1247
	.value	12444
	.value	1452
	.value	1548
	.value	1467
	.value	1563
	.value	1471
	.value	1567
	.value	1473
	.value	1569
	.value	1474
	.value	1570
	.value	1475
	.value	1571
	.value	1476
	.value	1572
	.value	1477
	.value	1573
	.value	1478
	.value	1574
	.value	1479
	.value	1575
	.value	1480
	.value	1576
	.value	1481
	.value	1577
	.value	1482
	.value	1578
	.value	1483
	.value	1579
	.value	1484
	.value	1580
	.value	1485
	.value	1581
	.value	1486
	.value	1582
	.value	1487
	.value	1583
	.value	1488
	.value	1584
	.value	1489
	.value	1585
	.value	1490
	.value	1586
	.value	1491
	.value	1587
	.value	1492
	.value	1588
	.value	1493
	.value	1589
	.value	1494
	.value	1590
	.value	1495
	.value	1591
	.value	1496
	.value	1592
	.value	1497
	.value	1593
	.value	1498
	.value	1594
	.value	1504
	.value	1600
	.value	1505
	.value	1601
	.value	1506
	.value	1602
	.value	1507
	.value	1603
	.value	1508
	.value	1604
	.value	1509
	.value	1605
	.value	1510
	.value	1606
	.value	1511
	.value	1607
	.value	1512
	.value	1608
	.value	1513
	.value	1609
	.value	1514
	.value	1610
	.value	1515
	.value	1611
	.value	1516
	.value	1612
	.value	1517
	.value	1613
	.value	1518
	.value	1614
	.value	1519
	.value	1615
	.value	1520
	.value	1616
	.value	1521
	.value	1617
	.value	1522
	.value	1618
	.value	1697
	.value	1106
	.value	1698
	.value	1107
	.value	1699
	.value	1105
	.value	1700
	.value	1108
	.value	1701
	.value	1109
	.value	1702
	.value	1110
	.value	1703
	.value	1111
	.value	1704
	.value	1112
	.value	1705
	.value	1113
	.value	1706
	.value	1114
	.value	1707
	.value	1115
	.value	1708
	.value	1116
	.value	1710
	.value	1118
	.value	1711
	.value	1119
	.value	1712
	.value	8470
	.value	1713
	.value	1026
	.value	1714
	.value	1027
	.value	1715
	.value	1025
	.value	1716
	.value	1028
	.value	1717
	.value	1029
	.value	1718
	.value	1030
	.value	1719
	.value	1031
	.value	1720
	.value	1032
	.value	1721
	.value	1033
	.value	1722
	.value	1034
	.value	1723
	.value	1035
	.value	1724
	.value	1036
	.value	1726
	.value	1038
	.value	1727
	.value	1039
	.value	1728
	.value	1102
	.value	1729
	.value	1072
	.value	1730
	.value	1073
	.value	1731
	.value	1094
	.value	1732
	.value	1076
	.value	1733
	.value	1077
	.value	1734
	.value	1092
	.value	1735
	.value	1075
	.value	1736
	.value	1093
	.value	1737
	.value	1080
	.value	1738
	.value	1081
	.value	1739
	.value	1082
	.value	1740
	.value	1083
	.value	1741
	.value	1084
	.value	1742
	.value	1085
	.value	1743
	.value	1086
	.value	1744
	.value	1087
	.value	1745
	.value	1103
	.value	1746
	.value	1088
	.value	1747
	.value	1089
	.value	1748
	.value	1090
	.value	1749
	.value	1091
	.value	1750
	.value	1078
	.value	1751
	.value	1074
	.value	1752
	.value	1100
	.value	1753
	.value	1099
	.value	1754
	.value	1079
	.value	1755
	.value	1096
	.value	1756
	.value	1101
	.value	1757
	.value	1097
	.value	1758
	.value	1095
	.value	1759
	.value	1098
	.value	1760
	.value	1070
	.value	1761
	.value	1040
	.value	1762
	.value	1041
	.value	1763
	.value	1062
	.value	1764
	.value	1044
	.value	1765
	.value	1045
	.value	1766
	.value	1060
	.value	1767
	.value	1043
	.value	1768
	.value	1061
	.value	1769
	.value	1048
	.value	1770
	.value	1049
	.value	1771
	.value	1050
	.value	1772
	.value	1051
	.value	1773
	.value	1052
	.value	1774
	.value	1053
	.value	1775
	.value	1054
	.value	1776
	.value	1055
	.value	1777
	.value	1071
	.value	1778
	.value	1056
	.value	1779
	.value	1057
	.value	1780
	.value	1058
	.value	1781
	.value	1059
	.value	1782
	.value	1046
	.value	1783
	.value	1042
	.value	1784
	.value	1068
	.value	1785
	.value	1067
	.value	1786
	.value	1047
	.value	1787
	.value	1064
	.value	1788
	.value	1069
	.value	1789
	.value	1065
	.value	1790
	.value	1063
	.value	1791
	.value	1066
	.value	1953
	.value	902
	.value	1954
	.value	904
	.value	1955
	.value	905
	.value	1956
	.value	906
	.value	1957
	.value	938
	.value	1959
	.value	908
	.value	1960
	.value	910
	.value	1961
	.value	939
	.value	1963
	.value	911
	.value	1966
	.value	901
	.value	1967
	.value	8213
	.value	1969
	.value	940
	.value	1970
	.value	941
	.value	1971
	.value	942
	.value	1972
	.value	943
	.value	1973
	.value	970
	.value	1974
	.value	912
	.value	1975
	.value	972
	.value	1976
	.value	973
	.value	1977
	.value	971
	.value	1978
	.value	944
	.value	1979
	.value	974
	.value	1985
	.value	913
	.value	1986
	.value	914
	.value	1987
	.value	915
	.value	1988
	.value	916
	.value	1989
	.value	917
	.value	1990
	.value	918
	.value	1991
	.value	919
	.value	1992
	.value	920
	.value	1993
	.value	921
	.value	1994
	.value	922
	.value	1995
	.value	923
	.value	1996
	.value	924
	.value	1997
	.value	925
	.value	1998
	.value	926
	.value	1999
	.value	927
	.value	2000
	.value	928
	.value	2001
	.value	929
	.value	2002
	.value	931
	.value	2004
	.value	932
	.value	2005
	.value	933
	.value	2006
	.value	934
	.value	2007
	.value	935
	.value	2008
	.value	936
	.value	2009
	.value	937
	.value	2017
	.value	945
	.value	2018
	.value	946
	.value	2019
	.value	947
	.value	2020
	.value	948
	.value	2021
	.value	949
	.value	2022
	.value	950
	.value	2023
	.value	951
	.value	2024
	.value	952
	.value	2025
	.value	953
	.value	2026
	.value	954
	.value	2027
	.value	955
	.value	2028
	.value	956
	.value	2029
	.value	957
	.value	2030
	.value	958
	.value	2031
	.value	959
	.value	2032
	.value	960
	.value	2033
	.value	961
	.value	2034
	.value	963
	.value	2035
	.value	962
	.value	2036
	.value	964
	.value	2037
	.value	965
	.value	2038
	.value	966
	.value	2039
	.value	967
	.value	2040
	.value	968
	.value	2041
	.value	969
	.value	2209
	.value	9143
	.value	2210
	.value	9484
	.value	2211
	.value	9472
	.value	2212
	.value	8992
	.value	2213
	.value	8993
	.value	2214
	.value	9474
	.value	2215
	.value	9121
	.value	2216
	.value	9123
	.value	2217
	.value	9124
	.value	2218
	.value	9126
	.value	2219
	.value	9115
	.value	2220
	.value	9117
	.value	2221
	.value	9118
	.value	2222
	.value	9120
	.value	2223
	.value	9128
	.value	2224
	.value	9132
	.value	2236
	.value	8804
	.value	2237
	.value	8800
	.value	2238
	.value	8805
	.value	2239
	.value	8747
	.value	2240
	.value	8756
	.value	2241
	.value	8733
	.value	2242
	.value	8734
	.value	2245
	.value	8711
	.value	2248
	.value	8764
	.value	2249
	.value	8771
	.value	2253
	.value	8660
	.value	2254
	.value	8658
	.value	2255
	.value	8801
	.value	2262
	.value	8730
	.value	2266
	.value	8834
	.value	2267
	.value	8835
	.value	2268
	.value	8745
	.value	2269
	.value	8746
	.value	2270
	.value	8743
	.value	2271
	.value	8744
	.value	2287
	.value	8706
	.value	2294
	.value	402
	.value	2299
	.value	8592
	.value	2300
	.value	8593
	.value	2301
	.value	8594
	.value	2302
	.value	8595
	.value	2528
	.value	9670
	.value	2529
	.value	9618
	.value	2530
	.value	9225
	.value	2531
	.value	9228
	.value	2532
	.value	9229
	.value	2533
	.value	9226
	.value	2536
	.value	9252
	.value	2537
	.value	9227
	.value	2538
	.value	9496
	.value	2539
	.value	9488
	.value	2540
	.value	9484
	.value	2541
	.value	9492
	.value	2542
	.value	9532
	.value	2543
	.value	9146
	.value	2544
	.value	9147
	.value	2545
	.value	9472
	.value	2546
	.value	9148
	.value	2547
	.value	9149
	.value	2548
	.value	9500
	.value	2549
	.value	9508
	.value	2550
	.value	9524
	.value	2551
	.value	9516
	.value	2552
	.value	9474
	.value	2721
	.value	8195
	.value	2722
	.value	8194
	.value	2723
	.value	8196
	.value	2724
	.value	8197
	.value	2725
	.value	8199
	.value	2726
	.value	8200
	.value	2727
	.value	8201
	.value	2728
	.value	8202
	.value	2729
	.value	8212
	.value	2730
	.value	8211
	.value	2734
	.value	8230
	.value	2735
	.value	8229
	.value	2736
	.value	8531
	.value	2737
	.value	8532
	.value	2738
	.value	8533
	.value	2739
	.value	8534
	.value	2740
	.value	8535
	.value	2741
	.value	8536
	.value	2742
	.value	8537
	.value	2743
	.value	8538
	.value	2744
	.value	8453
	.value	2747
	.value	8210
	.value	2748
	.value	9001
	.value	2750
	.value	9002
	.value	2755
	.value	8539
	.value	2756
	.value	8540
	.value	2757
	.value	8541
	.value	2758
	.value	8542
	.value	2761
	.value	8482
	.value	2762
	.value	9747
	.value	2764
	.value	9665
	.value	2765
	.value	9655
	.value	2766
	.value	9675
	.value	2767
	.value	9647
	.value	2768
	.value	8216
	.value	2769
	.value	8217
	.value	2770
	.value	8220
	.value	2771
	.value	8221
	.value	2772
	.value	8478
	.value	2774
	.value	8242
	.value	2775
	.value	8243
	.value	2777
	.value	10013
	.value	2779
	.value	9644
	.value	2780
	.value	9664
	.value	2781
	.value	9654
	.value	2782
	.value	9679
	.value	2783
	.value	9646
	.value	2784
	.value	9702
	.value	2785
	.value	9643
	.value	2786
	.value	9645
	.value	2787
	.value	9651
	.value	2788
	.value	9661
	.value	2789
	.value	9734
	.value	2790
	.value	8226
	.value	2791
	.value	9642
	.value	2792
	.value	9650
	.value	2793
	.value	9660
	.value	2794
	.value	9756
	.value	2795
	.value	9758
	.value	2796
	.value	9827
	.value	2797
	.value	9830
	.value	2798
	.value	9829
	.value	2800
	.value	10016
	.value	2801
	.value	8224
	.value	2802
	.value	8225
	.value	2803
	.value	10003
	.value	2804
	.value	10007
	.value	2805
	.value	9839
	.value	2806
	.value	9837
	.value	2807
	.value	9794
	.value	2808
	.value	9792
	.value	2809
	.value	9742
	.value	2810
	.value	8981
	.value	2811
	.value	8471
	.value	2812
	.value	8248
	.value	2813
	.value	8218
	.value	2814
	.value	8222
	.value	2979
	.value	60
	.value	2982
	.value	62
	.value	2984
	.value	8744
	.value	2985
	.value	8743
	.value	3008
	.value	175
	.value	3010
	.value	8869
	.value	3011
	.value	8745
	.value	3012
	.value	8970
	.value	3014
	.value	95
	.value	3018
	.value	8728
	.value	3020
	.value	9109
	.value	3022
	.value	8868
	.value	3023
	.value	9675
	.value	3027
	.value	8968
	.value	3030
	.value	8746
	.value	3032
	.value	8835
	.value	3034
	.value	8834
	.value	3036
	.value	8866
	.value	3068
	.value	8867
	.value	3295
	.value	8215
	.value	3296
	.value	1488
	.value	3297
	.value	1489
	.value	3298
	.value	1490
	.value	3299
	.value	1491
	.value	3300
	.value	1492
	.value	3301
	.value	1493
	.value	3302
	.value	1494
	.value	3303
	.value	1495
	.value	3304
	.value	1496
	.value	3305
	.value	1497
	.value	3306
	.value	1498
	.value	3307
	.value	1499
	.value	3308
	.value	1500
	.value	3309
	.value	1501
	.value	3310
	.value	1502
	.value	3311
	.value	1503
	.value	3312
	.value	1504
	.value	3313
	.value	1505
	.value	3314
	.value	1506
	.value	3315
	.value	1507
	.value	3316
	.value	1508
	.value	3317
	.value	1509
	.value	3318
	.value	1510
	.value	3319
	.value	1511
	.value	3320
	.value	1512
	.value	3321
	.value	1513
	.value	3322
	.value	1514
	.value	3489
	.value	3585
	.value	3490
	.value	3586
	.value	3491
	.value	3587
	.value	3492
	.value	3588
	.value	3493
	.value	3589
	.value	3494
	.value	3590
	.value	3495
	.value	3591
	.value	3496
	.value	3592
	.value	3497
	.value	3593
	.value	3498
	.value	3594
	.value	3499
	.value	3595
	.value	3500
	.value	3596
	.value	3501
	.value	3597
	.value	3502
	.value	3598
	.value	3503
	.value	3599
	.value	3504
	.value	3600
	.value	3505
	.value	3601
	.value	3506
	.value	3602
	.value	3507
	.value	3603
	.value	3508
	.value	3604
	.value	3509
	.value	3605
	.value	3510
	.value	3606
	.value	3511
	.value	3607
	.value	3512
	.value	3608
	.value	3513
	.value	3609
	.value	3514
	.value	3610
	.value	3515
	.value	3611
	.value	3516
	.value	3612
	.value	3517
	.value	3613
	.value	3518
	.value	3614
	.value	3519
	.value	3615
	.value	3520
	.value	3616
	.value	3521
	.value	3617
	.value	3522
	.value	3618
	.value	3523
	.value	3619
	.value	3524
	.value	3620
	.value	3525
	.value	3621
	.value	3526
	.value	3622
	.value	3527
	.value	3623
	.value	3528
	.value	3624
	.value	3529
	.value	3625
	.value	3530
	.value	3626
	.value	3531
	.value	3627
	.value	3532
	.value	3628
	.value	3533
	.value	3629
	.value	3534
	.value	3630
	.value	3535
	.value	3631
	.value	3536
	.value	3632
	.value	3537
	.value	3633
	.value	3538
	.value	3634
	.value	3539
	.value	3635
	.value	3540
	.value	3636
	.value	3541
	.value	3637
	.value	3542
	.value	3638
	.value	3543
	.value	3639
	.value	3544
	.value	3640
	.value	3545
	.value	3641
	.value	3546
	.value	3642
	.value	3551
	.value	3647
	.value	3552
	.value	3648
	.value	3553
	.value	3649
	.value	3554
	.value	3650
	.value	3555
	.value	3651
	.value	3556
	.value	3652
	.value	3557
	.value	3653
	.value	3558
	.value	3654
	.value	3559
	.value	3655
	.value	3560
	.value	3656
	.value	3561
	.value	3657
	.value	3562
	.value	3658
	.value	3563
	.value	3659
	.value	3564
	.value	3660
	.value	3565
	.value	3661
	.value	3568
	.value	3664
	.value	3569
	.value	3665
	.value	3570
	.value	3666
	.value	3571
	.value	3667
	.value	3572
	.value	3668
	.value	3573
	.value	3669
	.value	3574
	.value	3670
	.value	3575
	.value	3671
	.value	3576
	.value	3672
	.value	3577
	.value	3673
	.value	3745
	.value	12593
	.value	3746
	.value	12594
	.value	3747
	.value	12595
	.value	3748
	.value	12596
	.value	3749
	.value	12597
	.value	3750
	.value	12598
	.value	3751
	.value	12599
	.value	3752
	.value	12600
	.value	3753
	.value	12601
	.value	3754
	.value	12602
	.value	3755
	.value	12603
	.value	3756
	.value	12604
	.value	3757
	.value	12605
	.value	3758
	.value	12606
	.value	3759
	.value	12607
	.value	3760
	.value	12608
	.value	3761
	.value	12609
	.value	3762
	.value	12610
	.value	3763
	.value	12611
	.value	3764
	.value	12612
	.value	3765
	.value	12613
	.value	3766
	.value	12614
	.value	3767
	.value	12615
	.value	3768
	.value	12616
	.value	3769
	.value	12617
	.value	3770
	.value	12618
	.value	3771
	.value	12619
	.value	3772
	.value	12620
	.value	3773
	.value	12621
	.value	3774
	.value	12622
	.value	3775
	.value	12623
	.value	3776
	.value	12624
	.value	3777
	.value	12625
	.value	3778
	.value	12626
	.value	3779
	.value	12627
	.value	3780
	.value	12628
	.value	3781
	.value	12629
	.value	3782
	.value	12630
	.value	3783
	.value	12631
	.value	3784
	.value	12632
	.value	3785
	.value	12633
	.value	3786
	.value	12634
	.value	3787
	.value	12635
	.value	3788
	.value	12636
	.value	3789
	.value	12637
	.value	3790
	.value	12638
	.value	3791
	.value	12639
	.value	3792
	.value	12640
	.value	3793
	.value	12641
	.value	3794
	.value	12642
	.value	3795
	.value	12643
	.value	3796
	.value	4520
	.value	3797
	.value	4521
	.value	3798
	.value	4522
	.value	3799
	.value	4523
	.value	3800
	.value	4524
	.value	3801
	.value	4525
	.value	3802
	.value	4526
	.value	3803
	.value	4527
	.value	3804
	.value	4528
	.value	3805
	.value	4529
	.value	3806
	.value	4530
	.value	3807
	.value	4531
	.value	3808
	.value	4532
	.value	3809
	.value	4533
	.value	3810
	.value	4534
	.value	3811
	.value	4535
	.value	3812
	.value	4536
	.value	3813
	.value	4537
	.value	3814
	.value	4538
	.value	3815
	.value	4539
	.value	3816
	.value	4540
	.value	3817
	.value	4541
	.value	3818
	.value	4542
	.value	3819
	.value	4543
	.value	3820
	.value	4544
	.value	3821
	.value	4545
	.value	3822
	.value	4546
	.value	3823
	.value	12653
	.value	3824
	.value	12657
	.value	3825
	.value	12664
	.value	3826
	.value	12671
	.value	3827
	.value	12673
	.value	3828
	.value	12676
	.value	3829
	.value	12678
	.value	3830
	.value	12685
	.value	3831
	.value	12686
	.value	3832
	.value	4587
	.value	3833
	.value	4592
	.value	3834
	.value	4601
	.value	3839
	.value	8361
	.value	5028
	.value	8364
	.value	5052
	.value	338
	.value	5053
	.value	339
	.value	5054
	.value	376
	.value	8364
	.value	8364
	.value	-128
	.value	32
	.value	-67
	.value	61
	.value	-86
	.value	42
	.value	-85
	.value	43
	.value	-84
	.value	44
	.value	-83
	.value	45
	.value	-82
	.value	46
	.value	-81
	.value	47
	.value	-80
	.value	48
	.value	-79
	.value	49
	.value	-78
	.value	50
	.value	-77
	.value	51
	.value	-76
	.value	52
	.value	-75
	.value	53
	.value	-74
	.value	54
	.value	-73
	.value	55
	.value	-72
	.value	56
	.value	-71
	.value	57
	.align 4
	.type	window_height, @object
	.size	window_height, 4
window_height:
	.long	480
	.align 4
	.type	window_width, @object
	.size	window_width, 4
window_width:
	.long	640
	.text
	.type	BPP2RGB, @function
BPP2RGB:
.LFB0:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	cmp	DWORD PTR -20[rbp], 32
	jne	.L2
	mov	DWORD PTR -20[rbp], 24
.L2:
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	imul	rdx, rdx, 1431655766
	shr	rdx, 32
	sar	eax, 31
	sub	edx, eax
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	sal	eax, 2
	sub	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jle	.L3
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], edx
.L3:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L5
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], edx
.L5:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	BPP2RGB, .-BPP2RGB
	.type	HalveImage, @function
HalveImage:
.LFB1:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	QWORD PTR -88[rbp], rdx
	mov	DWORD PTR -92[rbp], ecx
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jg	.L28
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jg	.L29
	mov	eax, 0
	jmp	.L9
.L28:
	nop
	jmp	.L7
.L29:
	nop
.L7:
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jle	.L10
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR -48[rbp], eax
	jmp	.L11
.L10:
	mov	DWORD PTR -48[rbp], 1
.L11:
	mov	eax, DWORD PTR -48[rbp]
	mov	DWORD PTR -40[rbp], eax
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jle	.L12
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR -44[rbp], eax
	jmp	.L13
.L12:
	mov	DWORD PTR -44[rbp], 1
.L13:
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR -36[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L14
	mov	BYTE PTR -61[rbp], 1
	jmp	.L15
.L14:
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	sete	al
	mov	BYTE PTR -61[rbp], al
.L15:
	cmp	BYTE PTR -61[rbp], 0
	je	.L16
	mov	DWORD PTR -60[rbp], 0
	jmp	.L17
.L20:
	mov	DWORD PTR -52[rbp], 0
	jmp	.L18
.L19:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	add	QWORD PTR -24[rbp], 1
	mov	rax, QWORD PTR -72[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, DWORD PTR -92[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	eax, edx
	add	eax, 1
	sar	eax
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR [rax], dl
	add	QWORD PTR -72[rbp], 1
	add	DWORD PTR -52[rbp], 1
.L18:
	mov	eax, DWORD PTR -52[rbp]
	cmp	eax, DWORD PTR -92[rbp]
	jl	.L19
	mov	eax, DWORD PTR -92[rbp]
	cdqe
	add	QWORD PTR -72[rbp], rax
	add	DWORD PTR -60[rbp], 1
.L17:
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -40[rbp]
	add	eax, edx
	sub	eax, 1
	cmp	DWORD PTR -60[rbp], eax
	jl	.L20
	jmp	.L21
.L16:
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -92[rbp]
	imul	eax, edx
	mov	DWORD PTR -32[rbp], eax
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -92[rbp]
	imul	eax, edx
	mov	DWORD PTR -28[rbp], eax
	mov	DWORD PTR -60[rbp], 0
	jmp	.L22
.L27:
	mov	DWORD PTR -56[rbp], 0
	jmp	.L23
.L26:
	mov	DWORD PTR -52[rbp], 0
	jmp	.L24
.L25:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	add	QWORD PTR -24[rbp], 1
	mov	rax, QWORD PTR -72[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	eax, DWORD PTR -92[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	lea	ecx, [rdx+rax]
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	ecx, eax
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	eax, ecx
	add	eax, 2
	sar	eax, 2
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], dl
	add	QWORD PTR -72[rbp], 1
	add	DWORD PTR -52[rbp], 1
.L24:
	mov	eax, DWORD PTR -52[rbp]
	cmp	eax, DWORD PTR -92[rbp]
	jl	.L25
	mov	eax, DWORD PTR -92[rbp]
	cdqe
	add	QWORD PTR -72[rbp], rax
	add	DWORD PTR -56[rbp], 1
.L23:
	mov	eax, DWORD PTR -56[rbp]
	cmp	eax, DWORD PTR -40[rbp]
	jl	.L26
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR [rax]
	imul	eax, DWORD PTR -92[rbp]
	cdqe
	add	QWORD PTR -72[rbp], rax
	add	DWORD PTR -60[rbp], 1
.L22:
	mov	eax, DWORD PTR -60[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	jl	.L27
.L21:
	mov	rax, QWORD PTR -80[rbp]
	mov	edx, DWORD PTR -40[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, DWORD PTR -36[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 1
.L9:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	HalveImage, .-HalveImage
	.type	Max, @function
Max:
.LFB2:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	eax, DWORD PTR -4[rbp]
	cmp	DWORD PTR -8[rbp], eax
	cmovge	eax, DWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	Max, .-Max
	.type	ReadTGAHeader, @function
ReadTGAHeader:
.LFB3:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	_glfwTellStream
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR -44[rbp], eax
	lea	rcx, -32[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 18
	mov	rsi, rcx
	mov	rdi, rax
	call	_glfwReadStream
	movzx	eax, BYTE PTR -32[rbp]
	movzx	edx, al
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR [rax], edx
	movzx	eax, BYTE PTR -31[rbp]
	movzx	edx, al
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR 4[rax], edx
	movzx	eax, BYTE PTR -30[rbp]
	movzx	edx, al
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR 8[rax], edx
	movzx	eax, BYTE PTR -29[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -28[rbp]
	movzx	eax, al
	sal	eax, 8
	or	edx, eax
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR 12[rax], edx
	movzx	eax, BYTE PTR -27[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -26[rbp]
	movzx	eax, al
	sal	eax, 8
	or	edx, eax
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR 16[rax], edx
	movzx	eax, BYTE PTR -25[rbp]
	movzx	edx, al
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR 20[rax], edx
	movzx	eax, BYTE PTR -24[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -23[rbp]
	movzx	eax, al
	sal	eax, 8
	or	edx, eax
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR 24[rax], edx
	movzx	eax, BYTE PTR -22[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -21[rbp]
	movzx	eax, al
	sal	eax, 8
	or	edx, eax
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR 28[rax], edx
	movzx	eax, BYTE PTR -20[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -19[rbp]
	movzx	eax, al
	sal	eax, 8
	or	edx, eax
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR 32[rax], edx
	movzx	eax, BYTE PTR -18[rbp]
	movzx	edx, al
	movzx	eax, BYTE PTR -17[rbp]
	movzx	eax, al
	sal	eax, 8
	or	edx, eax
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR 36[rax], edx
	movzx	eax, BYTE PTR -16[rbp]
	movzx	edx, al
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR 40[rax], edx
	movzx	eax, BYTE PTR -15[rbp]
	movzx	edx, al
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR 44[rax], edx
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 44[rax]
	and	eax, 15
	mov	edx, eax
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR 48[rax], edx
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 44[rax]
	sar	eax, 4
	and	eax, 3
	mov	edx, eax
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR 52[rax], edx
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	jne	.L33
	mov	BYTE PTR -52[rbp], 1
	jmp	.L34
.L33:
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	eax, 1
	sete	al
	mov	BYTE PTR -52[rbp], al
.L34:
	cmp	BYTE PTR -52[rbp], 0
	je	.L35
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jle	.L36
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 3
	setle	al
	mov	BYTE PTR -50[rbp], al
	jmp	.L37
.L36:
	mov	BYTE PTR -50[rbp], 0
.L37:
	cmp	BYTE PTR -50[rbp], 0
	je	.L38
	mov	BYTE PTR -49[rbp], 1
	jmp	.L39
.L38:
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 8
	jle	.L40
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 11
	setle	al
	mov	BYTE PTR -48[rbp], al
	jmp	.L41
.L40:
	mov	BYTE PTR -48[rbp], 0
.L41:
	movzx	eax, BYTE PTR -48[rbp]
	mov	BYTE PTR -49[rbp], al
.L39:
	movzx	eax, BYTE PTR -49[rbp]
	mov	BYTE PTR -51[rbp], al
	jmp	.L42
.L35:
	mov	BYTE PTR -51[rbp], 0
.L42:
	cmp	BYTE PTR -51[rbp], 0
	je	.L43
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	eax, 8
	jne	.L44
	mov	BYTE PTR -46[rbp], 1
	jmp	.L45
.L44:
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	eax, 24
	sete	al
	mov	BYTE PTR -46[rbp], al
.L45:
	cmp	BYTE PTR -46[rbp], 0
	je	.L46
	mov	BYTE PTR -45[rbp], 1
	jmp	.L47
.L46:
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	eax, 32
	sete	al
	mov	BYTE PTR -45[rbp], al
.L47:
	movzx	eax, BYTE PTR -45[rbp]
	mov	BYTE PTR -47[rbp], al
	jmp	.L48
.L43:
	mov	BYTE PTR -47[rbp], 0
.L48:
	cmp	BYTE PTR -47[rbp], 0
	je	.L49
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR [rax]
	movsx	rcx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	_glfwSeekStream
	mov	eax, 1
	jmp	.L51
.L49:
	mov	eax, DWORD PTR -44[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	_glfwSeekStream
	mov	eax, 0
.L51:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L52
	call	__stack_chk_fail@PLT
.L52:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	ReadTGAHeader, .-ReadTGAHeader
	.type	ReadTGA_RLE, @function
ReadTGA_RLE:
.LFB4:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	DWORD PTR -64[rbp], edx
	mov	QWORD PTR -72[rbp], rcx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -64[rbp], 4
	jg	.L65
	jmp	.L55
.L63:
	lea	rcx, -41[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	_glfwReadStream
	movzx	eax, BYTE PTR -41[rbp]
	movsx	eax, al
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 127
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -64[rbp]
	imul	eax, edx
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	cmp	eax, DWORD PTR -40[rbp]
	jge	.L56
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR -40[rbp], eax
.L56:
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 128
	test	eax, eax
	je	.L57
	mov	eax, DWORD PTR -64[rbp]
	movsx	rdx, eax
	lea	rcx, -12[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	_glfwReadStream
	mov	DWORD PTR -32[rbp], 0
	jmp	.L58
.L61:
	mov	DWORD PTR -36[rbp], 0
	jmp	.L59
.L60:
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -24[rbp], rax
	add	QWORD PTR -56[rbp], 1
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	movzx	edx, BYTE PTR -12[rbp+rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -36[rbp], 1
.L59:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -64[rbp]
	jl	.L60
	add	DWORD PTR -32[rbp], 1
.L58:
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 127
	cmp	DWORD PTR -32[rbp], eax
	jle	.L61
	jmp	.L62
.L57:
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rcx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	_glfwReadStream
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	add	QWORD PTR -56[rbp], rax
.L62:
	mov	eax, DWORD PTR -40[rbp]
	sub	DWORD PTR -60[rbp], eax
.L55:
	cmp	DWORD PTR -60[rbp], 0
	jg	.L63
.L65:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L64
	call	__stack_chk_fail@PLT
.L64:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	ReadTGA_RLE, .-ReadTGA_RLE
	.type	RescaleImage, @function
RescaleImage:
.LFB5:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -24[rbp], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -32[rbp], eax
	jmp	.L67
.L68:
	sar	DWORD PTR -32[rbp]
	add	DWORD PTR -24[rbp], 1
.L67:
	cmp	DWORD PTR -32[rbp], 1
	jg	.L68
	mov	eax, DWORD PTR -24[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	mov	DWORD PTR -32[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -32[rbp], eax
	jge	.L69
	sal	DWORD PTR -32[rbp]
.L69:
	mov	DWORD PTR -24[rbp], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -28[rbp], eax
	jmp	.L70
.L71:
	sar	DWORD PTR -28[rbp]
	add	DWORD PTR -24[rbp], 1
.L70:
	cmp	DWORD PTR -28[rbp], 1
	jg	.L71
	mov	eax, DWORD PTR -24[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -28[rbp], eax
	jge	.L72
	sal	DWORD PTR -28[rbp]
.L72:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -32[rbp], eax
	je	.L73
	mov	BYTE PTR -33[rbp], 1
	jmp	.L74
.L73:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -28[rbp], eax
	setne	al
	mov	BYTE PTR -33[rbp], al
.L74:
	cmp	BYTE PTR -33[rbp], 0
	je	.L75
	mov	eax, DWORD PTR -32[rbp]
	imul	eax, DWORD PTR -28[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 12[rax]
	imul	eax, edx
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L76
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	free@PLT
	mov	eax, 0
	jmp	.L77
.L76:
	mov	rax, QWORD PTR -56[rbp]
	mov	edi, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	ecx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	r9d, DWORD PTR -28[rbp]
	mov	r8d, DWORD PTR -32[rbp]
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsp, 8
	push	rdi
	mov	rdi, rax
	call	UpsampleImage
	add	rsp, 16
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR -32[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR 4[rax], edx
.L75:
	mov	eax, 1
.L77:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE5:
	.size	RescaleImage, .-RescaleImage
	.type	UpsampleImage, @function
UpsampleImage:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 40
	mov	QWORD PTR -136[rbp], rdi
	mov	QWORD PTR -144[rbp], rsi
	mov	DWORD PTR -148[rbp], edx
	mov	DWORD PTR -152[rbp], ecx
	mov	DWORD PTR -156[rbp], r8d
	mov	DWORD PTR -160[rbp], r9d
	mov	eax, DWORD PTR -148[rbp]
	sub	eax, 1
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	mov	eax, DWORD PTR -156[rbp]
	sub	eax, 1
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, eax
	divss	xmm0, xmm1
	movss	DWORD PTR -92[rbp], xmm0
	mov	eax, DWORD PTR -152[rbp]
	sub	eax, 1
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	mov	eax, DWORD PTR -160[rbp]
	sub	eax, 1
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, eax
	divss	xmm0, xmm1
	movss	DWORD PTR -88[rbp], xmm0
	pxor	xmm0, xmm0
	movss	DWORD PTR -96[rbp], xmm0
	mov	DWORD PTR -108[rbp], 0
	mov	DWORD PTR -120[rbp], 0
	jmp	.L79
.L92:
	pxor	xmm0, xmm0
	movss	DWORD PTR -100[rbp], xmm0
	mov	eax, DWORD PTR -108[rbp]
	imul	eax, DWORD PTR -148[rbp]
	imul	eax, DWORD PTR 16[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	mov	QWORD PTR -72[rbp], rax
	mov	eax, DWORD PTR -152[rbp]
	sub	eax, 1
	cmp	DWORD PTR -108[rbp], eax
	jge	.L80
	mov	eax, DWORD PTR -148[rbp]
	imul	eax, DWORD PTR 16[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	jmp	.L81
.L80:
	mov	rax, QWORD PTR -72[rbp]
.L81:
	mov	QWORD PTR -56[rbp], rax
	mov	eax, DWORD PTR 16[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	QWORD PTR -64[rbp], rax
	mov	eax, DWORD PTR 16[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	DWORD PTR -112[rbp], 0
	mov	DWORD PTR -124[rbp], 0
	jmp	.L82
.L89:
	mov	DWORD PTR -116[rbp], 0
	jmp	.L83
.L85:
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -40[rbp], rax
	add	QWORD PTR -72[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movss	DWORD PTR -84[rbp], xmm0
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR -32[rbp], rax
	add	QWORD PTR -64[rbp], 1
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movss	DWORD PTR -80[rbp], xmm0
	movss	xmm0, DWORD PTR -80[rbp]
	subss	xmm0, DWORD PTR -84[rbp]
	mulss	xmm0, DWORD PTR -100[rbp]
	movss	xmm1, DWORD PTR -84[rbp]
	addss	xmm0, xmm1
	movss	DWORD PTR -76[rbp], xmm0
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -24[rbp], rax
	add	QWORD PTR -56[rbp], 1
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movss	DWORD PTR -84[rbp], xmm0
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -16[rbp], rax
	add	QWORD PTR -48[rbp], 1
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movss	DWORD PTR -80[rbp], xmm0
	movss	xmm0, DWORD PTR -80[rbp]
	subss	xmm0, DWORD PTR -84[rbp]
	mulss	xmm0, DWORD PTR -100[rbp]
	movss	xmm1, DWORD PTR -84[rbp]
	addss	xmm0, xmm1
	movss	DWORD PTR -80[rbp], xmm0
	movss	xmm0, DWORD PTR -80[rbp]
	subss	xmm0, DWORD PTR -76[rbp]
	mulss	xmm0, DWORD PTR -96[rbp]
	movss	xmm1, DWORD PTR -76[rbp]
	addss	xmm0, xmm1
	movss	DWORD PTR -76[rbp], xmm0
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, DWORD PTR -76[rbp]
	movsd	xmm0, QWORD PTR .LC1[rip]
	addsd	xmm0, xmm1
	cvttsd2si	eax, xmm0
	mov	DWORD PTR -104[rbp], eax
	cmp	DWORD PTR -104[rbp], 255
	jle	.L84
	mov	DWORD PTR -104[rbp], 255
.L84:
	mov	rax, QWORD PTR -144[rbp]
	mov	QWORD PTR -8[rbp], rax
	add	QWORD PTR -144[rbp], 1
	mov	eax, DWORD PTR -104[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -116[rbp], 1
.L83:
	mov	eax, DWORD PTR -116[rbp]
	cmp	eax, DWORD PTR 16[rbp]
	jl	.L85
	movss	xmm0, DWORD PTR -100[rbp]
	addss	xmm0, DWORD PTR -92[rbp]
	movss	DWORD PTR -100[rbp], xmm0
	movss	xmm0, DWORD PTR -100[rbp]
	movss	xmm1, DWORD PTR .LC2[rip]
	comiss	xmm0, xmm1
	jb	.L95
	add	DWORD PTR -112[rbp], 1
	movss	xmm0, DWORD PTR -100[rbp]
	movss	xmm1, DWORD PTR .LC2[rip]
	subss	xmm0, xmm1
	movss	DWORD PTR -100[rbp], xmm0
	mov	eax, DWORD PTR -148[rbp]
	sub	eax, 1
	cmp	DWORD PTR -112[rbp], eax
	jl	.L88
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L88
.L95:
	mov	eax, DWORD PTR 16[rbp]
	cdqe
	neg	rax
	add	QWORD PTR -72[rbp], rax
	mov	eax, DWORD PTR 16[rbp]
	cdqe
	neg	rax
	add	QWORD PTR -64[rbp], rax
	mov	eax, DWORD PTR 16[rbp]
	cdqe
	neg	rax
	add	QWORD PTR -56[rbp], rax
	mov	eax, DWORD PTR 16[rbp]
	cdqe
	neg	rax
	add	QWORD PTR -48[rbp], rax
.L88:
	add	DWORD PTR -124[rbp], 1
.L82:
	mov	eax, DWORD PTR -124[rbp]
	cmp	eax, DWORD PTR -156[rbp]
	jl	.L89
	movss	xmm0, DWORD PTR -96[rbp]
	addss	xmm0, DWORD PTR -88[rbp]
	movss	DWORD PTR -96[rbp], xmm0
	movss	xmm0, DWORD PTR -96[rbp]
	movss	xmm1, DWORD PTR .LC2[rip]
	comiss	xmm0, xmm1
	jb	.L90
	add	DWORD PTR -108[rbp], 1
	movss	xmm0, DWORD PTR -96[rbp]
	movss	xmm1, DWORD PTR .LC2[rip]
	subss	xmm0, xmm1
	movss	DWORD PTR -96[rbp], xmm0
.L90:
	add	DWORD PTR -120[rbp], 1
.L79:
	mov	eax, DWORD PTR -120[rbp]
	cmp	eax, DWORD PTR -160[rbp]
	jl	.L92
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	UpsampleImage, .-UpsampleImage
	.globl	_glfwAppendThread
	.type	_glfwAppendThread, @function
_glfwAppendThread:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	lea	rax, _glfwThrd[rip+8]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L97
.L98:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
.L97:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L98
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	_glfwAppendThread, .-_glfwAppendThread
	.globl	_glfwChooseFBConfig
	.type	_glfwChooseFBConfig, @function
_glfwChooseFBConfig:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	DWORD PTR -68[rbp], edx
	mov	DWORD PTR -36[rbp], -1
	mov	DWORD PTR -28[rbp], -1
	mov	DWORD PTR -20[rbp], -1
	mov	QWORD PTR -16[rbp], 0
	mov	DWORD PTR -44[rbp], 0
	jmp	.L100
.L123:
	mov	eax, DWORD PTR -44[rbp]
	sal	rax, 6
	mov	rdx, rax
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 44[rax]
	test	eax, eax
	jle	.L101
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 44[rax]
	test	eax, eax
	je	.L125
.L101:
	mov	DWORD PTR -40[rbp], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jle	.L103
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L103
	add	DWORD PTR -40[rbp], 1
.L103:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jle	.L104
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jne	.L104
	add	DWORD PTR -40[rbp], 1
.L104:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 20[rax]
	test	eax, eax
	jle	.L105
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 20[rax]
	test	eax, eax
	jne	.L105
	add	DWORD PTR -40[rbp], 1
.L105:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 40[rax]
	test	eax, eax
	jle	.L106
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 40[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	edx, eax
	jge	.L106
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 40[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, DWORD PTR 40[rax]
	mov	eax, edx
	sub	eax, ecx
	add	DWORD PTR -40[rbp], eax
.L106:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 48[rax]
	test	eax, eax
	jle	.L107
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 48[rax]
	test	eax, eax
	jne	.L107
	add	DWORD PTR -40[rbp], 1
.L107:
	mov	DWORD PTR -32[rbp], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jle	.L108
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	mov	ecx, edx
	sub	ecx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, DWORD PTR [rax]
	mov	eax, edx
	sub	eax, esi
	imul	eax, ecx
	add	DWORD PTR -32[rbp], eax
.L108:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	jle	.L109
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	ecx, edx
	sub	ecx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, DWORD PTR 4[rax]
	mov	eax, edx
	sub	eax, esi
	imul	eax, ecx
	add	DWORD PTR -32[rbp], eax
.L109:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jle	.L110
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	ecx, edx
	sub	ecx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	eax, edx
	sub	eax, esi
	imul	eax, ecx
	add	DWORD PTR -32[rbp], eax
.L110:
	mov	DWORD PTR -24[rbp], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jle	.L111
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	mov	ecx, edx
	sub	ecx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, DWORD PTR 12[rax]
	mov	eax, edx
	sub	eax, esi
	imul	eax, ecx
	add	DWORD PTR -24[rbp], eax
.L111:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jle	.L112
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	ecx, edx
	sub	ecx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, DWORD PTR 16[rax]
	mov	eax, edx
	sub	eax, esi
	imul	eax, ecx
	add	DWORD PTR -24[rbp], eax
.L112:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 20[rax]
	test	eax, eax
	jle	.L113
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 20[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 20[rax]
	mov	ecx, edx
	sub	ecx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 20[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, DWORD PTR 20[rax]
	mov	eax, edx
	sub	eax, esi
	imul	eax, ecx
	add	DWORD PTR -24[rbp], eax
.L113:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	jle	.L114
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	ecx, edx
	sub	ecx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, DWORD PTR 24[rax]
	mov	eax, edx
	sub	eax, esi
	imul	eax, ecx
	add	DWORD PTR -24[rbp], eax
.L114:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 28[rax]
	test	eax, eax
	jle	.L115
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 28[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 28[rax]
	mov	ecx, edx
	sub	ecx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 28[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, DWORD PTR 28[rax]
	mov	eax, edx
	sub	eax, esi
	imul	eax, ecx
	add	DWORD PTR -24[rbp], eax
.L115:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	jle	.L116
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	ecx, edx
	sub	ecx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, DWORD PTR 32[rax]
	mov	eax, edx
	sub	eax, esi
	imul	eax, ecx
	add	DWORD PTR -24[rbp], eax
.L116:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 36[rax]
	test	eax, eax
	jle	.L117
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 36[rax]
	sub	edx, eax
	mov	ecx, edx
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, DWORD PTR 36[rax]
	mov	eax, edx
	sub	eax, esi
	imul	eax, ecx
	add	DWORD PTR -24[rbp], eax
.L117:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 48[rax]
	test	eax, eax
	jle	.L118
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 48[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 48[rax]
	mov	ecx, edx
	sub	ecx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 48[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, DWORD PTR 48[rax]
	mov	eax, edx
	sub	eax, esi
	imul	eax, ecx
	add	DWORD PTR -24[rbp], eax
.L118:
	mov	eax, DWORD PTR -40[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	jnb	.L119
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L120
.L119:
	mov	eax, DWORD PTR -40[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	jne	.L120
	mov	eax, DWORD PTR -32[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jne	.L121
	mov	eax, DWORD PTR -24[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jb	.L122
.L121:
	mov	eax, DWORD PTR -32[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jnb	.L120
.L122:
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -16[rbp], rax
.L120:
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -16[rbp]
	jne	.L126
	mov	eax, DWORD PTR -40[rbp]
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR -20[rbp], eax
	jmp	.L102
.L125:
	nop
	jmp	.L102
.L126:
	nop
.L102:
	add	DWORD PTR -44[rbp], 1
.L100:
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, DWORD PTR -68[rbp]
	jb	.L123
	mov	rax, QWORD PTR -16[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	_glfwChooseFBConfig, .-_glfwChooseFBConfig
	.globl	_glfwClearInput
	.type	_glfwClearInput, @function
_glfwClearInput:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], 0
	jmp	.L128
.L129:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, _glfwInput[rip+20]
	mov	BYTE PTR [rax+rdx], 0
	add	DWORD PTR -4[rbp], 1
.L128:
	cmp	DWORD PTR -4[rbp], 325
	jle	.L129
	mov	DWORD PTR _glfwInput[rip+348], 0
	mov	DWORD PTR -4[rbp], 0
	jmp	.L130
.L131:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, _glfwInput[rip+12]
	mov	BYTE PTR [rax+rdx], 0
	add	DWORD PTR -4[rbp], 1
.L130:
	cmp	DWORD PTR -4[rbp], 7
	jle	.L131
	mov	DWORD PTR _glfwInput[rip], 0
	mov	DWORD PTR _glfwInput[rip+4], 0
	mov	DWORD PTR _glfwInput[rip+8], 0
	mov	DWORD PTR _glfwInput[rip+352], 0
	mov	DWORD PTR _glfwInput[rip+356], 0
	mov	DWORD PTR _glfwInput[rip+360], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	_glfwClearInput, .-_glfwClearInput
	.globl	_glfwClearWindowHints
	.type	_glfwClearWindowHints, @function
_glfwClearWindowHints:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	edx, 56
	mov	esi, 0
	lea	rdi, _glfwLibrary[rip]
	call	memset@PLT
	mov	DWORD PTR _glfwLibrary[rip+36], 1
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	_glfwClearWindowHints, .-_glfwClearWindowHints
	.globl	_glfwCloseStream
	.type	_glfwCloseStream, @function
_glfwCloseStream:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L134
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	fclose@PLT
.L134:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 32
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	_glfwCloseStream, .-_glfwCloseStream
	.globl	_glfwGetClosestVideoMode
	.type	_glfwGetClosestVideoMode, @function
_glfwGetClosestVideoMode:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	DWORD PTR -68[rbp], edi
	mov	QWORD PTR -80[rbp], rsi
	mov	QWORD PTR -88[rbp], rdx
	mov	QWORD PTR -96[rbp], rcx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR _glfwLibrary[rip+116]
	test	eax, eax
	je	.L148
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rdx, QWORD PTR 232[rax]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 7
	add	rax, rdx
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rsi, rdx
	mov	rdi, rax
	call	XRRGetScreenInfo@PLT
	mov	QWORD PTR -32[rbp], rax
	lea	rdx, -60[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	XRRConfigSizes@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -44[rbp], -1
	mov	DWORD PTR -48[rbp], 2147483647
	mov	DWORD PTR -52[rbp], 0
	jmp	.L137
.L139:
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -52[rbp]
	movsx	rdx, edx
	mov	rcx, rdx
	sal	rcx, 4
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, rcx
	mov	edx, DWORD PTR [rdx]
	sub	eax, edx
	mov	ecx, eax
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -52[rbp]
	movsx	rdx, edx
	mov	rsi, rdx
	sal	rsi, 4
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, rsi
	mov	edx, DWORD PTR [rdx]
	sub	eax, edx
	mov	esi, ecx
	imul	esi, eax
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -52[rbp]
	movsx	rdx, edx
	mov	rcx, rdx
	sal	rcx, 4
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, rcx
	mov	edx, DWORD PTR 4[rdx]
	sub	eax, edx
	mov	ecx, eax
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -52[rbp]
	movsx	rdx, edx
	mov	rdi, rdx
	sal	rdi, 4
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, rdi
	mov	edx, DWORD PTR 4[rdx]
	sub	eax, edx
	imul	eax, ecx
	add	eax, esi
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -48[rbp]
	jge	.L138
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR -44[rbp], eax
.L138:
	add	DWORD PTR -52[rbp], 1
.L137:
	mov	eax, DWORD PTR -60[rbp]
	cmp	DWORD PTR -52[rbp], eax
	jl	.L139
	cmp	DWORD PTR -44[rbp], -1
	je	.L140
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jle	.L140
	lea	rdx, -56[rbp]
	mov	ecx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	XRRConfigRates@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -40[rbp], -1
	mov	DWORD PTR -48[rbp], 2147483647
	mov	DWORD PTR -52[rbp], 0
	jmp	.L141
.L143:
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movsx	edx, ax
	mov	rax, QWORD PTR -96[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	eax, edx
	sub	eax, ecx
	cdq
	xor	eax, edx
	mov	DWORD PTR -36[rbp], eax
	sub	DWORD PTR -36[rbp], edx
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -48[rbp]
	jge	.L142
	mov	eax, DWORD PTR -36[rbp]
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	cwde
	mov	DWORD PTR -40[rbp], eax
.L142:
	add	DWORD PTR -52[rbp], 1
.L141:
	mov	eax, DWORD PTR -56[rbp]
	cmp	DWORD PTR -52[rbp], eax
	jl	.L143
	cmp	DWORD PTR -40[rbp], -1
	je	.L140
	mov	rax, QWORD PTR -96[rbp]
	mov	edx, DWORD PTR -40[rbp]
	mov	DWORD PTR [rax], edx
.L140:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	XRRFreeScreenConfigInfo@PLT
	cmp	DWORD PTR -44[rbp], -1
	je	.L149
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L146
.L148:
	nop
	jmp	.L136
.L149:
	nop
.L136:
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rdx, QWORD PTR 232[rax]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 7
	add	rax, rdx
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rdx, QWORD PTR 232[rax]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 7
	add	rax, rdx
	mov	edx, DWORD PTR 28[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 0
.L146:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L147
	call	__stack_chk_fail@PLT
.L147:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	_glfwGetClosestVideoMode, .-_glfwGetClosestVideoMode
	.globl	_glfwGetThreadPointer
	.type	_glfwGetThreadPointer, @function
_glfwGetThreadPointer:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	lea	rax, _glfwThrd[rip+8]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L151
.L154:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	DWORD PTR -20[rbp], eax
	je	.L156
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
.L151:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L154
	jmp	.L153
.L156:
	nop
.L153:
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	_glfwGetThreadPointer, .-_glfwGetThreadPointer
	.section	.rodata
.LC3:
	.string	"/dev/input/js"
.LC4:
	.string	"/dev/js"
.LC5:
	.string	"%s%d"
	.text
	.globl	_glfwInitJoysticks
	.type	_glfwInitJoysticks, @function
_glfwInitJoysticks:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -80[rbp], 2048
	mov	DWORD PTR -64[rbp], 0
	jmp	.L158
.L159:
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, _glfwJoy[rip]
	mov	DWORD PTR [rdx+rax], 0
	add	DWORD PTR -64[rbp], 1
.L158:
	cmp	DWORD PTR -64[rbp], 15
	jle	.L159
	mov	DWORD PTR -68[rbp], 0
	mov	DWORD PTR -76[rbp], 0
	jmp	.L160
.L177:
	cmp	DWORD PTR -76[rbp], 0
	je	.L161
	cmp	DWORD PTR -76[rbp], 1
	je	.L162
	jmp	.L165
.L161:
	lea	rax, .LC3[rip]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L164
.L162:
	lea	rax, .LC4[rip]
	mov	QWORD PTR -56[rbp], rax
	nop
.L164:
	mov	DWORD PTR -64[rbp], 0
	jmp	.L166
.L175:
	mov	ecx, DWORD PTR -64[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	lea	rax, -32[rbp]
	lea	rsi, .LC5[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	lea	rax, -32[rbp]
	mov	esi, 2048
	mov	rdi, rax
	mov	eax, 0
	call	open@PLT
	mov	DWORD PTR -60[rbp], eax
	cmp	DWORD PTR -60[rbp], -1
	je	.L167
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 5
	mov	rcx, rax
	lea	rdx, _glfwJoy[rip+4]
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR [rcx+rdx], eax
	lea	rdx, -80[rbp]
	mov	eax, DWORD PTR -60[rbp]
	mov	esi, 2147772929
	mov	edi, eax
	mov	eax, 0
	call	ioctl@PLT
	mov	eax, DWORD PTR -80[rbp]
	cmp	eax, 65535
	jg	.L168
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	close@PLT
	jmp	.L167
.L168:
	lea	rdx, -81[rbp]
	mov	eax, DWORD PTR -60[rbp]
	mov	esi, 2147576337
	mov	edi, eax
	mov	eax, 0
	call	ioctl@PLT
	movzx	eax, BYTE PTR -81[rbp]
	mov	edx, DWORD PTR -68[rbp]
	movsx	rdx, edx
	movsx	eax, al
	mov	rcx, rdx
	sal	rcx, 5
	lea	rdx, _glfwJoy[rip+8]
	mov	DWORD PTR [rcx+rdx], eax
	lea	rdx, -81[rbp]
	mov	eax, DWORD PTR -60[rbp]
	mov	esi, 2147576338
	mov	edi, eax
	mov	eax, 0
	call	ioctl@PLT
	movzx	eax, BYTE PTR -81[rbp]
	mov	edx, DWORD PTR -68[rbp]
	movsx	rdx, edx
	movsx	eax, al
	mov	rcx, rdx
	sal	rcx, 5
	lea	rdx, _glfwJoy[rip+12]
	mov	DWORD PTR [rcx+rdx], eax
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, _glfwJoy[rip+8]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	sal	rax, 2
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -48[rbp], rax
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 5
	mov	rcx, rax
	lea	rdx, _glfwJoy[rip+16]
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR [rcx+rdx], rax
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, _glfwJoy[rip+16]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	jne	.L169
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	close@PLT
	jmp	.L167
.L169:
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, _glfwJoy[rip+12]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -40[rbp], rax
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 5
	mov	rcx, rax
	lea	rdx, _glfwJoy[rip+24]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rcx+rdx], rax
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, _glfwJoy[rip+24]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	jne	.L170
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, _glfwJoy[rip+16]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rdi, rax
	call	free@PLT
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	close@PLT
	jmp	.L167
.L170:
	mov	DWORD PTR -72[rbp], 0
	jmp	.L171
.L172:
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, _glfwJoy[rip+16]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	pxor	xmm0, xmm0
	movss	DWORD PTR [rax], xmm0
	add	DWORD PTR -72[rbp], 1
.L171:
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, _glfwJoy[rip+8]
	mov	eax, DWORD PTR [rdx+rax]
	cmp	DWORD PTR -72[rbp], eax
	jl	.L172
	mov	DWORD PTR -72[rbp], 0
	jmp	.L173
.L174:
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, _glfwJoy[rip+24]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	add	DWORD PTR -72[rbp], 1
.L173:
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, _glfwJoy[rip+12]
	mov	eax, DWORD PTR [rdx+rax]
	cmp	DWORD PTR -72[rbp], eax
	jl	.L174
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, _glfwJoy[rip]
	mov	DWORD PTR [rdx+rax], 1
	add	DWORD PTR -68[rbp], 1
.L167:
	add	DWORD PTR -64[rbp], 1
.L166:
	cmp	DWORD PTR -64[rbp], 50
	jg	.L179
	cmp	DWORD PTR -68[rbp], 15
	jle	.L175
.L179:
	nop
.L165:
	add	DWORD PTR -76[rbp], 1
.L160:
	cmp	DWORD PTR -68[rbp], 15
	jg	.L180
	cmp	DWORD PTR -76[rbp], 1
	jle	.L177
.L180:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L178
	call	__stack_chk_fail@PLT
.L178:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	_glfwInitJoysticks, .-_glfwInitJoysticks
	.globl	_glfwInitTimer
	.type	_glfwInitTimer, @function
_glfwInitTimer:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -32[rbp]
	mov	rsi, rax
	mov	edi, 1
	call	clock_gettime@PLT
	mov	DWORD PTR -44[rbp], eax
	cmp	DWORD PTR -44[rbp], 0
	jne	.L182
	mov	BYTE PTR _glfwLibrary[rip+128], 1
	movsd	xmm0, QWORD PTR .LC6[rip]
	movsd	QWORD PTR _glfwLibrary[rip+136], xmm0
	jmp	.L183
.L182:
	movsd	xmm0, QWORD PTR .LC7[rip]
	movsd	QWORD PTR _glfwLibrary[rip+136], xmm0
.L183:
	call	getRawTime
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR _glfwLibrary[rip+144], rax
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L184
	call	__stack_chk_fail@PLT
.L184:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	_glfwInitTimer, .-_glfwInitTimer
	.globl	_glfwInputChar
	.type	_glfwInputChar, @function
_glfwInputChar:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	DWORD PTR -4[rbp], 0
	cmp	DWORD PTR -20[rbp], 159
	jg	.L186
	cmp	DWORD PTR -20[rbp], 126
	jg	.L192
	cmp	DWORD PTR -20[rbp], 31
	jle	.L192
.L186:
	mov	eax, DWORD PTR _glfwInput[rip+348]
	cmp	DWORD PTR -20[rbp], eax
	jne	.L188
	cmp	DWORD PTR -24[rbp], 1
	jne	.L188
	mov	DWORD PTR -4[rbp], 1
.L188:
	cmp	DWORD PTR -24[rbp], 1
	jne	.L189
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR _glfwInput[rip+348], eax
	jmp	.L190
.L189:
	mov	DWORD PTR _glfwInput[rip+348], 0
.L190:
	cmp	DWORD PTR -24[rbp], 1
	jne	.L192
	mov	rax, QWORD PTR _glfwWin[rip+56]
	test	rax, rax
	je	.L192
	cmp	DWORD PTR -4[rbp], 0
	je	.L191
	mov	eax, DWORD PTR _glfwInput[rip+360]
	test	eax, eax
	je	.L192
.L191:
	mov	rcx, QWORD PTR _glfwWin[rip+56]
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, edx
	mov	edi, eax
	call	rcx
.L192:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	_glfwInputChar, .-_glfwInputChar
	.globl	_glfwInputDeactivation
	.type	_glfwInputDeactivation, @function
_glfwInputDeactivation:
.LFB17:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], 0
	jmp	.L194
.L196:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, _glfwInput[rip+20]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 1
	jne	.L195
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, 0
	mov	edi, eax
	call	_glfwInputKey
.L195:
	add	DWORD PTR -4[rbp], 1
.L194:
	cmp	DWORD PTR -4[rbp], 325
	jle	.L196
	mov	DWORD PTR -4[rbp], 0
	jmp	.L197
.L199:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, _glfwInput[rip+12]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 1
	jne	.L198
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, 0
	mov	edi, eax
	call	_glfwInputMouseClick
.L198:
	add	DWORD PTR -4[rbp], 1
.L197:
	cmp	DWORD PTR -4[rbp], 7
	jle	.L199
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	_glfwInputDeactivation, .-_glfwInputDeactivation
	.globl	_glfwInputKey
	.type	_glfwInputKey, @function
_glfwInputKey:
.LFB18:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	DWORD PTR -4[rbp], 0
	cmp	DWORD PTR -20[rbp], 325
	jg	.L208
	cmp	DWORD PTR -20[rbp], 0
	js	.L208
	cmp	DWORD PTR -24[rbp], 0
	jne	.L209
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, _glfwInput[rip+20]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 1
	jne	.L208
	jmp	.L202
.L209:
	nop
.L202:
	cmp	DWORD PTR -24[rbp], 0
	jne	.L203
	mov	eax, DWORD PTR _glfwInput[rip+352]
	test	eax, eax
	je	.L203
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, _glfwInput[rip+20]
	mov	BYTE PTR [rax+rdx], 2
	jmp	.L204
.L203:
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, _glfwInput[rip+20]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 1
	jne	.L205
	cmp	DWORD PTR -24[rbp], 1
	jne	.L205
	mov	eax, 1
	jmp	.L206
.L205:
	mov	eax, 0
.L206:
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	mov	edx, DWORD PTR -24[rbp]
	mov	ecx, edx
	lea	rdx, _glfwInput[rip+20]
	mov	BYTE PTR [rax+rdx], cl
.L204:
	mov	rax, QWORD PTR _glfwWin[rip+48]
	test	rax, rax
	je	.L208
	cmp	DWORD PTR -4[rbp], 0
	je	.L207
	mov	eax, DWORD PTR _glfwInput[rip+360]
	test	eax, eax
	je	.L208
.L207:
	mov	rcx, QWORD PTR _glfwWin[rip+48]
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, edx
	mov	edi, eax
	call	rcx
.L208:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	_glfwInputKey, .-_glfwInputKey
	.globl	_glfwInputMouseClick
	.type	_glfwInputMouseClick, @function
_glfwInputMouseClick:
.LFB19:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	cmp	DWORD PTR -4[rbp], 0
	js	.L214
	cmp	DWORD PTR -4[rbp], 7
	jg	.L214
	cmp	DWORD PTR -8[rbp], 0
	jne	.L212
	mov	eax, DWORD PTR _glfwInput[rip+356]
	test	eax, eax
	je	.L212
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, _glfwInput[rip+12]
	mov	BYTE PTR [rax+rdx], 2
	jmp	.L213
.L212:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	mov	edx, DWORD PTR -8[rbp]
	mov	ecx, edx
	lea	rdx, _glfwInput[rip+12]
	mov	BYTE PTR [rax+rdx], cl
.L213:
	mov	rax, QWORD PTR _glfwWin[rip+24]
	test	rax, rax
	je	.L214
	mov	rcx, QWORD PTR _glfwWin[rip+24]
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, edx
	mov	edi, eax
	call	rcx
.L214:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	_glfwInputMouseClick, .-_glfwInputMouseClick
	.globl	_glfwKeySym2Unicode
	.type	_glfwKeySym2Unicode, @function
_glfwKeySym2Unicode:
.LFB20:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -12[rbp], 0
	mov	DWORD PTR -8[rbp], 775
	cmp	QWORD PTR -24[rbp], 31
	jbe	.L216
	cmp	QWORD PTR -24[rbp], 126
	jbe	.L217
.L216:
	cmp	QWORD PTR -24[rbp], 159
	jbe	.L218
	cmp	QWORD PTR -24[rbp], 255
	ja	.L218
.L217:
	mov	rax, QWORD PTR -24[rbp]
	jmp	.L219
.L218:
	mov	rax, QWORD PTR -24[rbp]
	and	eax, 4278190080
	cmp	rax, 16777216
	jne	.L221
	mov	rax, QWORD PTR -24[rbp]
	and	eax, 16777215
	jmp	.L219
.L224:
	mov	edx, DWORD PTR -12[rbp]
	mov	eax, DWORD PTR -8[rbp]
	add	eax, edx
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, keysymtab[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movzx	eax, ax
	cmp	QWORD PTR -24[rbp], rax
	jbe	.L222
	mov	eax, DWORD PTR -4[rbp]
	add	eax, 1
	mov	DWORD PTR -12[rbp], eax
	jmp	.L221
.L222:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, keysymtab[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movzx	eax, ax
	cmp	QWORD PTR -24[rbp], rax
	jnb	.L223
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, 1
	mov	DWORD PTR -8[rbp], eax
	jmp	.L221
.L223:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, keysymtab[rip+2]
	movzx	eax, WORD PTR [rdx+rax]
	movzx	eax, ax
	jmp	.L219
.L221:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -12[rbp]
	jge	.L224
	mov	rax, -1
.L219:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	_glfwKeySym2Unicode, .-_glfwKeySym2Unicode
	.globl	_glfwNewThread
	.type	_glfwNewThread, @function
_glfwNewThread:
.LFB21:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	call	pthread_self@PLT
	mov	QWORD PTR -16[rbp], rax
	lea	rdi, _glfwThrd[rip+48]
	call	pthread_mutex_lock@PLT
	lea	rax, _glfwThrd[rip+8]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L226
.L229:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 32[rax]
	cmp	QWORD PTR -16[rbp], rax
	je	.L232
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -24[rbp], rax
.L226:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L229
	jmp	.L228
.L232:
	nop
.L228:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L230
	lea	rdi, _glfwThrd[rip+48]
	call	pthread_mutex_unlock@PLT
	mov	eax, 0
	jmp	.L231
.L230:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -8[rbp], rax
	lea	rdi, _glfwThrd[rip+48]
	call	pthread_mutex_unlock@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	rdx
	lea	rdi, _glfwThrd[rip+48]
	call	pthread_mutex_lock@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	_glfwRemoveThread
	lea	rdi, _glfwThrd[rip+48]
	call	pthread_mutex_unlock@PLT
	mov	eax, 0
.L231:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	_glfwNewThread, .-_glfwNewThread
	.globl	_glfwOpenBufferStream
	.type	_glfwOpenBufferStream, @function
_glfwOpenBufferStream:
.LFB22:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 32
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	eax, 1
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	_glfwOpenBufferStream, .-_glfwOpenBufferStream
	.globl	_glfwOpenFileStream
	.type	_glfwOpenFileStream, @function
_glfwOpenFileStream:
.LFB23:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 32
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	fopen@PLT
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L236
	mov	eax, 0
	jmp	.L237
.L236:
	mov	eax, 1
.L237:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	_glfwOpenFileStream, .-_glfwOpenFileStream
	.globl	_glfwParseGLVersion
	.type	_glfwParseGLVersion, @function
_glfwParseGLVersion:
.LFB24:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	DWORD PTR -24[rbp], 0
	mov	DWORD PTR -20[rbp], 0
	mov	edi, 7938
	call	glGetString@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L257
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -28[rbp], 0
.L244:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jbe	.L240
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 57
	setbe	al
	mov	BYTE PTR -31[rbp], al
	jmp	.L241
.L240:
	mov	BYTE PTR -31[rbp], 0
.L241:
	movzx	eax, BYTE PTR -31[rbp]
	xor	eax, 1
	test	al, al
	jne	.L258
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	eax, edx
	sub	eax, 48
	mov	DWORD PTR -28[rbp], eax
	add	QWORD PTR -16[rbp], 1
	jmp	.L244
.L258:
	nop
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	jne	.L245
	add	QWORD PTR -16[rbp], 1
	mov	DWORD PTR -24[rbp], 0
.L250:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jbe	.L246
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 57
	setbe	al
	mov	BYTE PTR -30[rbp], al
	jmp	.L247
.L246:
	mov	BYTE PTR -30[rbp], 0
.L247:
	movzx	eax, BYTE PTR -30[rbp]
	xor	eax, 1
	test	al, al
	jne	.L259
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	eax, edx
	sub	eax, 48
	mov	DWORD PTR -24[rbp], eax
	add	QWORD PTR -16[rbp], 1
	jmp	.L250
.L259:
	nop
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	jne	.L245
	add	QWORD PTR -16[rbp], 1
	mov	DWORD PTR -20[rbp], 0
.L254:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jbe	.L251
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 57
	setbe	al
	mov	BYTE PTR -29[rbp], al
	jmp	.L252
.L251:
	mov	BYTE PTR -29[rbp], 0
.L252:
	movzx	eax, BYTE PTR -29[rbp]
	xor	eax, 1
	test	al, al
	jne	.L260
	mov	edx, DWORD PTR -20[rbp]
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	eax, edx
	sub	eax, 48
	mov	DWORD PTR -20[rbp], eax
	add	QWORD PTR -16[rbp], 1
	jmp	.L254
.L260:
	nop
.L245:
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], edx
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], edx
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR [rax], edx
.L257:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	_glfwParseGLVersion, .-_glfwParseGLVersion
	.globl	_glfwPlatformBroadcastCond
	.type	_glfwPlatformBroadcastCond, @function
_glfwPlatformBroadcastCond:
.LFB25:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	pthread_cond_broadcast@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	_glfwPlatformBroadcastCond, .-_glfwPlatformBroadcastCond
	.globl	_glfwPlatformCloseWindow
	.type	_glfwPlatformCloseWindow, @function
_glfwPlatformCloseWindow:
.LFB26:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR _glfwWin[rip+64]
	test	eax, eax
	je	.L263
	call	leaveFullscreenMode
.L263:
	mov	rax, QWORD PTR _glfwWin[rip+256]
	test	rax, rax
	je	.L264
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	glXMakeCurrent@PLT
	mov	rdx, QWORD PTR _glfwWin[rip+256]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rsi, rdx
	mov	rdi, rax
	call	glXDestroyContext@PLT
	mov	QWORD PTR _glfwWin[rip+256], 0
.L264:
	mov	rax, QWORD PTR _glfwWin[rip+240]
	test	rax, rax
	je	.L265
	mov	rax, QWORD PTR _glfwWin[rip+240]
	mov	rdi, rax
	call	XFree@PLT
	mov	QWORD PTR _glfwWin[rip+240], 0
.L265:
	mov	rax, QWORD PTR _glfwWin[rip+216]
	test	rax, rax
	je	.L266
	mov	rdx, QWORD PTR _glfwWin[rip+216]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rsi, rdx
	mov	rdi, rax
	call	XUnmapWindow@PLT
	mov	rdx, QWORD PTR _glfwWin[rip+216]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rsi, rdx
	mov	rdi, rax
	call	XDestroyWindow@PLT
	mov	QWORD PTR _glfwWin[rip+216], 0
.L266:
	mov	rax, QWORD PTR _glfwWin[rip+208]
	test	rax, rax
	je	.L267
	mov	rdx, QWORD PTR _glfwWin[rip+208]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rsi, rdx
	mov	rdi, rax
	call	XFreeColormap@PLT
	mov	QWORD PTR _glfwWin[rip+208], 0
.L267:
	mov	rax, QWORD PTR _glfwWin[rip+304]
	test	rax, rax
	je	.L268
	mov	rdx, QWORD PTR _glfwWin[rip+304]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rsi, rdx
	mov	rdi, rax
	call	XFreeCursor@PLT
	mov	QWORD PTR _glfwWin[rip+304], 0
.L268:
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rdi, rax
	call	XFlush@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	_glfwPlatformCloseWindow, .-_glfwPlatformCloseWindow
	.globl	_glfwPlatformCreateCond
	.type	_glfwPlatformCreateCond, @function
_glfwPlatformCreateCond:
.LFB27:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	edi, 48
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L270
	mov	eax, 0
	jmp	.L271
.L270:
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	pthread_cond_init@PLT
	mov	rax, QWORD PTR -8[rbp]
.L271:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	_glfwPlatformCreateCond, .-_glfwPlatformCreateCond
	.globl	_glfwPlatformCreateMutex
	.type	_glfwPlatformCreateMutex, @function
_glfwPlatformCreateMutex:
.LFB28:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	edi, 40
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L273
	mov	eax, 0
	jmp	.L274
.L273:
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	pthread_mutex_init@PLT
	mov	rax, QWORD PTR -8[rbp]
.L274:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	_glfwPlatformCreateMutex, .-_glfwPlatformCreateMutex
	.globl	_glfwPlatformCreateThread
	.type	_glfwPlatformCreateThread, @function
_glfwPlatformCreateThread:
.LFB29:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	lea	rdi, _glfwThrd[rip+48]
	call	pthread_mutex_lock@PLT
	mov	edi, 40
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L276
	lea	rdi, _glfwThrd[rip+48]
	call	pthread_mutex_unlock@PLT
	mov	eax, -1
	jmp	.L277
.L276:
	mov	eax, DWORD PTR _glfwThrd[rip]
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR _glfwThrd[rip]
	add	eax, 1
	mov	DWORD PTR _glfwThrd[rip], eax
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	lea	rdi, 32[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	rcx, rax
	lea	rdx, _glfwNewThread[rip]
	mov	esi, 0
	call	pthread_create@PLT
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	je	.L278
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	lea	rdi, _glfwThrd[rip+48]
	call	pthread_mutex_unlock@PLT
	mov	eax, -1
	jmp	.L277
.L278:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	_glfwAppendThread
	lea	rdi, _glfwThrd[rip+48]
	call	pthread_mutex_unlock@PLT
	mov	eax, DWORD PTR -24[rbp]
.L277:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	_glfwPlatformCreateThread, .-_glfwPlatformCreateThread
	.globl	_glfwPlatformDestroyCond
	.type	_glfwPlatformDestroyCond, @function
_glfwPlatformDestroyCond:
.LFB30:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	pthread_cond_destroy@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.size	_glfwPlatformDestroyCond, .-_glfwPlatformDestroyCond
	.globl	_glfwPlatformDestroyMutex
	.type	_glfwPlatformDestroyMutex, @function
_glfwPlatformDestroyMutex:
.LFB31:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	pthread_mutex_destroy@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.size	_glfwPlatformDestroyMutex, .-_glfwPlatformDestroyMutex
	.globl	_glfwPlatformDestroyThread
	.type	_glfwPlatformDestroyThread, @function
_glfwPlatformDestroyThread:
.LFB32:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	lea	rdi, _glfwThrd[rip+48]
	call	pthread_mutex_lock@PLT
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	_glfwGetThreadPointer
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L282
	lea	rdi, _glfwThrd[rip+48]
	call	pthread_mutex_unlock@PLT
	jmp	.L284
.L282:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	esi, 9
	mov	rdi, rax
	call	pthread_kill@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	_glfwRemoveThread
	lea	rdi, _glfwThrd[rip+48]
	call	pthread_mutex_unlock@PLT
.L284:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE32:
	.size	_glfwPlatformDestroyThread, .-_glfwPlatformDestroyThread
	.globl	_glfwPlatformDisableSystemKeys
	.type	_glfwPlatformDisableSystemKeys, @function
_glfwPlatformDisableSystemKeys:
.LFB33:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	rsi, QWORD PTR _glfwWin[rip+216]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	r9d, 0
	mov	r8d, 1
	mov	ecx, 1
	mov	edx, 1
	mov	rdi, rax
	call	XGrabKeyboard@PLT
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jne	.L287
	mov	BYTE PTR _glfwWin[rip+385], 1
.L287:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE33:
	.size	_glfwPlatformDisableSystemKeys, .-_glfwPlatformDisableSystemKeys
	.globl	_glfwPlatformEnableSystemKeys
	.type	_glfwPlatformEnableSystemKeys, @function
_glfwPlatformEnableSystemKeys:
.LFB34:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movzx	eax, BYTE PTR _glfwWin[rip+385]
	test	al, al
	je	.L290
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	esi, 0
	mov	rdi, rax
	call	XUngrabKeyboard@PLT
	mov	BYTE PTR _glfwWin[rip+385], 0
.L290:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE34:
	.size	_glfwPlatformEnableSystemKeys, .-_glfwPlatformEnableSystemKeys
	.globl	_glfwPlatformExtensionSupported
	.type	_glfwPlatformExtensionSupported, @function
_glfwPlatformExtensionSupported:
.LFB35:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	edx, DWORD PTR _glfwWin[rip+232]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	esi, edx
	mov	rdi, rax
	call	glXQueryExtensionsString@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L292
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	_glfwStringInExtensionString
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	je	.L292
	mov	eax, 1
	jmp	.L293
.L292:
	mov	eax, 0
.L293:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE35:
	.size	_glfwPlatformExtensionSupported, .-_glfwPlatformExtensionSupported
	.globl	_glfwPlatformGetDesktopMode
	.type	_glfwPlatformGetDesktopMode, @function
_glfwPlatformGetDesktopMode:
.LFB36:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 224[rax]
	mov	DWORD PTR -16[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 232[rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 7
	add	rax, rdx
	mov	eax, DWORD PTR 56[rax]
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, 12[rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, 8[rax]
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	BPP2RGB
	mov	eax, DWORD PTR _glfwLibrary[rip+116]
	test	eax, eax
	je	.L298
	mov	eax, DWORD PTR _glfwWin[rip+408]
	test	eax, eax
	je	.L299
	mov	edx, DWORD PTR _glfwWin[rip+416]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], edx
	mov	edx, DWORD PTR _glfwWin[rip+420]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 4[rax], edx
	jmp	.L300
.L298:
	nop
	jmp	.L295
.L299:
	nop
.L295:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 232[rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 7
	add	rax, rdx
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 232[rax]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 7
	add	rax, rdx
	mov	edx, DWORD PTR 28[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 4[rax], edx
.L300:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE36:
	.size	_glfwPlatformGetDesktopMode, .-_glfwPlatformGetDesktopMode
	.globl	_glfwPlatformGetJoystickButtons
	.type	_glfwPlatformGetJoystickButtons, @function
_glfwPlatformGetJoystickButtons:
.LFB37:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -24[rbp], edx
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, _glfwJoy[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	jne	.L302
	mov	eax, 0
	jmp	.L303
.L302:
	call	pollJoystickEvents
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, _glfwJoy[rip+12]
	mov	eax, DWORD PTR [rdx+rax]
	cmp	DWORD PTR -24[rbp], eax
	jle	.L304
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, _glfwJoy[rip+12]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -24[rbp], eax
.L304:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L305
.L306:
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, _glfwJoy[rip+24]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	add	rax, rdx
	mov	edx, DWORD PTR -4[rbp]
	movsx	rcx, edx
	mov	rdx, QWORD PTR -32[rbp]
	add	rdx, rcx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR [rdx], al
	add	DWORD PTR -4[rbp], 1
.L305:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jl	.L306
	mov	eax, DWORD PTR -24[rbp]
.L303:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE37:
	.size	_glfwPlatformGetJoystickButtons, .-_glfwPlatformGetJoystickButtons
	.globl	_glfwPlatformGetJoystickParam
	.type	_glfwPlatformGetJoystickParam, @function
_glfwPlatformGetJoystickParam:
.LFB38:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, _glfwJoy[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	jne	.L308
	mov	eax, 0
	jmp	.L309
.L308:
	cmp	DWORD PTR -8[rbp], 327683
	je	.L310
	cmp	DWORD PTR -8[rbp], 327683
	jg	.L311
	cmp	DWORD PTR -8[rbp], 327681
	je	.L312
	cmp	DWORD PTR -8[rbp], 327682
	je	.L313
	jmp	.L311
.L312:
	mov	eax, 1
	jmp	.L309
.L313:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, _glfwJoy[rip+8]
	mov	eax, DWORD PTR [rdx+rax]
	jmp	.L309
.L310:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, _glfwJoy[rip+12]
	mov	eax, DWORD PTR [rdx+rax]
	jmp	.L309
.L311:
	mov	eax, 0
.L309:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE38:
	.size	_glfwPlatformGetJoystickParam, .-_glfwPlatformGetJoystickParam
	.globl	_glfwPlatformGetJoystickPos
	.type	_glfwPlatformGetJoystickPos, @function
_glfwPlatformGetJoystickPos:
.LFB39:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -24[rbp], edx
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, _glfwJoy[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	jne	.L315
	mov	eax, 0
	jmp	.L316
.L315:
	call	pollJoystickEvents
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, _glfwJoy[rip+8]
	mov	eax, DWORD PTR [rdx+rax]
	cmp	DWORD PTR -24[rbp], eax
	jle	.L317
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, _glfwJoy[rip+8]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -24[rbp], eax
.L317:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L318
.L319:
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, _glfwJoy[rip+16]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 2
	add	rdx, rax
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rcx
	movss	xmm0, DWORD PTR [rdx]
	movss	DWORD PTR [rax], xmm0
	add	DWORD PTR -4[rbp], 1
.L318:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jl	.L319
	mov	eax, DWORD PTR -24[rbp]
.L316:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE39:
	.size	_glfwPlatformGetJoystickPos, .-_glfwPlatformGetJoystickPos
	.globl	_glfwPlatformGetNumberOfProcessors
	.type	_glfwPlatformGetNumberOfProcessors, @function
_glfwPlatformGetNumberOfProcessors:
.LFB40:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	edi, 84
	call	sysconf@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE40:
	.size	_glfwPlatformGetNumberOfProcessors, .-_glfwPlatformGetNumberOfProcessors
	.globl	_glfwPlatformGetProcAddress
	.type	_glfwPlatformGetProcAddress, @function
_glfwPlatformGetProcAddress:
.LFB41:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	glXGetProcAddress@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE41:
	.size	_glfwPlatformGetProcAddress, .-_glfwPlatformGetProcAddress
	.globl	_glfwPlatformGetThreadID
	.type	_glfwPlatformGetThreadID, @function
_glfwPlatformGetThreadID:
.LFB42:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], -1
	call	pthread_self@PLT
	mov	QWORD PTR -8[rbp], rax
	lea	rdi, _glfwThrd[rip+48]
	call	pthread_mutex_lock@PLT
	lea	rax, _glfwThrd[rip+8]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L325
.L328:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 32[rax]
	cmp	QWORD PTR -8[rbp], rax
	jne	.L326
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	DWORD PTR -20[rbp], eax
	jmp	.L327
.L326:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
.L325:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L328
.L327:
	lea	rdi, _glfwThrd[rip+48]
	call	pthread_mutex_unlock@PLT
	mov	eax, DWORD PTR -20[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE42:
	.size	_glfwPlatformGetThreadID, .-_glfwPlatformGetThreadID
	.globl	_glfwPlatformGetTime
	.type	_glfwPlatformGetTime, @function
_glfwPlatformGetTime:
.LFB43:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	call	getRawTime
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR _glfwLibrary[rip+144]
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, rdx
	test	rax, rax
	js	.L331
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	jmp	.L332
.L331:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
.L332:
	movsd	xmm1, QWORD PTR _glfwLibrary[rip+136]
	mulsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE43:
	.size	_glfwPlatformGetTime, .-_glfwPlatformGetTime
	.globl	_glfwPlatformGetVideoModes
	.type	_glfwPlatformGetVideoModes, @function
_glfwPlatformGetVideoModes:
.LFB44:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 224
	mov	QWORD PTR -216[rbp], rdi
	mov	DWORD PTR -220[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 224[rax]
	mov	DWORD PTR -160[rbp], eax
	lea	rcx, -188[rbp]
	lea	rdx, -80[rbp]
	mov	rax, QWORD PTR -144[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	XGetVisualInfo@PLT
	mov	QWORD PTR -136[rbp], rax
	cmp	QWORD PTR -136[rbp], 0
	jne	.L335
	mov	eax, 0
	jmp	.L354
.L335:
	mov	eax, DWORD PTR -188[rbp]
	cdqe
	sal	rax, 2
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	mov	QWORD PTR -120[rbp], rax
	mov	DWORD PTR -168[rbp], 0
	mov	DWORD PTR -176[rbp], 0
	jmp	.L337
.L343:
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	sal	rax, 6
	mov	rdx, rax
	mov	rax, QWORD PTR -136[rbp]
	lea	rsi, [rdx+rax]
	lea	rdx, -192[rbp]
	mov	rax, QWORD PTR -144[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	rdi, rax
	call	glXGetConfig@PLT
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	sal	rax, 6
	mov	rdx, rax
	mov	rax, QWORD PTR -136[rbp]
	lea	rsi, [rdx+rax]
	lea	rdx, -196[rbp]
	mov	rax, QWORD PTR -144[rbp]
	mov	rcx, rdx
	mov	edx, 4
	mov	rdi, rax
	call	glXGetConfig@PLT
	mov	eax, DWORD PTR -192[rbp]
	test	eax, eax
	je	.L338
	mov	eax, DWORD PTR -196[rbp]
	test	eax, eax
	je	.L338
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	sal	rax, 6
	mov	rdx, rax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR 20[rax]
	mov	DWORD PTR -156[rbp], eax
	lea	rcx, -200[rbp]
	lea	rdx, -204[rbp]
	lea	rsi, -208[rbp]
	mov	eax, DWORD PTR -156[rbp]
	mov	edi, eax
	call	BPP2RGB
	mov	eax, DWORD PTR -208[rbp]
	sal	eax, 16
	mov	edx, eax
	mov	eax, DWORD PTR -204[rbp]
	sal	eax, 8
	or	edx, eax
	mov	eax, DWORD PTR -200[rbp]
	or	eax, edx
	mov	DWORD PTR -156[rbp], eax
	mov	DWORD PTR -172[rbp], 0
	jmp	.L339
.L342:
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -156[rbp], eax
	je	.L356
	add	DWORD PTR -172[rbp], 1
.L339:
	mov	eax, DWORD PTR -172[rbp]
	cmp	eax, DWORD PTR -168[rbp]
	jl	.L342
	jmp	.L341
.L356:
	nop
.L341:
	mov	eax, DWORD PTR -172[rbp]
	cmp	eax, DWORD PTR -168[rbp]
	jl	.L338
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -156[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -168[rbp], 1
.L338:
	add	DWORD PTR -176[rbp], 1
.L337:
	mov	eax, DWORD PTR -188[rbp]
	cmp	DWORD PTR -176[rbp], eax
	jl	.L343
	mov	DWORD PTR -164[rbp], 0
	mov	QWORD PTR -152[rbp], 0
	mov	eax, DWORD PTR _glfwLibrary[rip+116]
	test	eax, eax
	je	.L344
	mov	rax, QWORD PTR -144[rbp]
	mov	rdx, QWORD PTR 232[rax]
	mov	eax, DWORD PTR -160[rbp]
	cdqe
	sal	rax, 7
	add	rax, rdx
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -144[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	XRRGetScreenInfo@PLT
	mov	QWORD PTR -112[rbp], rax
	lea	rdx, -184[rbp]
	mov	rax, QWORD PTR -112[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	XRRConfigSizes@PLT
	mov	QWORD PTR -104[rbp], rax
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	sal	rax, 3
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR -152[rbp], rax
	mov	DWORD PTR -176[rbp], 0
	jmp	.L345
.L346:
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -164[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -152[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -164[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -152[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR 4[rdx], eax
	add	DWORD PTR -164[rbp], 1
	add	DWORD PTR -176[rbp], 1
.L345:
	mov	eax, DWORD PTR -184[rbp]
	cmp	DWORD PTR -176[rbp], eax
	jl	.L346
	mov	rax, QWORD PTR -112[rbp]
	mov	rdi, rax
	call	XRRFreeScreenConfigInfo@PLT
.L344:
	cmp	QWORD PTR -152[rbp], 0
	jne	.L347
	mov	DWORD PTR -164[rbp], 1
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	sal	rax, 3
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -144[rbp]
	mov	rdx, QWORD PTR 232[rax]
	mov	eax, DWORD PTR -160[rbp]
	cdqe
	sal	rax, 7
	add	rax, rdx
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -152[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -144[rbp]
	mov	rdx, QWORD PTR 232[rax]
	mov	eax, DWORD PTR -160[rbp]
	cdqe
	sal	rax, 7
	add	rax, rdx
	mov	edx, DWORD PTR 28[rax]
	mov	rax, QWORD PTR -152[rbp]
	mov	DWORD PTR 4[rax], edx
.L347:
	mov	DWORD PTR -180[rbp], 0
	mov	DWORD PTR -176[rbp], 0
	jmp	.L348
.L353:
	mov	DWORD PTR -172[rbp], 0
	jmp	.L349
.L351:
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -152[rbp]
	lea	rcx, [rdx+rax]
	mov	eax, DWORD PTR -180[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -216[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR [rcx]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -152[rbp]
	lea	rcx, [rdx+rax]
	mov	eax, DWORD PTR -180[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -216[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR 4[rcx]
	mov	DWORD PTR 4[rdx], eax
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	sar	eax, 16
	mov	ecx, eax
	mov	eax, DWORD PTR -180[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -216[rbp]
	add	rdx, rax
	movzx	eax, cl
	mov	DWORD PTR 8[rdx], eax
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	sar	eax, 8
	mov	ecx, eax
	mov	eax, DWORD PTR -180[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -216[rbp]
	add	rdx, rax
	movzx	eax, cl
	mov	DWORD PTR 16[rdx], eax
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	ecx, DWORD PTR [rax]
	mov	eax, DWORD PTR -180[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -216[rbp]
	add	rdx, rax
	movzx	eax, cl
	mov	DWORD PTR 12[rdx], eax
	add	DWORD PTR -180[rbp], 1
	add	DWORD PTR -172[rbp], 1
.L349:
	mov	eax, DWORD PTR -180[rbp]
	cmp	eax, DWORD PTR -220[rbp]
	jge	.L350
	mov	eax, DWORD PTR -172[rbp]
	cmp	eax, DWORD PTR -164[rbp]
	jl	.L351
.L350:
	add	DWORD PTR -176[rbp], 1
.L348:
	mov	eax, DWORD PTR -180[rbp]
	cmp	eax, DWORD PTR -220[rbp]
	jge	.L352
	mov	eax, DWORD PTR -176[rbp]
	cmp	eax, DWORD PTR -168[rbp]
	jl	.L353
.L352:
	mov	rax, QWORD PTR -136[rbp]
	mov	rdi, rax
	call	XFree@PLT
	mov	rax, QWORD PTR -152[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, DWORD PTR -180[rbp]
.L354:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L355
	call	__stack_chk_fail@PLT
.L355:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE44:
	.size	_glfwPlatformGetVideoModes, .-_glfwPlatformGetVideoModes
	.globl	_glfwPlatformHideMouseCursor
	.type	_glfwPlatformHideMouseCursor, @function
_glfwPlatformHideMouseCursor:
.LFB45:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	movzx	eax, BYTE PTR _glfwWin[rip+387]
	test	al, al
	jne	.L358
	mov	rdx, QWORD PTR _glfwWin[rip+304]
	mov	rcx, QWORD PTR _glfwWin[rip+216]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rsi, rcx
	mov	rdi, rax
	call	XDefineCursor@PLT
	mov	BYTE PTR _glfwWin[rip+387], 1
.L358:
	movzx	eax, BYTE PTR _glfwWin[rip+386]
	test	al, al
	jne	.L359
	mov	rdx, QWORD PTR _glfwWin[rip+216]
	mov	rsi, QWORD PTR _glfwWin[rip+216]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	sub	rsp, 8
	push	0
	push	0
	push	rdx
	mov	r9d, 1
	mov	r8d, 1
	mov	ecx, 76
	mov	edx, 1
	mov	rdi, rax
	call	XGrabPointer@PLT
	add	rsp, 32
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jne	.L359
	mov	BYTE PTR _glfwWin[rip+386], 1
.L359:
	mov	eax, DWORD PTR _glfwWin[rip+104]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	edx, eax
	mov	eax, DWORD PTR _glfwWin[rip+100]
	mov	ecx, eax
	shr	ecx, 31
	add	eax, ecx
	sar	eax
	mov	esi, edx
	mov	edi, eax
	call	_glfwPlatformSetMouseCursorPos
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE45:
	.size	_glfwPlatformHideMouseCursor, .-_glfwPlatformHideMouseCursor
	.globl	_glfwPlatformIconifyWindow
	.type	_glfwPlatformIconifyWindow, @function
_glfwPlatformIconifyWindow:
.LFB46:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movzx	eax, BYTE PTR _glfwWin[rip+384]
	test	al, al
	jne	.L362
	mov	edx, DWORD PTR _glfwWin[rip+232]
	mov	rcx, QWORD PTR _glfwWin[rip+216]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rsi, rcx
	mov	rdi, rax
	call	XIconifyWindow@PLT
.L362:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE46:
	.size	_glfwPlatformIconifyWindow, .-_glfwPlatformIconifyWindow
	.globl	_glfwPlatformInit
	.type	_glfwPlatformInit, @function
_glfwPlatformInit:
.LFB47:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	call	initDisplay
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jne	.L364
	mov	eax, 0
	jmp	.L365
.L364:
	call	initThreads
	call	initLibraries
	lea	rdi, _glfwLibrary[rip+56]
	call	_glfwPlatformGetDesktopMode
	lea	rdi, glfw_atexit[rip]
	call	atexit@PLT
	call	_glfwInitJoysticks
	call	_glfwInitTimer
	mov	eax, 1
.L365:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE47:
	.size	_glfwPlatformInit, .-_glfwPlatformInit
	.globl	_glfwPlatformLockMutex
	.type	_glfwPlatformLockMutex, @function
_glfwPlatformLockMutex:
.LFB48:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	pthread_mutex_lock@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE48:
	.size	_glfwPlatformLockMutex, .-_glfwPlatformLockMutex
	.globl	_glfwPlatformOpenWindow
	.type	_glfwPlatformOpenWindow, @function
_glfwPlatformOpenWindow:
.LFB49:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 184
	.cfi_offset 3, -24
	mov	DWORD PTR -164[rbp], edi
	mov	DWORD PTR -168[rbp], esi
	mov	QWORD PTR -176[rbp], rdx
	mov	QWORD PTR -184[rbp], rcx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR _glfwWin[rip+84], eax
	mov	rax, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR _glfwWin[rip+80], eax
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	eax, DWORD PTR 224[rax]
	mov	DWORD PTR _glfwWin[rip+232], eax
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rdx, QWORD PTR 232[rax]
	mov	eax, DWORD PTR _glfwWin[rip+232]
	cdqe
	sal	rax, 7
	add	rax, rdx
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR _glfwWin[rip+224], rax
	mov	rdx, QWORD PTR _glfwWin[rip+224]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rsi, rdx
	mov	rdi, rax
	call	createNULLCursor
	mov	QWORD PTR _glfwWin[rip+304], rax
	call	initGLXExtensions
	lea	rax, -156[rbp]
	mov	rdi, rax
	call	getFBConfigs
	mov	QWORD PTR -112[rbp], rax
	cmp	QWORD PTR -112[rbp], 0
	jne	.L368
	mov	eax, 0
	jmp	.L375
.L368:
	mov	edx, DWORD PTR -156[rbp]
	mov	rcx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -184[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	_glfwChooseFBConfig
	mov	QWORD PTR -104[rbp], rax
	cmp	QWORD PTR -104[rbp], 0
	jne	.L370
	mov	rax, QWORD PTR -112[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, 0
	jmp	.L375
.L370:
	mov	rax, QWORD PTR -104[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rbx, QWORD PTR 8[rax]
	mov	QWORD PTR -96[rbp], rcx
	mov	QWORD PTR -88[rbp], rbx
	mov	rcx, QWORD PTR 16[rax]
	mov	rbx, QWORD PTR 24[rax]
	mov	QWORD PTR -80[rbp], rcx
	mov	QWORD PTR -72[rbp], rbx
	mov	rcx, QWORD PTR 32[rax]
	mov	rbx, QWORD PTR 40[rax]
	mov	QWORD PTR -64[rbp], rcx
	mov	QWORD PTR -56[rbp], rbx
	mov	rdx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR 48[rax]
	mov	QWORD PTR -48[rbp], rax
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -112[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -176[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	createContext
	mov	DWORD PTR -132[rbp], eax
	cmp	DWORD PTR -132[rbp], 0
	jne	.L371
	mov	eax, 0
	jmp	.L375
.L371:
	mov	rdx, QWORD PTR -176[rbp]
	mov	ecx, DWORD PTR -168[rbp]
	mov	eax, DWORD PTR -164[rbp]
	mov	esi, ecx
	mov	edi, eax
	call	createWindow
	mov	BYTE PTR -157[rbp], al
	cmp	BYTE PTR -157[rbp], 0
	jne	.L372
	mov	eax, 0
	jmp	.L375
.L372:
	mov	rax, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 65538
	jne	.L373
	mov	eax, DWORD PTR _glfwLibrary[rip+116]
	test	eax, eax
	je	.L374
	mov	rcx, QWORD PTR _glfwWin[rip+216]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	XRRSelectInput@PLT
.L374:
	call	enterFullscreenMode
.L373:
	call	_glfwPlatformPollEvents
	mov	rsi, QWORD PTR _glfwWin[rip+216]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	lea	r9, -140[rbp]
	lea	r8, -144[rbp]
	lea	rcx, -128[rbp]
	lea	rdx, -120[rbp]
	sub	rsp, 8
	lea	rdi, -136[rbp]
	push	rdi
	lea	rdi, -148[rbp]
	push	rdi
	lea	rdi, -152[rbp]
	push	rdi
	mov	rdi, rax
	call	XQueryPointer@PLT
	add	rsp, 32
	mov	eax, DWORD PTR -152[rbp]
	mov	DWORD PTR _glfwInput[rip], eax
	mov	eax, DWORD PTR -148[rbp]
	mov	DWORD PTR _glfwInput[rip+4], eax
	mov	rdx, QWORD PTR _glfwWin[rip+256]
	mov	rcx, QWORD PTR _glfwWin[rip+216]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rsi, rcx
	mov	rdi, rax
	call	glXMakeCurrent@PLT
	mov	eax, 1
.L375:
	mov	rbx, QWORD PTR -24[rbp]
	sub	rbx, QWORD PTR fs:40
	je	.L376
	call	__stack_chk_fail@PLT
.L376:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE49:
	.size	_glfwPlatformOpenWindow, .-_glfwPlatformOpenWindow
	.globl	_glfwPlatformPollEvents
	.type	_glfwPlatformPollEvents, @function
_glfwPlatformPollEvents:
.LFB50:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	BYTE PTR -10[rbp], 0
	mov	DWORD PTR _glfwInput[rip+364], 0
.L381:
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rdi, rax
	call	XPending@PLT
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], 0
	je	.L386
	call	processSingleEvent
	mov	BYTE PTR -9[rbp], al
	cmp	BYTE PTR -9[rbp], 0
	je	.L381
	mov	BYTE PTR -10[rbp], 1
	jmp	.L381
.L386:
	nop
	mov	eax, DWORD PTR _glfwInput[rip+364]
	test	eax, eax
	je	.L382
	movzx	eax, BYTE PTR _glfwWin[rip+387]
	test	al, al
	je	.L382
	mov	eax, DWORD PTR _glfwWin[rip+104]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	edx, eax
	mov	eax, DWORD PTR _glfwWin[rip+100]
	mov	ecx, eax
	shr	ecx, 31
	add	eax, ecx
	sar	eax
	mov	esi, edx
	mov	edi, eax
	call	_glfwPlatformSetMouseCursorPos
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rdi, rax
	call	XFlush@PLT
.L382:
	mov	rax, QWORD PTR _glfwWin[rip+8]
	test	rax, rax
	je	.L383
	cmp	BYTE PTR -10[rbp], 0
	je	.L383
	mov	rax, QWORD PTR _glfwWin[rip+8]
	call	rax
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	mov	BYTE PTR -10[rbp], al
.L383:
	cmp	BYTE PTR -10[rbp], 0
	je	.L387
	call	glfwCloseWindow
.L387:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE50:
	.size	_glfwPlatformPollEvents, .-_glfwPlatformPollEvents
	.section	.rodata
	.align 8
.LC8:
	.string	"Cannot find known GLXFBConfig by ID. This cannot happen. Have a nice day.\n"
	.text
	.globl	_glfwPlatformRefreshWindowParams
	.type	_glfwPlatformRefreshWindowParams, @function
_glfwPlatformRefreshWindowParams:
.LFB51:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -20[rbp], 32787
	mov	rax, QWORD PTR _glfwWin[rip+248]
	mov	DWORD PTR -16[rbp], eax
	mov	DWORD PTR -12[rbp], 0
	movzx	eax, BYTE PTR _glfwWin[rip+376]
	test	al, al
	je	.L389
	mov	r8, QWORD PTR _glfwWin[rip+344]
	mov	esi, DWORD PTR _glfwWin[rip+232]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	lea	rcx, -48[rbp]
	lea	rdx, -20[rbp]
	mov	rdi, rax
	call	r8
	mov	QWORD PTR -40[rbp], rax
	jmp	.L390
.L389:
	mov	esi, DWORD PTR _glfwWin[rip+232]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	lea	rcx, -48[rbp]
	lea	rdx, -20[rbp]
	mov	rdi, rax
	call	glXChooseFBConfig@PLT
	mov	QWORD PTR -40[rbp], rax
.L390:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L391
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 74
	mov	esi, 1
	lea	rdi, .LC8[rip]
	call	fwrite@PLT
	call	abort@PLT
.L391:
	mov	DWORD PTR _glfwWin[rip+108], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 8
	mov	rdi, rax
	call	getFBConfigAttrib
	mov	DWORD PTR _glfwWin[rip+112], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 9
	mov	rdi, rax
	call	getFBConfigAttrib
	mov	DWORD PTR _glfwWin[rip+116], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 10
	mov	rdi, rax
	call	getFBConfigAttrib
	mov	DWORD PTR _glfwWin[rip+120], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 11
	mov	rdi, rax
	call	getFBConfigAttrib
	mov	DWORD PTR _glfwWin[rip+124], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 12
	mov	rdi, rax
	call	getFBConfigAttrib
	mov	DWORD PTR _glfwWin[rip+128], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 13
	mov	rdi, rax
	call	getFBConfigAttrib
	mov	DWORD PTR _glfwWin[rip+132], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 14
	mov	rdi, rax
	call	getFBConfigAttrib
	mov	DWORD PTR _glfwWin[rip+136], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 15
	mov	rdi, rax
	call	getFBConfigAttrib
	mov	DWORD PTR _glfwWin[rip+140], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 16
	mov	rdi, rax
	call	getFBConfigAttrib
	mov	DWORD PTR _glfwWin[rip+144], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 17
	mov	rdi, rax
	call	getFBConfigAttrib
	mov	DWORD PTR _glfwWin[rip+148], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 7
	mov	rdi, rax
	call	getFBConfigAttrib
	mov	DWORD PTR _glfwWin[rip+152], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 6
	mov	rdi, rax
	call	getFBConfigAttrib
	mov	DWORD PTR -44[rbp], eax
	cmp	DWORD PTR -44[rbp], 0
	setne	al
	movzx	eax, al
	mov	DWORD PTR _glfwWin[rip+156], eax
	movzx	eax, BYTE PTR _glfwWin[rip+380]
	test	al, al
	je	.L392
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 100001
	mov	rdi, rax
	call	getFBConfigAttrib
	mov	DWORD PTR _glfwWin[rip+160], eax
	jmp	.L393
.L392:
	mov	DWORD PTR _glfwWin[rip+160], 0
.L393:
	mov	DWORD PTR _glfwWin[rip+84], 0
	mov	eax, DWORD PTR _glfwLibrary[rip+116]
	test	eax, eax
	je	.L394
	mov	rdx, QWORD PTR _glfwWin[rip+224]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rsi, rdx
	mov	rdi, rax
	call	XRRGetScreenInfo@PLT
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	XRRConfigCurrentRate@PLT
	mov	WORD PTR -50[rbp], ax
	movsx	eax, WORD PTR -50[rbp]
	mov	DWORD PTR _glfwWin[rip+84], eax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	XRRFreeScreenConfigInfo@PLT
.L394:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	XFree@PLT
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L395
	call	__stack_chk_fail@PLT
.L395:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE51:
	.size	_glfwPlatformRefreshWindowParams, .-_glfwPlatformRefreshWindowParams
	.globl	_glfwPlatformRestoreWindow
	.type	_glfwPlatformRestoreWindow, @function
_glfwPlatformRestoreWindow:
.LFB52:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movzx	eax, BYTE PTR _glfwWin[rip+384]
	test	al, al
	jne	.L398
	mov	rdx, QWORD PTR _glfwWin[rip+216]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rsi, rdx
	mov	rdi, rax
	call	XMapWindow@PLT
.L398:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE52:
	.size	_glfwPlatformRestoreWindow, .-_glfwPlatformRestoreWindow
	.globl	_glfwPlatformSetMouseCursorPos
	.type	_glfwPlatformSetMouseCursorPos, @function
_glfwPlatformSetMouseCursorPos:
.LFB53:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR _glfwInput[rip+368], eax
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR _glfwInput[rip+372], eax
	mov	rdx, QWORD PTR _glfwWin[rip+216]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	sub	rsp, 8
	mov	ecx, DWORD PTR -8[rbp]
	push	rcx
	mov	ecx, DWORD PTR -4[rbp]
	push	rcx
	push	0
	mov	r9d, 0
	mov	r8d, 0
	mov	ecx, 0
	mov	esi, 0
	mov	rdi, rax
	call	XWarpPointer@PLT
	add	rsp, 32
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE53:
	.size	_glfwPlatformSetMouseCursorPos, .-_glfwPlatformSetMouseCursorPos
	.globl	_glfwPlatformSetTime
	.type	_glfwPlatformSetTime, @function
_glfwPlatformSetTime:
.LFB54:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	movsd	QWORD PTR -24[rbp], xmm0
	call	getRawTime
	mov	QWORD PTR -8[rbp], rax
	movsd	xmm1, QWORD PTR _glfwLibrary[rip+136]
	movsd	xmm0, QWORD PTR -24[rbp]
	divsd	xmm0, xmm1
	comisd	xmm0, QWORD PTR .LC9[rip]
	jnb	.L401
	cvttsd2si	rax, xmm0
	jmp	.L402
.L401:
	movsd	xmm1, QWORD PTR .LC9[rip]
	subsd	xmm0, xmm1
	cvttsd2si	rax, xmm0
	movabs	rdx, -9223372036854775808
	xor	rax, rdx
.L402:
	mov	rdx, QWORD PTR -8[rbp]
	sub	rdx, rax
	mov	rax, rdx
	mov	QWORD PTR _glfwLibrary[rip+144], rax
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE54:
	.size	_glfwPlatformSetTime, .-_glfwPlatformSetTime
	.globl	_glfwPlatformSetWindowPos
	.type	_glfwPlatformSetWindowPos, @function
_glfwPlatformSetWindowPos:
.LFB55:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	rsi, QWORD PTR _glfwWin[rip+216]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	ecx, DWORD PTR -8[rbp]
	mov	edx, DWORD PTR -4[rbp]
	mov	rdi, rax
	call	XMoveWindow@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE55:
	.size	_glfwPlatformSetWindowPos, .-_glfwPlatformSetWindowPos
	.globl	_glfwPlatformSetWindowSize
	.type	_glfwPlatformSetWindowSize, @function
_glfwPlatformSetWindowSize:
.LFB56:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	DWORD PTR -36[rbp], edi
	mov	DWORD PTR -40[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -24[rbp], 0
	mov	DWORD PTR -20[rbp], 0
	mov	eax, DWORD PTR _glfwWin[rip+84]
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR _glfwWin[rip+64]
	test	eax, eax
	je	.L405
	mov	eax, DWORD PTR _glfwWin[rip+232]
	lea	rcx, -28[rbp]
	lea	rdx, -40[rbp]
	lea	rsi, -36[rbp]
	mov	edi, eax
	call	_glfwGetClosestVideoMode
	mov	DWORD PTR -24[rbp], eax
.L405:
	mov	eax, DWORD PTR _glfwWin[rip+80]
	test	eax, eax
	je	.L406
	call	XAllocSizeHints@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	or	rax, 48
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	edx, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	edx, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 28[rax], edx
	mov	rcx, QWORD PTR _glfwWin[rip+216]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	XSetWMNormalHints@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	XFree@PLT
.L406:
	mov	eax, DWORD PTR _glfwWin[rip+64]
	test	eax, eax
	je	.L407
	mov	edx, DWORD PTR _glfwWin[rip+100]
	mov	eax, DWORD PTR -36[rbp]
	cmp	edx, eax
	jge	.L407
	mov	eax, DWORD PTR -40[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -36[rbp]
	mov	edx, eax
	mov	rsi, QWORD PTR _glfwWin[rip+216]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rdi, rax
	call	XResizeWindow@PLT
	mov	DWORD PTR -20[rbp], 1
.L407:
	mov	eax, DWORD PTR _glfwWin[rip+64]
	test	eax, eax
	je	.L408
	mov	edx, DWORD PTR _glfwWin[rip+84]
	mov	eax, DWORD PTR _glfwWin[rip+232]
	mov	ecx, DWORD PTR -24[rbp]
	mov	esi, ecx
	mov	edi, eax
	call	_glfwSetVideoModeMODE
.L408:
	cmp	DWORD PTR -20[rbp], 0
	jne	.L411
	mov	eax, DWORD PTR -40[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -36[rbp]
	mov	edx, eax
	mov	rsi, QWORD PTR _glfwWin[rip+216]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rdi, rax
	call	XResizeWindow@PLT
.L411:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L410
	call	__stack_chk_fail@PLT
.L410:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE56:
	.size	_glfwPlatformSetWindowSize, .-_glfwPlatformSetWindowSize
	.globl	_glfwPlatformSetWindowTitle
	.type	_glfwPlatformSetWindowTitle, @function
_glfwPlatformSetWindowTitle:
.LFB57:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rcx, QWORD PTR _glfwWin[rip+216]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	XStoreName@PLT
	mov	rcx, QWORD PTR _glfwWin[rip+216]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	XSetIconName@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE57:
	.size	_glfwPlatformSetWindowTitle, .-_glfwPlatformSetWindowTitle
	.globl	_glfwPlatformShowMouseCursor
	.type	_glfwPlatformShowMouseCursor, @function
_glfwPlatformShowMouseCursor:
.LFB58:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movzx	eax, BYTE PTR _glfwWin[rip+386]
	test	al, al
	je	.L414
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	esi, 0
	mov	rdi, rax
	call	XUngrabPointer@PLT
	mov	BYTE PTR _glfwWin[rip+386], 0
.L414:
	movzx	eax, BYTE PTR _glfwWin[rip+387]
	test	al, al
	je	.L416
	mov	rdx, QWORD PTR _glfwWin[rip+216]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rsi, rdx
	mov	rdi, rax
	call	XUndefineCursor@PLT
	mov	BYTE PTR _glfwWin[rip+387], 0
.L416:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE58:
	.size	_glfwPlatformShowMouseCursor, .-_glfwPlatformShowMouseCursor
	.globl	_glfwPlatformSignalCond
	.type	_glfwPlatformSignalCond, @function
_glfwPlatformSignalCond:
.LFB59:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	pthread_cond_signal@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE59:
	.size	_glfwPlatformSignalCond, .-_glfwPlatformSignalCond
	.globl	_glfwPlatformSleep
	.type	_glfwPlatformSleep, @function
_glfwPlatformSleep:
.LFB60:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 176
	movsd	QWORD PTR -168[rbp], xmm0
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -168[rbp]
	jp	.L419
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -168[rbp]
	jne	.L419
	call	sched_yield@PLT
	jmp	.L425
.L419:
	lea	rax, -144[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	gettimeofday@PLT
	movsd	xmm0, QWORD PTR -168[rbp]
	cvttsd2si	rax, xmm0
	mov	QWORD PTR -160[rbp], rax
	pxor	xmm2, xmm2
	cvtsi2sd	xmm2, QWORD PTR -160[rbp]
	movsd	xmm0, QWORD PTR -168[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR .LC11[rip]
	mulsd	xmm0, xmm1
	cvttsd2si	rax, xmm0
	mov	QWORD PTR -152[rbp], rax
	mov	rdx, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	imul	rax, rax, 1000
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	cmp	rax, 1000000000
	jle	.L422
	mov	rax, QWORD PTR -120[rbp]
	sub	rax, 1000000000
	mov	QWORD PTR -120[rbp], rax
	add	QWORD PTR -160[rbp], 1
.L422:
	mov	rdx, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR -160[rbp]
	add	rax, rdx
	mov	QWORD PTR -128[rbp], rax
	lea	rax, -112[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	pthread_mutex_init@PLT
	lea	rax, -64[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	pthread_cond_init@PLT
	lea	rax, -112[rbp]
	mov	rdi, rax
	call	pthread_mutex_lock@PLT
	lea	rdx, -128[rbp]
	lea	rcx, -112[rbp]
	lea	rax, -64[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	pthread_cond_timedwait@PLT
	lea	rax, -112[rbp]
	mov	rdi, rax
	call	pthread_mutex_unlock@PLT
	lea	rax, -112[rbp]
	mov	rdi, rax
	call	pthread_mutex_destroy@PLT
	lea	rax, -64[rbp]
	mov	rdi, rax
	call	pthread_cond_destroy@PLT
.L425:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L423
	call	__stack_chk_fail@PLT
.L423:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE60:
	.size	_glfwPlatformSleep, .-_glfwPlatformSleep
	.globl	_glfwPlatformSwapBuffers
	.type	_glfwPlatformSwapBuffers, @function
_glfwPlatformSwapBuffers:
.LFB61:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rdx, QWORD PTR _glfwWin[rip+216]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rsi, rdx
	mov	rdi, rax
	call	glXSwapBuffers@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE61:
	.size	_glfwPlatformSwapBuffers, .-_glfwPlatformSwapBuffers
	.globl	_glfwPlatformSwapInterval
	.type	_glfwPlatformSwapInterval, @function
_glfwPlatformSwapInterval:
.LFB62:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	movzx	eax, BYTE PTR _glfwWin[rip+377]
	test	al, al
	je	.L428
	mov	r8, QWORD PTR _glfwWin[rip+312]
	mov	rcx, QWORD PTR _glfwWin[rip+216]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	edx, DWORD PTR -4[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	jmp	.L431
.L428:
	movzx	eax, BYTE PTR _glfwWin[rip+378]
	test	al, al
	je	.L430
	mov	rdx, QWORD PTR _glfwWin[rip+320]
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	rdx
	jmp	.L431
.L430:
	movzx	eax, BYTE PTR _glfwWin[rip+379]
	test	al, al
	je	.L431
	cmp	DWORD PTR -4[rbp], 0
	jle	.L431
	mov	rdx, QWORD PTR _glfwWin[rip+328]
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	rdx
.L431:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE62:
	.size	_glfwPlatformSwapInterval, .-_glfwPlatformSwapInterval
	.globl	_glfwPlatformTerminate
	.type	_glfwPlatformTerminate, @function
_glfwPlatformTerminate:
.LFB63:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	call	pthread_self@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR _glfwThrd[rip+40]
	cmp	QWORD PTR -8[rbp], rax
	je	.L433
	mov	eax, 0
	jmp	.L434
.L433:
	call	glfwCloseWindow
	call	terminateThreads
	call	terminateDisplay
	call	_glfwTerminateJoysticks
	mov	eax, 1
.L434:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE63:
	.size	_glfwPlatformTerminate, .-_glfwPlatformTerminate
	.globl	_glfwPlatformUnlockMutex
	.type	_glfwPlatformUnlockMutex, @function
_glfwPlatformUnlockMutex:
.LFB64:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	pthread_mutex_unlock@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE64:
	.size	_glfwPlatformUnlockMutex, .-_glfwPlatformUnlockMutex
	.globl	_glfwPlatformWaitCond
	.type	_glfwPlatformWaitCond, @function
_glfwPlatformWaitCond:
.LFB65:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	movsd	QWORD PTR -88[rbp], xmm0
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	movsd	xmm0, QWORD PTR -88[rbp]
	comisd	xmm0, QWORD PTR .LC12[rip]
	jb	.L443
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	pthread_cond_wait@PLT
	jmp	.L444
.L443:
	lea	rax, -48[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	gettimeofday@PLT
	movsd	xmm0, QWORD PTR -88[rbp]
	cvttsd2si	rax, xmm0
	mov	QWORD PTR -64[rbp], rax
	pxor	xmm2, xmm2
	cvtsi2sd	xmm2, QWORD PTR -64[rbp]
	movsd	xmm0, QWORD PTR -88[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	movsd	xmm0, QWORD PTR .LC11[rip]
	mulsd	xmm0, xmm1
	cvttsd2si	rax, xmm0
	mov	QWORD PTR -56[rbp], rax
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	imul	rax, rax, 1000
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	cmp	rax, 1000000000
	jle	.L440
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, 1000000000
	mov	QWORD PTR -24[rbp], rax
	add	QWORD PTR -64[rbp], 1
.L440:
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	lea	rdx, -32[rbp]
	mov	rcx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	pthread_cond_timedwait@PLT
.L444:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L441
	call	__stack_chk_fail@PLT
.L441:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE65:
	.size	_glfwPlatformWaitCond, .-_glfwPlatformWaitCond
	.globl	_glfwPlatformWaitEvents
	.type	_glfwPlatformWaitEvents, @function
_glfwPlatformWaitEvents:
.LFB66:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 208
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	lea	rdx, -208[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	XNextEvent@PLT
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	lea	rdx, -208[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	XPutBackEvent@PLT
	call	_glfwPlatformPollEvents
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L446
	call	__stack_chk_fail@PLT
.L446:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE66:
	.size	_glfwPlatformWaitEvents, .-_glfwPlatformWaitEvents
	.globl	_glfwPlatformWaitThread
	.type	_glfwPlatformWaitThread, @function
_glfwPlatformWaitThread:
.LFB67:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	lea	rdi, _glfwThrd[rip+48]
	call	pthread_mutex_lock@PLT
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	_glfwGetThreadPointer
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L448
	lea	rdi, _glfwThrd[rip+48]
	call	pthread_mutex_unlock@PLT
	mov	eax, 1
	jmp	.L449
.L448:
	cmp	DWORD PTR -24[rbp], 262146
	jne	.L450
	lea	rdi, _glfwThrd[rip+48]
	call	pthread_mutex_unlock@PLT
	mov	eax, 0
	jmp	.L449
.L450:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -8[rbp], rax
	lea	rdi, _glfwThrd[rip+48]
	call	pthread_mutex_unlock@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	pthread_join@PLT
	mov	eax, 1
.L449:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE67:
	.size	_glfwPlatformWaitThread, .-_glfwPlatformWaitThread
	.globl	_glfwReadStream
	.type	_glfwReadStream, @function
_glfwReadStream:
.LFB68:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L452
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	fread@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L453
.L452:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L454
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	cmp	rdx, rax
	jne	.L455
	mov	eax, 0
	jmp	.L453
.L455:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rcx
	cmp	rdx, rax
	jge	.L456
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, rdx
	sub	rax, rcx
	mov	QWORD PTR -40[rbp], rax
.L456:
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	add	rcx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	jmp	.L453
.L454:
	mov	eax, 0
.L453:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE68:
	.size	_glfwReadStream, .-_glfwReadStream
	.globl	_glfwReadTGA
	.type	_glfwReadTGA, @function
_glfwReadTGA:
.LFB69:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 224
	mov	QWORD PTR -200[rbp], rdi
	mov	QWORD PTR -208[rbp], rsi
	mov	DWORD PTR -212[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -64[rbp]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ReadTGAHeader
	mov	DWORD PTR -164[rbp], eax
	cmp	DWORD PTR -164[rbp], 0
	jne	.L458
	mov	eax, 0
	jmp	.L507
.L458:
	mov	eax, DWORD PTR -60[rbp]
	cmp	eax, 1
	sete	al
	movzx	edx, al
	mov	eax, DWORD PTR -48[rbp]
	imul	edx, eax
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 7
	lea	ecx, 7[rax]
	test	eax, eax
	cmovs	eax, ecx
	sar	eax, 3
	imul	eax, edx
	mov	DWORD PTR -160[rbp], eax
	cmp	DWORD PTR -160[rbp], 0
	jle	.L460
	mov	eax, DWORD PTR -48[rbp]
	test	eax, eax
	je	.L461
	mov	eax, DWORD PTR -48[rbp]
	cmp	eax, 256
	jg	.L461
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, 24
	je	.L462
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, 32
	je	.L462
.L461:
	mov	eax, 0
	jmp	.L507
.L462:
	mov	eax, DWORD PTR -160[rbp]
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	QWORD PTR -144[rbp], rax
	cmp	QWORD PTR -144[rbp], 0
	jne	.L463
	mov	eax, 0
	jmp	.L507
.L463:
	mov	eax, DWORD PTR -160[rbp]
	movsx	rdx, eax
	mov	rcx, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	_glfwReadStream
	jmp	.L464
.L460:
	mov	QWORD PTR -144[rbp], 0
.L464:
	mov	edx, DWORD PTR -32[rbp]
	mov	eax, DWORD PTR -28[rbp]
	imul	edx, eax
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 7
	lea	ecx, 7[rax]
	test	eax, eax
	cmovs	eax, ecx
	sar	eax, 3
	imul	eax, edx
	mov	DWORD PTR -156[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 7
	lea	edx, 7[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 3
	mov	DWORD PTR -152[rbp], eax
	cmp	QWORD PTR -144[rbp], 0
	je	.L465
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 7
	lea	edx, 7[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 3
	mov	DWORD PTR -188[rbp], eax
	jmp	.L466
.L465:
	mov	eax, DWORD PTR -152[rbp]
	mov	DWORD PTR -188[rbp], eax
.L466:
	mov	edx, DWORD PTR -32[rbp]
	mov	eax, DWORD PTR -28[rbp]
	imul	eax, edx
	mov	edx, DWORD PTR -188[rbp]
	imul	eax, edx
	mov	DWORD PTR -148[rbp], eax
	mov	eax, DWORD PTR -148[rbp]
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	mov	QWORD PTR -104[rbp], rax
	cmp	QWORD PTR -104[rbp], 0
	jne	.L467
	cmp	QWORD PTR -144[rbp], 0
	je	.L468
	mov	rax, QWORD PTR -144[rbp]
	mov	rdi, rax
	call	free@PLT
.L468:
	mov	eax, 0
	jmp	.L507
.L467:
	mov	eax, DWORD PTR -56[rbp]
	cmp	eax, 8
	jle	.L469
	mov	rcx, QWORD PTR -200[rbp]
	mov	edx, DWORD PTR -152[rbp]
	mov	esi, DWORD PTR -156[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	ReadTGA_RLE
	jmp	.L470
.L469:
	mov	eax, DWORD PTR -156[rbp]
	movsx	rdx, eax
	mov	rcx, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	_glfwReadStream
.L470:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, 2
	je	.L471
	mov	eax, DWORD PTR -12[rbp]
	test	eax, eax
	je	.L512
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, 3
	je	.L513
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, 1
	je	.L514
.L471:
	mov	DWORD PTR -172[rbp], 0
	mov	DWORD PTR -168[rbp], 1
	jmp	.L477
.L512:
	nop
.L473:
	mov	DWORD PTR -172[rbp], 0
	mov	DWORD PTR -168[rbp], 0
	jmp	.L477
.L513:
	nop
.L475:
	mov	DWORD PTR -172[rbp], 1
	mov	DWORD PTR -168[rbp], 1
	jmp	.L477
.L514:
	nop
.L476:
	mov	DWORD PTR -172[rbp], 1
	mov	DWORD PTR -168[rbp], 0
.L477:
	mov	eax, DWORD PTR -212[rbp]
	and	eax, 2
	test	eax, eax
	jne	.L478
	cmp	DWORD PTR -168[rbp], 0
	jne	.L479
.L478:
	cmp	DWORD PTR -168[rbp], 0
	jne	.L480
	mov	eax, DWORD PTR -212[rbp]
	and	eax, 2
	test	eax, eax
	je	.L480
.L479:
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -136[rbp], rax
	mov	eax, DWORD PTR -28[rbp]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -32[rbp]
	imul	eax, edx
	imul	eax, DWORD PTR -152[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	QWORD PTR -128[rbp], rax
	mov	DWORD PTR -176[rbp], 0
	jmp	.L481
.L486:
	mov	DWORD PTR -180[rbp], 0
	jmp	.L482
.L485:
	mov	DWORD PTR -184[rbp], 0
	jmp	.L483
.L484:
	mov	rax, QWORD PTR -136[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -189[rbp], al
	mov	rax, QWORD PTR -136[rbp]
	mov	QWORD PTR -96[rbp], rax
	add	QWORD PTR -136[rbp], 1
	mov	rax, QWORD PTR -128[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	mov	QWORD PTR -88[rbp], rax
	add	QWORD PTR -128[rbp], 1
	mov	rax, QWORD PTR -88[rbp]
	movzx	edx, BYTE PTR -189[rbp]
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -184[rbp], 1
.L483:
	mov	eax, DWORD PTR -184[rbp]
	cmp	eax, DWORD PTR -152[rbp]
	jl	.L484
	add	DWORD PTR -180[rbp], 1
.L482:
	mov	eax, DWORD PTR -32[rbp]
	cmp	DWORD PTR -180[rbp], eax
	jl	.L485
	mov	eax, DWORD PTR -32[rbp]
	imul	eax, DWORD PTR -152[rbp]
	add	eax, eax
	cdqe
	neg	rax
	add	QWORD PTR -128[rbp], rax
	add	DWORD PTR -176[rbp], 1
.L481:
	mov	eax, DWORD PTR -28[rbp]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	cmp	DWORD PTR -176[rbp], eax
	jl	.L486
.L480:
	cmp	DWORD PTR -172[rbp], 0
	je	.L487
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -136[rbp], rax
	mov	eax, DWORD PTR -32[rbp]
	sub	eax, 1
	imul	eax, DWORD PTR -152[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	QWORD PTR -128[rbp], rax
	mov	DWORD PTR -176[rbp], 0
	jmp	.L488
.L493:
	mov	DWORD PTR -180[rbp], 0
	jmp	.L489
.L492:
	mov	DWORD PTR -184[rbp], 0
	jmp	.L490
.L491:
	mov	rax, QWORD PTR -136[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -189[rbp], al
	mov	rax, QWORD PTR -136[rbp]
	mov	QWORD PTR -80[rbp], rax
	add	QWORD PTR -136[rbp], 1
	mov	rax, QWORD PTR -128[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	mov	QWORD PTR -72[rbp], rax
	add	QWORD PTR -128[rbp], 1
	mov	rax, QWORD PTR -72[rbp]
	movzx	edx, BYTE PTR -189[rbp]
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -184[rbp], 1
.L490:
	mov	eax, DWORD PTR -184[rbp]
	cmp	eax, DWORD PTR -152[rbp]
	jl	.L491
	mov	eax, DWORD PTR -152[rbp]
	add	eax, eax
	cdqe
	neg	rax
	add	QWORD PTR -128[rbp], rax
	add	DWORD PTR -180[rbp], 1
.L489:
	mov	eax, DWORD PTR -32[rbp]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	cmp	DWORD PTR -180[rbp], eax
	jl	.L492
	mov	eax, DWORD PTR -32[rbp]
	add	eax, 1
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	imul	eax, DWORD PTR -152[rbp]
	cdqe
	add	QWORD PTR -136[rbp], rax
	mov	edx, DWORD PTR -32[rbp]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	add	eax, 1
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	imul	eax, DWORD PTR -152[rbp]
	cdqe
	add	QWORD PTR -128[rbp], rax
	add	DWORD PTR -176[rbp], 1
.L488:
	mov	eax, DWORD PTR -28[rbp]
	cmp	DWORD PTR -176[rbp], eax
	jl	.L493
.L487:
	cmp	QWORD PTR -144[rbp], 0
	je	.L494
	cmp	DWORD PTR -188[rbp], 3
	je	.L495
	cmp	DWORD PTR -188[rbp], 4
	jne	.L496
.L495:
	mov	DWORD PTR -176[rbp], 0
	jmp	.L497
.L498:
	mov	eax, DWORD PTR -176[rbp]
	imul	eax, DWORD PTR -188[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -189[rbp], al
	mov	eax, DWORD PTR -176[rbp]
	imul	eax, DWORD PTR -188[rbp]
	add	eax, 2
	movsx	rdx, eax
	mov	rax, QWORD PTR -144[rbp]
	lea	rcx, [rdx+rax]
	mov	eax, DWORD PTR -176[rbp]
	imul	eax, DWORD PTR -188[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rdx, rax
	movzx	eax, BYTE PTR [rcx]
	mov	BYTE PTR [rdx], al
	mov	eax, DWORD PTR -176[rbp]
	imul	eax, DWORD PTR -188[rbp]
	add	eax, 2
	movsx	rdx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rdx, rax
	movzx	eax, BYTE PTR -189[rbp]
	mov	BYTE PTR [rdx], al
	add	DWORD PTR -176[rbp], 1
.L497:
	mov	eax, DWORD PTR -48[rbp]
	cmp	DWORD PTR -176[rbp], eax
	jl	.L498
.L496:
	mov	edx, DWORD PTR -32[rbp]
	mov	eax, DWORD PTR -28[rbp]
	imul	eax, edx
	sub	eax, 1
	mov	DWORD PTR -180[rbp], eax
	jmp	.L499
.L502:
	mov	eax, DWORD PTR -180[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -176[rbp], eax
	mov	DWORD PTR -184[rbp], 0
	jmp	.L500
.L501:
	mov	eax, DWORD PTR -176[rbp]
	imul	eax, DWORD PTR -188[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -184[rbp]
	add	eax, edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -144[rbp]
	lea	rcx, [rdx+rax]
	mov	eax, DWORD PTR -180[rbp]
	imul	eax, DWORD PTR -188[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -184[rbp]
	add	eax, edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -104[rbp]
	add	rdx, rax
	movzx	eax, BYTE PTR [rcx]
	mov	BYTE PTR [rdx], al
	add	DWORD PTR -184[rbp], 1
.L500:
	mov	eax, DWORD PTR -184[rbp]
	cmp	eax, DWORD PTR -188[rbp]
	jl	.L501
	sub	DWORD PTR -180[rbp], 1
.L499:
	cmp	DWORD PTR -180[rbp], 0
	jns	.L502
	mov	rax, QWORD PTR -144[rbp]
	mov	rdi, rax
	call	free@PLT
	jmp	.L503
.L494:
	cmp	DWORD PTR -188[rbp], 3
	je	.L504
	cmp	DWORD PTR -188[rbp], 4
	jne	.L503
.L504:
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -136[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	add	rax, 2
	mov	QWORD PTR -128[rbp], rax
	mov	DWORD PTR -176[rbp], 0
	jmp	.L505
.L506:
	mov	rax, QWORD PTR -136[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -189[rbp], al
	mov	rax, QWORD PTR -128[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -128[rbp]
	movzx	edx, BYTE PTR -189[rbp]
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -188[rbp]
	cdqe
	add	QWORD PTR -136[rbp], rax
	mov	eax, DWORD PTR -188[rbp]
	cdqe
	add	QWORD PTR -128[rbp], rax
	add	DWORD PTR -176[rbp], 1
.L505:
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -32[rbp]
	imul	eax, edx
	cmp	DWORD PTR -176[rbp], eax
	jl	.L506
.L503:
	mov	edx, DWORD PTR -32[rbp]
	mov	rax, QWORD PTR -208[rbp]
	mov	DWORD PTR [rax], edx
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -208[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	rax, QWORD PTR -208[rbp]
	mov	edx, DWORD PTR -188[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	eax, 1
.L507:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L508
	call	__stack_chk_fail@PLT
.L508:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE69:
	.size	_glfwReadTGA, .-_glfwReadTGA
	.globl	_glfwRefreshContextParams
	.type	_glfwRefreshContextParams, @function
_glfwRefreshContextParams:
.LFB70:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, _glfwWin[rip+180]
	lea	rsi, _glfwWin[rip+176]
	lea	rdi, _glfwWin[rip+172]
	call	_glfwParseGLVersion
	mov	DWORD PTR _glfwWin[rip+192], 0
	mov	DWORD PTR _glfwWin[rip+184], 0
	mov	eax, DWORD PTR _glfwWin[rip+172]
	cmp	eax, 2
	jle	.L516
	lea	rax, -12[rbp]
	mov	rsi, rax
	mov	edi, 33310
	call	glGetIntegerv@PLT
	mov	eax, DWORD PTR -12[rbp]
	and	eax, 1
	test	eax, eax
	je	.L516
	mov	DWORD PTR _glfwWin[rip+184], 1
.L516:
	mov	eax, DWORD PTR _glfwWin[rip+172]
	cmp	eax, 3
	jg	.L518
	mov	eax, DWORD PTR _glfwWin[rip+172]
	cmp	eax, 3
	jne	.L523
	mov	eax, DWORD PTR _glfwWin[rip+176]
	cmp	eax, 1
	jle	.L523
.L518:
	lea	rax, -12[rbp]
	mov	rsi, rax
	mov	edi, 37158
	call	glGetIntegerv@PLT
	mov	eax, DWORD PTR -12[rbp]
	and	eax, 2
	test	eax, eax
	je	.L520
	mov	DWORD PTR _glfwWin[rip+192], 327682
	jmp	.L523
.L520:
	mov	eax, DWORD PTR -12[rbp]
	and	eax, 1
	test	eax, eax
	je	.L523
	mov	DWORD PTR _glfwWin[rip+192], 327681
.L523:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L522
	call	__stack_chk_fail@PLT
.L522:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE70:
	.size	_glfwRefreshContextParams, .-_glfwRefreshContextParams
	.globl	_glfwRemoveThread
	.type	_glfwRemoveThread, @function
_glfwRemoveThread:
.LFB71:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L525
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rdx]
	mov	QWORD PTR 8[rax], rdx
.L525:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L526
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rdx]
	mov	QWORD PTR [rax], rdx
.L526:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE71:
	.size	_glfwRemoveThread, .-_glfwRemoveThread
	.globl	_glfwRestoreVideoMode
	.type	_glfwRestoreVideoMode, @function
_glfwRestoreVideoMode:
.LFB72:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	eax, DWORD PTR _glfwWin[rip+408]
	test	eax, eax
	je	.L530
	mov	eax, DWORD PTR _glfwLibrary[rip+116]
	test	eax, eax
	je	.L529
	mov	rdx, QWORD PTR _glfwWin[rip+224]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rsi, rdx
	mov	rdi, rax
	call	XRRGetScreenInfo@PLT
	mov	QWORD PTR -8[rbp], rax
	movzx	eax, WORD PTR _glfwWin[rip+424]
	movzx	edi, ax
	movzx	eax, WORD PTR _glfwWin[rip+412]
	movzx	ecx, ax
	mov	rdx, QWORD PTR _glfwWin[rip+224]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rsi, QWORD PTR -8[rbp]
	mov	r9d, 0
	mov	r8d, edi
	mov	rdi, rax
	call	XRRSetScreenConfig@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	XRRFreeScreenConfigInfo@PLT
.L529:
	mov	DWORD PTR _glfwWin[rip+408], 0
.L530:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE72:
	.size	_glfwRestoreVideoMode, .-_glfwRestoreVideoMode
	.globl	_glfwSeekStream
	.type	_glfwSeekStream, @function
_glfwSeekStream:
.LFB73:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L532
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -36[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	fseek@PLT
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	je	.L533
	mov	eax, 0
	jmp	.L534
.L533:
	mov	eax, 1
	jmp	.L534
.L532:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L535
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -8[rbp], rax
	cmp	DWORD PTR -36[rbp], 1
	jne	.L536
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	add	QWORD PTR -8[rbp], rax
	jmp	.L537
.L536:
	cmp	DWORD PTR -36[rbp], 2
	jne	.L538
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	add	QWORD PTR -8[rbp], rax
	jmp	.L537
.L538:
	cmp	DWORD PTR -36[rbp], 0
	je	.L537
	mov	eax, 0
	jmp	.L534
.L537:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	cmp	QWORD PTR -8[rbp], rax
	jle	.L539
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 16[rax], rdx
	jmp	.L540
.L539:
	cmp	QWORD PTR -8[rbp], 0
	jns	.L541
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 16[rax], 0
	jmp	.L540
.L541:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
.L540:
	mov	eax, 1
	jmp	.L534
.L535:
	mov	eax, 0
.L534:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE73:
	.size	_glfwSeekStream, .-_glfwSeekStream
	.globl	_glfwSetVideoMode
	.type	_glfwSetVideoMode, @function
_glfwSetVideoMode:
.LFB74:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	mov	rcx, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rsi, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	_glfwGetClosestVideoMode
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, DWORD PTR [rax]
	mov	ecx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, ecx
	mov	edi, eax
	call	_glfwSetVideoModeMODE
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE74:
	.size	_glfwSetVideoMode, .-_glfwSetVideoMode
	.globl	_glfwSetVideoModeMODE
	.type	_glfwSetVideoModeMODE, @function
_glfwSetVideoModeMODE:
.LFB75:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	DWORD PTR -28[rbp], edx
	mov	eax, DWORD PTR _glfwLibrary[rip+116]
	test	eax, eax
	je	.L548
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rdx, QWORD PTR 232[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 7
	add	rax, rdx
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	XRRGetScreenInfo@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR _glfwWin[rip+408]
	test	eax, eax
	jne	.L545
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, _glfwWin[rip+424]
	mov	rdi, rax
	call	XRRConfigCurrentConfiguration@PLT
	mov	WORD PTR _glfwWin[rip+412], ax
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rdx, QWORD PTR 232[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 7
	add	rax, rdx
	mov	eax, DWORD PTR 24[rax]
	mov	DWORD PTR _glfwWin[rip+416], eax
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rdx, QWORD PTR 232[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 7
	add	rax, rdx
	mov	eax, DWORD PTR 28[rax]
	mov	DWORD PTR _glfwWin[rip+420], eax
	mov	DWORD PTR _glfwWin[rip+408], 1
.L545:
	cmp	DWORD PTR -28[rbp], 0
	jle	.L546
	mov	eax, DWORD PTR -28[rbp]
	movsx	edi, ax
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	ecx, DWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsp, 8
	push	0
	mov	r9d, edi
	mov	r8d, 1
	mov	rdi, rax
	call	XRRSetScreenConfigAndRate@PLT
	add	rsp, 16
	jmp	.L547
.L546:
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	ecx, DWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rsi, QWORD PTR -8[rbp]
	mov	r9d, 0
	mov	r8d, 1
	mov	rdi, rax
	call	XRRSetScreenConfig@PLT
.L547:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	XRRFreeScreenConfigInfo@PLT
.L548:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE75:
	.size	_glfwSetVideoModeMODE, .-_glfwSetVideoModeMODE
	.globl	_glfwStringInExtensionString
	.type	_glfwStringInExtensionString, @function
_glfwStringInExtensionString:
.LFB76:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR -40[rbp], rax
.L558:
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strstr@PLT
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L550
	mov	eax, 0
	jmp	.L551
.L550:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	cmp	rax, QWORD PTR -40[rbp]
	jne	.L552
	mov	BYTE PTR -42[rbp], 1
	jmp	.L553
.L552:
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	sete	al
	mov	BYTE PTR -42[rbp], al
.L553:
	cmp	BYTE PTR -42[rbp], 0
	je	.L554
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	jne	.L555
	mov	BYTE PTR -41[rbp], 1
	jmp	.L556
.L555:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	sete	al
	mov	BYTE PTR -41[rbp], al
.L556:
	cmp	BYTE PTR -41[rbp], 0
	jne	.L560
.L554:
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L558
.L560:
	nop
	mov	eax, 1
.L551:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE76:
	.size	_glfwStringInExtensionString, .-_glfwStringInExtensionString
	.globl	_glfwTellStream
	.type	_glfwTellStream, @function
_glfwTellStream:
.LFB77:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L562
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	ftell@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L563
.L562:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L564
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	jmp	.L563
.L564:
	mov	eax, 0
.L563:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE77:
	.size	_glfwTellStream, .-_glfwTellStream
	.globl	_glfwTerminateJoysticks
	.type	_glfwTerminateJoysticks, @function
_glfwTerminateJoysticks:
.LFB78:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], 0
	jmp	.L566
.L568:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, _glfwJoy[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	je	.L567
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, _glfwJoy[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	mov	edi, eax
	call	close@PLT
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, _glfwJoy[rip+16]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rdi, rax
	call	free@PLT
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, _glfwJoy[rip+24]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rdi, rax
	call	free@PLT
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, _glfwJoy[rip]
	mov	DWORD PTR [rdx+rax], 0
.L567:
	add	DWORD PTR -4[rbp], 1
.L566:
	cmp	DWORD PTR -4[rbp], 15
	jle	.L568
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE78:
	.size	_glfwTerminateJoysticks, .-_glfwTerminateJoysticks
	.section	.rodata
.LC13:
	.string	"_NET_SUPPORTING_WM_CHECK"
.LC14:
	.string	"_NET_SUPPORTED"
.LC15:
	.string	"_NET_WM_STATE"
.LC16:
	.string	"_NET_WM_STATE_FULLSCREEN"
.LC17:
	.string	"_NET_WM_PING"
.LC18:
	.string	"_NET_ACTIVE_WINDOW"
	.text
	.type	checkForEWMH, @function
checkForEWMH:
.LFB79:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -72[rbp], 0
	mov	QWORD PTR -64[rbp], 0
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	edx, 1
	lea	rsi, .LC13[rip]
	mov	rdi, rax
	call	XInternAtom@PLT
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	edx, 1
	lea	rsi, .LC14[rip]
	mov	rdi, rax
	call	XInternAtom@PLT
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -48[rbp], 0
	je	.L570
	cmp	QWORD PTR -40[rbp], 0
	jne	.L571
.L570:
	mov	eax, 0
	jmp	.L576
.L571:
	mov	rax, QWORD PTR _glfwWin[rip+224]
	lea	rdx, -72[rbp]
	mov	rsi, QWORD PTR -48[rbp]
	mov	rcx, rdx
	mov	edx, 33
	mov	rdi, rax
	call	getWindowProperty
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 1
	je	.L573
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	XFree@PLT
	mov	eax, 0
	jmp	.L576
.L573:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, -64[rbp]
	mov	rsi, QWORD PTR -48[rbp]
	mov	rcx, rdx
	mov	edx, 33
	mov	rdi, rax
	call	getWindowProperty
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 1
	je	.L574
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	XFree@PLT
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	XFree@PLT
	mov	eax, 0
	jmp	.L576
.L574:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	rdx, rax
	je	.L575
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	XFree@PLT
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	XFree@PLT
	mov	eax, 0
	jmp	.L576
.L575:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	XFree@PLT
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	XFree@PLT
	mov	rax, QWORD PTR _glfwWin[rip+224]
	lea	rdx, -56[rbp]
	mov	rsi, QWORD PTR -40[rbp]
	mov	rcx, rdx
	mov	edx, 4
	mov	rdi, rax
	call	getWindowProperty
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	lea	rdx, .LC15[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	getSupportedAtom
	mov	QWORD PTR _glfwWin[rip+280], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	lea	rdx, .LC16[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	getSupportedAtom
	mov	QWORD PTR _glfwWin[rip+288], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	lea	rdx, .LC17[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	getSupportedAtom
	mov	QWORD PTR _glfwWin[rip+272], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	lea	rdx, .LC18[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	getSupportedAtom
	mov	QWORD PTR _glfwWin[rip+296], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	XFree@PLT
	mov	eax, 1
.L576:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L577
	call	__stack_chk_fail@PLT
.L577:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE79:
	.size	checkForEWMH, .-checkForEWMH
	.section	.rodata
	.align 8
.LC19:
	.string	"Unable to retrieve the selected GLXFBConfig\n"
	.align 8
.LC20:
	.string	"Unable to retrieve visual for GLXFBconfig\n"
	.align 8
.LC21:
	.string	"OpenGL profile requested but GLX_ARB_create_context_profile is unavailable\n"
	.align 8
.LC22:
	.string	"Unable to create OpenGL context\n"
	.text
	.type	createContext, @function
createContext:
.LFB80:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 272
	mov	QWORD PTR -264[rbp], rdi
	mov	QWORD PTR -272[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -244[rbp], 0
	mov	eax, DWORD PTR -244[rbp]
	mov	DWORD PTR -240[rbp], eax
	add	DWORD PTR -244[rbp], 1
	mov	eax, DWORD PTR -240[rbp]
	cdqe
	mov	DWORD PTR -176[rbp+rax*4], 32787
	mov	eax, DWORD PTR -244[rbp]
	mov	DWORD PTR -236[rbp], eax
	add	DWORD PTR -244[rbp], 1
	mov	eax, DWORD PTR -236[rbp]
	cdqe
	mov	rdx, QWORD PTR -272[rbp]
	mov	DWORD PTR -176[rbp+rax*4], edx
	mov	eax, DWORD PTR -244[rbp]
	mov	DWORD PTR -232[rbp], eax
	add	DWORD PTR -244[rbp], 1
	mov	eax, DWORD PTR -232[rbp]
	cdqe
	mov	DWORD PTR -176[rbp+rax*4], 0
	mov	eax, DWORD PTR -244[rbp]
	mov	DWORD PTR -228[rbp], eax
	add	DWORD PTR -244[rbp], 1
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	mov	DWORD PTR -176[rbp+rax*4], 0
	movzx	eax, BYTE PTR _glfwWin[rip+376]
	test	al, al
	je	.L579
	mov	r8, QWORD PTR _glfwWin[rip+344]
	mov	esi, DWORD PTR _glfwWin[rip+232]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	lea	rcx, -252[rbp]
	lea	rdx, -176[rbp]
	mov	rdi, rax
	call	r8
	mov	QWORD PTR -184[rbp], rax
	jmp	.L580
.L579:
	mov	esi, DWORD PTR _glfwWin[rip+232]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	lea	rcx, -252[rbp]
	lea	rdx, -176[rbp]
	mov	rdi, rax
	call	glXChooseFBConfig@PLT
	mov	QWORD PTR -184[rbp], rax
.L580:
	cmp	QWORD PTR -184[rbp], 0
	jne	.L581
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 44
	mov	esi, 1
	lea	rdi, .LC19[rip]
	call	fwrite@PLT
	mov	eax, 0
	jmp	.L602
.L581:
	movzx	eax, BYTE PTR _glfwWin[rip+376]
	test	al, al
	je	.L583
	mov	rcx, QWORD PTR _glfwWin[rip+360]
	mov	rax, QWORD PTR -184[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	QWORD PTR _glfwWin[rip+240], rax
	jmp	.L584
.L583:
	mov	rax, QWORD PTR -184[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rsi, rdx
	mov	rdi, rax
	call	glXGetVisualFromFBConfig@PLT
	mov	QWORD PTR _glfwWin[rip+240], rax
.L584:
	mov	rax, QWORD PTR _glfwWin[rip+240]
	test	rax, rax
	jne	.L585
	mov	rax, QWORD PTR -184[rbp]
	mov	rdi, rax
	call	XFree@PLT
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 42
	mov	esi, 1
	lea	rdi, .LC20[rip]
	call	fwrite@PLT
	mov	eax, 0
	jmp	.L602
.L585:
	movzx	eax, BYTE PTR _glfwWin[rip+381]
	test	al, al
	je	.L586
	mov	DWORD PTR -244[rbp], 0
	mov	rax, QWORD PTR -264[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 1
	je	.L587
	mov	BYTE PTR -254[rbp], 1
	jmp	.L588
.L587:
	mov	rax, QWORD PTR -264[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	setne	al
	mov	BYTE PTR -254[rbp], al
.L588:
	cmp	BYTE PTR -254[rbp], 0
	je	.L589
	mov	eax, DWORD PTR -244[rbp]
	mov	DWORD PTR -224[rbp], eax
	add	DWORD PTR -244[rbp], 1
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	mov	DWORD PTR -176[rbp+rax*4], 8337
	mov	eax, DWORD PTR -244[rbp]
	mov	DWORD PTR -220[rbp], eax
	add	DWORD PTR -244[rbp], 1
	mov	eax, DWORD PTR -220[rbp]
	cdqe
	mov	rdx, QWORD PTR -264[rbp]
	mov	edx, DWORD PTR 12[rdx]
	mov	DWORD PTR -176[rbp+rax*4], edx
	mov	eax, DWORD PTR -244[rbp]
	mov	DWORD PTR -216[rbp], eax
	add	DWORD PTR -244[rbp], 1
	mov	eax, DWORD PTR -216[rbp]
	cdqe
	mov	DWORD PTR -176[rbp+rax*4], 8338
	mov	eax, DWORD PTR -244[rbp]
	mov	DWORD PTR -212[rbp], eax
	add	DWORD PTR -244[rbp], 1
	mov	eax, DWORD PTR -212[rbp]
	cdqe
	mov	rdx, QWORD PTR -264[rbp]
	mov	edx, DWORD PTR 16[rdx]
	mov	DWORD PTR -176[rbp+rax*4], edx
.L589:
	mov	rax, QWORD PTR -264[rbp]
	mov	eax, DWORD PTR 20[rax]
	test	eax, eax
	je	.L590
	mov	BYTE PTR -253[rbp], 1
	jmp	.L591
.L590:
	mov	rax, QWORD PTR -264[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	setne	al
	mov	BYTE PTR -253[rbp], al
.L591:
	cmp	BYTE PTR -253[rbp], 0
	je	.L592
	mov	DWORD PTR -248[rbp], 0
	mov	rax, QWORD PTR -264[rbp]
	mov	eax, DWORD PTR 20[rax]
	test	eax, eax
	je	.L593
	or	DWORD PTR -248[rbp], 2
.L593:
	mov	rax, QWORD PTR -264[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	je	.L594
	or	DWORD PTR -248[rbp], 1
.L594:
	mov	eax, DWORD PTR -244[rbp]
	mov	DWORD PTR -208[rbp], eax
	add	DWORD PTR -244[rbp], 1
	mov	eax, DWORD PTR -208[rbp]
	cdqe
	mov	DWORD PTR -176[rbp+rax*4], 8340
	mov	eax, DWORD PTR -244[rbp]
	mov	DWORD PTR -204[rbp], eax
	add	DWORD PTR -244[rbp], 1
	mov	eax, DWORD PTR -204[rbp]
	cdqe
	mov	edx, DWORD PTR -248[rbp]
	mov	DWORD PTR -176[rbp+rax*4], edx
.L592:
	mov	rax, QWORD PTR -264[rbp]
	mov	eax, DWORD PTR 28[rax]
	test	eax, eax
	je	.L595
	movzx	eax, BYTE PTR _glfwWin[rip+382]
	test	al, al
	jne	.L596
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 75
	mov	esi, 1
	lea	rdi, .LC21[rip]
	call	fwrite@PLT
	mov	eax, 0
	jmp	.L602
.L596:
	mov	rax, QWORD PTR -264[rbp]
	mov	eax, DWORD PTR 28[rax]
	cmp	eax, 327681
	jne	.L597
	mov	DWORD PTR -248[rbp], 1
	jmp	.L598
.L597:
	mov	DWORD PTR -248[rbp], 2
.L598:
	mov	eax, DWORD PTR -244[rbp]
	mov	DWORD PTR -200[rbp], eax
	add	DWORD PTR -244[rbp], 1
	mov	eax, DWORD PTR -200[rbp]
	cdqe
	mov	DWORD PTR -176[rbp+rax*4], 37158
	mov	eax, DWORD PTR -244[rbp]
	mov	DWORD PTR -196[rbp], eax
	add	DWORD PTR -244[rbp], 1
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	mov	edx, DWORD PTR -248[rbp]
	mov	DWORD PTR -176[rbp+rax*4], edx
.L595:
	mov	eax, DWORD PTR -244[rbp]
	mov	DWORD PTR -192[rbp], eax
	add	DWORD PTR -244[rbp], 1
	mov	eax, DWORD PTR -192[rbp]
	cdqe
	mov	DWORD PTR -176[rbp+rax*4], 0
	mov	eax, DWORD PTR -244[rbp]
	mov	DWORD PTR -188[rbp], eax
	add	DWORD PTR -244[rbp], 1
	mov	eax, DWORD PTR -188[rbp]
	cdqe
	mov	DWORD PTR -176[rbp+rax*4], 0
	lea	rdi, errorHandler[rip]
	call	XSetErrorHandler@PLT
	mov	r9, QWORD PTR _glfwWin[rip+368]
	mov	rax, QWORD PTR -184[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	lea	rdx, -176[rbp]
	mov	r8, rdx
	mov	ecx, 1
	mov	edx, 0
	mov	rdi, rax
	call	r9
	mov	QWORD PTR _glfwWin[rip+256], rax
	mov	edi, 0
	call	XSetErrorHandler@PLT
	mov	rax, QWORD PTR _glfwWin[rip+256]
	test	rax, rax
	jne	.L599
	mov	eax, DWORD PTR _glfwLibrary[rip+100]
	add	eax, 13
	movsx	rdx, eax
	mov	rax, QWORD PTR _glfwErrorCode[rip]
	cmp	rdx, rax
	jne	.L599
	mov	rax, QWORD PTR -264[rbp]
	mov	eax, DWORD PTR 28[rax]
	test	eax, eax
	jne	.L599
	mov	rax, QWORD PTR -264[rbp]
	mov	eax, DWORD PTR 20[rax]
	test	eax, eax
	jne	.L599
	mov	rax, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	createLegacyContext
	mov	QWORD PTR _glfwWin[rip+256], rax
.L599:
	mov	rax, QWORD PTR -264[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	DWORD PTR _glfwWin[rip+188], eax
	jmp	.L600
.L586:
	mov	rax, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	createLegacyContext
	mov	QWORD PTR _glfwWin[rip+256], rax
.L600:
	mov	rax, QWORD PTR -184[rbp]
	mov	rdi, rax
	call	XFree@PLT
	mov	rax, QWORD PTR _glfwWin[rip+256]
	test	rax, rax
	jne	.L601
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 32
	mov	esi, 1
	lea	rdi, .LC22[rip]
	call	fwrite@PLT
	mov	eax, 0
	jmp	.L602
.L601:
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR _glfwWin[rip+248], rax
	mov	eax, 1
.L602:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L603
	call	__stack_chk_fail@PLT
.L603:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE80:
	.size	createContext, .-createContext
	.type	createLegacyContext, @function
createLegacyContext:
.LFB81:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	movzx	eax, BYTE PTR _glfwWin[rip+376]
	test	al, al
	je	.L605
	mov	r9, QWORD PTR _glfwWin[rip+352]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rsi, QWORD PTR -24[rbp]
	mov	r8d, 1
	mov	ecx, 0
	mov	edx, 32788
	mov	rdi, rax
	call	r9
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L606
.L605:
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rsi, QWORD PTR -24[rbp]
	mov	r8d, 1
	mov	ecx, 0
	mov	edx, 32788
	mov	rdi, rax
	call	glXCreateNewContext@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
.L606:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE81:
	.size	createLegacyContext, .-createLegacyContext
	.type	createNULLCursor, @function
createNULLCursor:
.LFB82:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 208
	mov	QWORD PTR -200[rbp], rdi
	mov	QWORD PTR -208[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rsi, QWORD PTR -208[rbp]
	mov	rax, QWORD PTR -200[rbp]
	mov	r8d, 1
	mov	ecx, 1
	mov	edx, 1
	mov	rdi, rax
	call	XCreatePixmap@PLT
	mov	QWORD PTR -184[rbp], rax
	mov	DWORD PTR -144[rbp], 0
	lea	rdx, -144[rbp]
	mov	rsi, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR -200[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	rdi, rax
	call	XCreateGC@PLT
	mov	QWORD PTR -176[rbp], rax
	mov	rdx, QWORD PTR -176[rbp]
	mov	rsi, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR -200[rbp]
	sub	rsp, 8
	push	1
	mov	r9d, 1
	mov	r8d, 0
	mov	ecx, 0
	mov	rdi, rax
	call	XFillRectangle@PLT
	add	rsp, 16
	mov	QWORD PTR -160[rbp], 0
	mov	WORD PTR -152[rbp], 0
	mov	BYTE PTR -146[rbp], 4
	lea	rdi, -160[rbp]
	lea	rcx, -160[rbp]
	mov	rdx, QWORD PTR -184[rbp]
	mov	rsi, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR -200[rbp]
	sub	rsp, 8
	push	0
	mov	r9d, 0
	mov	r8, rdi
	mov	rdi, rax
	call	XCreatePixmapCursor@PLT
	add	rsp, 16
	mov	QWORD PTR -168[rbp], rax
	mov	rdx, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	XFreePixmap@PLT
	mov	rdx, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	XFreeGC@PLT
	mov	rax, QWORD PTR -168[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L609
	call	__stack_chk_fail@PLT
.L609:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE82:
	.size	createNULLCursor, .-createNULLCursor
	.section	.rodata
.LC23:
	.string	"WM_DELETE_WINDOW"
.LC24:
	.string	"GLFW Window"
	.text
	.type	createWindow, @function
createWindow:
.LFB83:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 512
	mov	DWORD PTR -500[rbp], edi
	mov	DWORD PTR -504[rbp], esi
	mov	QWORD PTR -512[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR _glfwWin[rip+240]
	mov	rdx, QWORD PTR [rax]
	mov	rsi, QWORD PTR _glfwWin[rip+224]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	ecx, 0
	mov	rdi, rax
	call	XCreateColormap@PLT
	mov	QWORD PTR _glfwWin[rip+208], rax
	mov	QWORD PTR -472[rbp], 10248
	mov	rax, QWORD PTR _glfwWin[rip+208]
	mov	QWORD PTR -352[rbp], rax
	mov	QWORD PTR -424[rbp], 0
	mov	QWORD PTR -376[rbp], 2326607
	mov	rax, QWORD PTR -512[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 65537
	jne	.L611
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rdx, QWORD PTR 232[rax]
	mov	eax, DWORD PTR _glfwWin[rip+232]
	cdqe
	sal	rax, 7
	add	rax, rdx
	mov	rax, QWORD PTR 96[rax]
	mov	QWORD PTR -440[rbp], rax
	or	QWORD PTR -472[rbp], 2
.L611:
	mov	rax, QWORD PTR _glfwWin[rip+240]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR _glfwWin[rip+240]
	mov	edx, DWORD PTR 20[rax]
	mov	eax, DWORD PTR _glfwWin[rip+104]
	mov	r9d, eax
	mov	eax, DWORD PTR _glfwWin[rip+100]
	mov	r8d, eax
	mov	rsi, QWORD PTR _glfwWin[rip+224]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	lea	rdi, -448[rbp]
	push	rdi
	push	QWORD PTR -472[rbp]
	push	rcx
	push	1
	push	rdx
	push	0
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	XCreateWindow@PLT
	add	rsp, 48
	mov	QWORD PTR _glfwWin[rip+216], rax
	mov	rax, QWORD PTR _glfwWin[rip+216]
	test	rax, rax
	jne	.L612
	call	_glfwPlatformCloseWindow
	mov	eax, 0
	jmp	.L622
.L612:
	call	checkForEWMH
	mov	BYTE PTR _glfwWin[rip+383], al
	movzx	eax, BYTE PTR _glfwWin[rip+383]
	test	al, al
	jne	.L614
	mov	eax, DWORD PTR _glfwWin[rip+64]
	test	eax, eax
	je	.L614
	mov	DWORD PTR -248[rbp], 1
	mov	rsi, QWORD PTR _glfwWin[rip+216]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	lea	rdx, -336[rbp]
	mov	rcx, rdx
	mov	edx, 512
	mov	rdi, rax
	call	XChangeWindowAttributes@PLT
	mov	BYTE PTR _glfwWin[rip+384], 1
.L614:
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	edx, 0
	lea	rsi, .LC23[rip]
	mov	rdi, rax
	call	XInternAtom@PLT
	mov	QWORD PTR _glfwWin[rip+264], rax
	mov	DWORD PTR -484[rbp], 0
	mov	rax, QWORD PTR _glfwWin[rip+264]
	test	rax, rax
	je	.L615
	mov	eax, DWORD PTR -484[rbp]
	mov	DWORD PTR -480[rbp], eax
	add	DWORD PTR -484[rbp], 1
	mov	eax, DWORD PTR -480[rbp]
	cdqe
	mov	rdx, QWORD PTR _glfwWin[rip+264]
	mov	QWORD PTR -224[rbp+rax*8], rdx
.L615:
	mov	rax, QWORD PTR _glfwWin[rip+272]
	test	rax, rax
	je	.L616
	mov	eax, DWORD PTR -484[rbp]
	mov	DWORD PTR -476[rbp], eax
	add	DWORD PTR -484[rbp], 1
	mov	eax, DWORD PTR -476[rbp]
	cdqe
	mov	rdx, QWORD PTR _glfwWin[rip+272]
	mov	QWORD PTR -224[rbp+rax*8], rdx
.L616:
	cmp	DWORD PTR -484[rbp], 0
	jle	.L617
	mov	rsi, QWORD PTR _glfwWin[rip+216]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	ecx, DWORD PTR -484[rbp]
	lea	rdx, -224[rbp]
	mov	rdi, rax
	call	XSetWMProtocols@PLT
.L617:
	call	XAllocWMHints@PLT
	mov	QWORD PTR -464[rbp], rax
	cmp	QWORD PTR -464[rbp], 0
	jne	.L618
	call	_glfwPlatformCloseWindow
	mov	eax, 0
	jmp	.L622
.L618:
	mov	rax, QWORD PTR -464[rbp]
	mov	QWORD PTR [rax], 2
	mov	rax, QWORD PTR -464[rbp]
	mov	DWORD PTR 12[rax], 1
	mov	rcx, QWORD PTR _glfwWin[rip+216]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rdx, QWORD PTR -464[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	XSetWMHints@PLT
	mov	rax, QWORD PTR -464[rbp]
	mov	rdi, rax
	call	XFree@PLT
	call	XAllocSizeHints@PLT
	mov	QWORD PTR -456[rbp], rax
	cmp	QWORD PTR -456[rbp], 0
	jne	.L620
	call	_glfwPlatformCloseWindow
	mov	eax, 0
	jmp	.L622
.L620:
	mov	rax, QWORD PTR -456[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -512[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	je	.L621
	mov	eax, DWORD PTR _glfwWin[rip+64]
	test	eax, eax
	jne	.L621
	mov	rax, QWORD PTR -456[rbp]
	mov	rax, QWORD PTR [rax]
	or	rax, 48
	mov	rdx, rax
	mov	rax, QWORD PTR -456[rbp]
	mov	QWORD PTR [rax], rdx
	mov	edx, DWORD PTR _glfwWin[rip+100]
	mov	rax, QWORD PTR -456[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -456[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -456[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	edx, DWORD PTR _glfwWin[rip+104]
	mov	rax, QWORD PTR -456[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -456[rbp]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR -456[rbp]
	mov	DWORD PTR 28[rax], edx
.L621:
	mov	rcx, QWORD PTR _glfwWin[rip+216]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rdx, QWORD PTR -456[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	XSetWMNormalHints@PLT
	mov	rax, QWORD PTR -456[rbp]
	mov	rdi, rax
	call	XFree@PLT
	lea	rdi, .LC24[rip]
	call	_glfwPlatformSetWindowTitle
	mov	rdx, QWORD PTR _glfwWin[rip+216]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rsi, rdx
	mov	rdi, rax
	call	XMapWindow@PLT
	mov	rax, QWORD PTR _glfwWin[rip+216]
	mov	rdx, rax
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	lea	rsi, -208[rbp]
	mov	rcx, rdx
	lea	rdx, isMapNotify[rip]
	mov	rdi, rax
	call	XPeekIfEvent@PLT
	mov	eax, 1
.L622:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L623
	call	__stack_chk_fail@PLT
.L623:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE83:
	.size	createWindow, .-createWindow
	.type	disableAutoPollEvents, @function
disableAutoPollEvents:
.LFB84:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR _glfwWin[rip+72], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE84:
	.size	disableAutoPollEvents, .-disableAutoPollEvents
	.type	disableKeyRepeat, @function
disableKeyRepeat:
.LFB85:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR _glfwInput[rip+360], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE85:
	.size	disableKeyRepeat, .-disableKeyRepeat
	.type	disableMouseCursor, @function
disableMouseCursor:
.LFB86:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR _glfwWin[rip+88]
	test	eax, eax
	je	.L629
	mov	eax, DWORD PTR _glfwWin[rip+68]
	test	eax, eax
	jne	.L629
	mov	eax, DWORD PTR _glfwWin[rip+92]
	test	eax, eax
	je	.L628
	call	_glfwPlatformHideMouseCursor
.L628:
	mov	DWORD PTR _glfwWin[rip+68], 1
.L629:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE86:
	.size	disableMouseCursor, .-disableMouseCursor
	.type	disableStickyKeys, @function
disableStickyKeys:
.LFB87:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR _glfwInput[rip+352], 0
	mov	DWORD PTR -4[rbp], 0
	jmp	.L631
.L633:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, _glfwInput[rip+20]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 2
	jne	.L632
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, _glfwInput[rip+20]
	mov	BYTE PTR [rax+rdx], 0
.L632:
	add	DWORD PTR -4[rbp], 1
.L631:
	cmp	DWORD PTR -4[rbp], 325
	jle	.L633
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE87:
	.size	disableStickyKeys, .-disableStickyKeys
	.type	disableStickyMouseButtons, @function
disableStickyMouseButtons:
.LFB88:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR _glfwInput[rip+356], 0
	mov	DWORD PTR -4[rbp], 0
	jmp	.L635
.L637:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, _glfwInput[rip+12]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 2
	jne	.L636
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, _glfwInput[rip+12]
	mov	BYTE PTR [rax+rdx], 0
.L636:
	add	DWORD PTR -4[rbp], 1
.L635:
	cmp	DWORD PTR -4[rbp], 7
	jle	.L637
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE88:
	.size	disableStickyMouseButtons, .-disableStickyMouseButtons
	.type	disableSystemKeys, @function
disableSystemKeys:
.LFB89:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR _glfwWin[rip+76]
	test	eax, eax
	jne	.L640
	call	_glfwPlatformDisableSystemKeys
	mov	DWORD PTR _glfwWin[rip+76], 1
.L640:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE89:
	.size	disableSystemKeys, .-disableSystemKeys
	.type	enableAutoPollEvents, @function
enableAutoPollEvents:
.LFB90:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR _glfwWin[rip+72], 1
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE90:
	.size	enableAutoPollEvents, .-enableAutoPollEvents
	.type	enableKeyRepeat, @function
enableKeyRepeat:
.LFB91:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR _glfwInput[rip+360], 1
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE91:
	.size	enableKeyRepeat, .-enableKeyRepeat
	.type	enableMouseCursor, @function
enableMouseCursor:
.LFB92:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	eax, DWORD PTR _glfwWin[rip+68]
	test	eax, eax
	je	.L647
	mov	eax, DWORD PTR _glfwWin[rip+88]
	test	eax, eax
	je	.L647
	mov	eax, DWORD PTR _glfwWin[rip+92]
	test	eax, eax
	je	.L645
	call	_glfwPlatformShowMouseCursor
	mov	eax, DWORD PTR _glfwWin[rip+100]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR _glfwWin[rip+104]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR _glfwInput[rip]
	cmp	DWORD PTR -8[rbp], eax
	jne	.L646
	mov	eax, DWORD PTR _glfwInput[rip+4]
	cmp	DWORD PTR -4[rbp], eax
	je	.L645
.L646:
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR -8[rbp]
	mov	esi, edx
	mov	edi, eax
	call	_glfwPlatformSetMouseCursorPos
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR _glfwInput[rip], eax
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR _glfwInput[rip+4], eax
	mov	rax, QWORD PTR _glfwWin[rip+32]
	test	rax, rax
	je	.L645
	mov	rcx, QWORD PTR _glfwWin[rip+32]
	mov	edx, DWORD PTR _glfwInput[rip+4]
	mov	eax, DWORD PTR _glfwInput[rip]
	mov	esi, edx
	mov	edi, eax
	call	rcx
.L645:
	mov	DWORD PTR _glfwWin[rip+68], 0
.L647:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE92:
	.size	enableMouseCursor, .-enableMouseCursor
	.type	enableStickyKeys, @function
enableStickyKeys:
.LFB93:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR _glfwInput[rip+352], 1
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE93:
	.size	enableStickyKeys, .-enableStickyKeys
	.type	enableStickyMouseButtons, @function
enableStickyMouseButtons:
.LFB94:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR _glfwInput[rip+356], 1
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE94:
	.size	enableStickyMouseButtons, .-enableStickyMouseButtons
	.type	enableSystemKeys, @function
enableSystemKeys:
.LFB95:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR _glfwWin[rip+76]
	test	eax, eax
	je	.L652
	call	_glfwPlatformEnableSystemKeys
	mov	DWORD PTR _glfwWin[rip+76], 0
.L652:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE95:
	.size	enableSystemKeys, .-enableSystemKeys
	.type	enterFullscreenMode, @function
enterFullscreenMode:
.LFB96:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 208
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR _glfwWin[rip+388]
	test	eax, eax
	jne	.L654
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	lea	r8, _glfwWin[rip+404]
	lea	rcx, _glfwWin[rip+400]
	lea	rdx, _glfwWin[rip+396]
	lea	rsi, _glfwWin[rip+392]
	mov	rdi, rax
	call	XGetScreenSaver@PLT
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	r8d, 2
	mov	ecx, 0
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	XSetScreenSaver@PLT
	mov	DWORD PTR _glfwWin[rip+388], 1
.L654:
	mov	eax, DWORD PTR _glfwWin[rip+232]
	lea	rcx, _glfwWin[rip+84]
	lea	rdx, _glfwWin[rip+104]
	lea	rsi, _glfwWin[rip+100]
	mov	edi, eax
	call	_glfwSetVideoMode
	mov	rax, QWORD PTR _glfwWin[rip+280]
	test	rax, rax
	je	.L655
	mov	rax, QWORD PTR _glfwWin[rip+288]
	test	rax, rax
	je	.L655
	movzx	eax, BYTE PTR _glfwWin[rip+383]
	test	al, al
	je	.L655
	mov	rax, QWORD PTR _glfwWin[rip+296]
	test	rax, rax
	je	.L656
	lea	rax, -208[rbp]
	mov	edx, 192
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	DWORD PTR -208[rbp], 33
	mov	rax, QWORD PTR _glfwWin[rip+216]
	mov	QWORD PTR -176[rbp], rax
	mov	DWORD PTR -160[rbp], 32
	mov	rax, QWORD PTR _glfwWin[rip+296]
	mov	QWORD PTR -168[rbp], rax
	mov	QWORD PTR -152[rbp], 1
	mov	QWORD PTR -144[rbp], 0
	mov	rsi, QWORD PTR _glfwWin[rip+224]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	lea	rdx, -208[rbp]
	mov	r8, rdx
	mov	ecx, 1572864
	mov	edx, 0
	mov	rdi, rax
	call	XSendEvent@PLT
.L656:
	lea	rax, -208[rbp]
	mov	edx, 192
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	DWORD PTR -208[rbp], 33
	mov	rax, QWORD PTR _glfwWin[rip+216]
	mov	QWORD PTR -176[rbp], rax
	mov	DWORD PTR -160[rbp], 32
	mov	rax, QWORD PTR _glfwWin[rip+280]
	mov	QWORD PTR -168[rbp], rax
	mov	QWORD PTR -152[rbp], 1
	mov	rax, QWORD PTR _glfwWin[rip+288]
	mov	QWORD PTR -144[rbp], rax
	mov	QWORD PTR -136[rbp], 0
	mov	QWORD PTR -128[rbp], 1
	mov	rsi, QWORD PTR _glfwWin[rip+224]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	lea	rdx, -208[rbp]
	mov	r8, rdx
	mov	ecx, 1572864
	mov	edx, 0
	mov	rdi, rax
	call	XSendEvent@PLT
	jmp	.L657
.L655:
	movzx	eax, BYTE PTR _glfwWin[rip+384]
	test	al, al
	je	.L657
	mov	rdx, QWORD PTR _glfwWin[rip+216]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rsi, rdx
	mov	rdi, rax
	call	XRaiseWindow@PLT
	mov	rsi, QWORD PTR _glfwWin[rip+216]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	ecx, 0
	mov	edx, 2
	mov	rdi, rax
	call	XSetInputFocus@PLT
	mov	rsi, QWORD PTR _glfwWin[rip+216]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	XMoveWindow@PLT
	mov	eax, DWORD PTR _glfwWin[rip+104]
	mov	ecx, eax
	mov	eax, DWORD PTR _glfwWin[rip+100]
	mov	edx, eax
	mov	rsi, QWORD PTR _glfwWin[rip+216]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rdi, rax
	call	XResizeWindow@PLT
.L657:
	mov	eax, DWORD PTR _glfwWin[rip+68]
	test	eax, eax
	je	.L658
	call	_glfwPlatformHideMouseCursor
.L658:
	mov	rdx, QWORD PTR _glfwWin[rip+216]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	sub	rsp, 8
	push	0
	push	0
	push	0
	mov	r9d, 0
	mov	r8d, 0
	mov	ecx, 0
	mov	esi, 0
	mov	rdi, rax
	call	XWarpPointer@PLT
	add	rsp, 32
	mov	eax, DWORD PTR _glfwWin[rip+104]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	esi, eax
	mov	eax, DWORD PTR _glfwWin[rip+100]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	ecx, eax
	mov	rdx, QWORD PTR _glfwWin[rip+216]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	sub	rsp, 8
	push	rsi
	push	rcx
	push	0
	mov	r9d, 0
	mov	r8d, 0
	mov	ecx, 0
	mov	esi, 0
	mov	rdi, rax
	call	XWarpPointer@PLT
	add	rsp, 32
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L659
	call	__stack_chk_fail@PLT
.L659:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE96:
	.size	enterFullscreenMode, .-enterFullscreenMode
	.type	errorHandler, @function
errorHandler:
.LFB97:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR 32[rax]
	movzx	eax, al
	mov	QWORD PTR _glfwErrorCode[rip], rax
	mov	eax, 0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE97:
	.size	errorHandler, .-errorHandler
	.type	getFBConfigAttrib, @function
getFBConfigAttrib:
.LFB98:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	movzx	eax, BYTE PTR _glfwWin[rip+376]
	test	al, al
	je	.L663
	mov	r8, QWORD PTR _glfwWin[rip+336]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	lea	rcx, -12[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	rsi, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	r8
	jmp	.L664
.L663:
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	lea	rcx, -12[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	rsi, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	glXGetFBConfigAttrib@PLT
.L664:
	mov	eax, DWORD PTR -12[rbp]
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L666
	call	__stack_chk_fail@PLT
.L666:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE98:
	.size	getFBConfigAttrib, .-getFBConfigAttrib
	.section	.rodata
	.align 8
.LC25:
	.string	"GLXFBConfigs are not supported by the X server\n"
.LC26:
	.string	"Chromium"
.LC27:
	.string	"No GLXFBConfigs returned\n"
.LC28:
	.string	"Out of memory\n"
	.text
	.type	getFBConfigs, @function
getFBConfigs:
.LFB99:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 104
	.cfi_offset 3, -24
	mov	QWORD PTR -104[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -88[rbp], 0
	mov	BYTE PTR -90[rbp], 1
	mov	rax, QWORD PTR -104[rbp]
	mov	DWORD PTR [rax], 0
	mov	eax, DWORD PTR _glfwLibrary[rip+88]
	cmp	eax, 1
	jne	.L685
	mov	eax, DWORD PTR _glfwLibrary[rip+92]
	cmp	eax, 2
	jg	.L685
	movzx	eax, BYTE PTR _glfwWin[rip+376]
	test	al, al
	jne	.L686
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 47
	mov	esi, 1
	lea	rdi, .LC25[rip]
	call	fwrite@PLT
	mov	eax, 0
	jmp	.L683
.L685:
	nop
	jmp	.L668
.L686:
	nop
.L668:
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	esi, 1
	mov	rdi, rax
	call	glXGetClientString@PLT
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	lea	rsi, .LC26[rip]
	mov	rdi, rax
	call	strcmp@PLT
	mov	DWORD PTR -80[rbp], eax
	cmp	DWORD PTR -80[rbp], 0
	jne	.L671
	mov	BYTE PTR -90[rbp], 0
.L671:
	movzx	eax, BYTE PTR _glfwWin[rip+376]
	test	al, al
	je	.L672
	mov	r8, QWORD PTR _glfwWin[rip+344]
	mov	esi, DWORD PTR _glfwWin[rip+232]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	lea	rdx, -88[rbp]
	mov	rcx, rdx
	mov	edx, 0
	mov	rdi, rax
	call	r8
	mov	QWORD PTR -56[rbp], rax
	mov	eax, DWORD PTR -88[rbp]
	test	eax, eax
	jne	.L673
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 25
	mov	esi, 1
	lea	rdi, .LC27[rip]
	call	fwrite@PLT
	mov	eax, 0
	jmp	.L683
.L672:
	mov	ecx, DWORD PTR _glfwWin[rip+232]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	lea	rdx, -88[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	glXGetFBConfigs@PLT
	mov	QWORD PTR -56[rbp], rax
	mov	eax, DWORD PTR -88[rbp]
	test	eax, eax
	jne	.L673
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 25
	mov	esi, 1
	lea	rdi, .LC27[rip]
	call	fwrite@PLT
	mov	eax, 0
	jmp	.L683
.L673:
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	sal	rax, 6
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	jne	.L674
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 14
	mov	esi, 1
	lea	rdi, .LC28[rip]
	call	fwrite@PLT
	mov	eax, 0
	jmp	.L683
.L674:
	mov	DWORD PTR -84[rbp], 0
	jmp	.L675
.L682:
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	esi, 5
	mov	rdi, rax
	call	getFBConfigAttrib
	mov	DWORD PTR -76[rbp], eax
	cmp	DWORD PTR -76[rbp], 0
	jne	.L676
	mov	BYTE PTR -89[rbp], 1
	jmp	.L677
.L676:
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	esi, 32779
	mov	rdi, rax
	call	getFBConfigAttrib
	mov	DWORD PTR -72[rbp], eax
	cmp	DWORD PTR -72[rbp], 0
	sete	al
	mov	BYTE PTR -89[rbp], al
.L677:
	movzx	eax, BYTE PTR -89[rbp]
	xor	eax, 1
	test	al, al
	je	.L678
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	esi, 32785
	mov	rdi, rax
	call	getFBConfigAttrib
	mov	DWORD PTR -68[rbp], eax
	mov	eax, DWORD PTR -68[rbp]
	and	eax, 1
	test	eax, eax
	je	.L678
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	esi, 32784
	mov	rdi, rax
	call	getFBConfigAttrib
	mov	DWORD PTR -64[rbp], eax
	mov	eax, DWORD PTR -64[rbp]
	and	eax, 1
	test	eax, eax
	jne	.L687
	cmp	BYTE PTR -90[rbp], 0
	jne	.L678
	jmp	.L679
.L687:
	nop
.L679:
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR [rdx]
	mov	edx, edx
	mov	rcx, rdx
	sal	rcx, 6
	mov	rdx, QWORD PTR -32[rbp]
	lea	rbx, [rcx+rdx]
	mov	esi, 8
	mov	rdi, rax
	call	getFBConfigAttrib
	mov	DWORD PTR [rbx], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR [rdx]
	mov	edx, edx
	mov	rcx, rdx
	sal	rcx, 6
	mov	rdx, QWORD PTR -32[rbp]
	lea	rbx, [rcx+rdx]
	mov	esi, 9
	mov	rdi, rax
	call	getFBConfigAttrib
	mov	DWORD PTR 4[rbx], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR [rdx]
	mov	edx, edx
	mov	rcx, rdx
	sal	rcx, 6
	mov	rdx, QWORD PTR -32[rbp]
	lea	rbx, [rcx+rdx]
	mov	esi, 10
	mov	rdi, rax
	call	getFBConfigAttrib
	mov	DWORD PTR 8[rbx], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR [rdx]
	mov	edx, edx
	mov	rcx, rdx
	sal	rcx, 6
	mov	rdx, QWORD PTR -32[rbp]
	lea	rbx, [rcx+rdx]
	mov	esi, 11
	mov	rdi, rax
	call	getFBConfigAttrib
	mov	DWORD PTR 12[rbx], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR [rdx]
	mov	edx, edx
	mov	rcx, rdx
	sal	rcx, 6
	mov	rdx, QWORD PTR -32[rbp]
	lea	rbx, [rcx+rdx]
	mov	esi, 12
	mov	rdi, rax
	call	getFBConfigAttrib
	mov	DWORD PTR 16[rbx], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR [rdx]
	mov	edx, edx
	mov	rcx, rdx
	sal	rcx, 6
	mov	rdx, QWORD PTR -32[rbp]
	lea	rbx, [rcx+rdx]
	mov	esi, 13
	mov	rdi, rax
	call	getFBConfigAttrib
	mov	DWORD PTR 20[rbx], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR [rdx]
	mov	edx, edx
	mov	rcx, rdx
	sal	rcx, 6
	mov	rdx, QWORD PTR -32[rbp]
	lea	rbx, [rcx+rdx]
	mov	esi, 14
	mov	rdi, rax
	call	getFBConfigAttrib
	mov	DWORD PTR 24[rbx], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR [rdx]
	mov	edx, edx
	mov	rcx, rdx
	sal	rcx, 6
	mov	rdx, QWORD PTR -32[rbp]
	lea	rbx, [rcx+rdx]
	mov	esi, 15
	mov	rdi, rax
	call	getFBConfigAttrib
	mov	DWORD PTR 28[rbx], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR [rdx]
	mov	edx, edx
	mov	rcx, rdx
	sal	rcx, 6
	mov	rdx, QWORD PTR -32[rbp]
	lea	rbx, [rcx+rdx]
	mov	esi, 16
	mov	rdi, rax
	call	getFBConfigAttrib
	mov	DWORD PTR 32[rbx], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR [rdx]
	mov	edx, edx
	mov	rcx, rdx
	sal	rcx, 6
	mov	rdx, QWORD PTR -32[rbp]
	lea	rbx, [rcx+rdx]
	mov	esi, 17
	mov	rdi, rax
	call	getFBConfigAttrib
	mov	DWORD PTR 36[rbx], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR [rdx]
	mov	edx, edx
	mov	rcx, rdx
	sal	rcx, 6
	mov	rdx, QWORD PTR -32[rbp]
	lea	rbx, [rcx+rdx]
	mov	esi, 7
	mov	rdi, rax
	call	getFBConfigAttrib
	mov	DWORD PTR 40[rbx], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR [rdx]
	mov	edx, edx
	mov	rcx, rdx
	sal	rcx, 6
	mov	rdx, QWORD PTR -32[rbp]
	lea	rbx, [rcx+rdx]
	mov	esi, 6
	mov	rdi, rax
	call	getFBConfigAttrib
	mov	DWORD PTR 44[rbx], eax
	movzx	eax, BYTE PTR _glfwWin[rip+380]
	test	al, al
	je	.L680
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR [rdx]
	mov	edx, edx
	mov	rcx, rdx
	sal	rcx, 6
	mov	rdx, QWORD PTR -32[rbp]
	lea	rbx, [rcx+rdx]
	mov	esi, 100001
	mov	rdi, rax
	call	getFBConfigAttrib
	mov	DWORD PTR 48[rbx], eax
	jmp	.L681
.L680:
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	sal	rax, 6
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	DWORD PTR 48[rax], 0
.L681:
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	esi, 32787
	mov	rdi, rax
	call	getFBConfigAttrib
	mov	DWORD PTR -60[rbp], eax
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	sal	rax, 6
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	mov	QWORD PTR 56[rdx], rax
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	DWORD PTR [rax], edx
.L678:
	add	DWORD PTR -84[rbp], 1
.L675:
	mov	eax, DWORD PTR -88[rbp]
	cmp	DWORD PTR -84[rbp], eax
	jl	.L682
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	XFree@PLT
	mov	rax, QWORD PTR -32[rbp]
.L683:
	mov	rbx, QWORD PTR -24[rbp]
	sub	rbx, QWORD PTR fs:40
	je	.L684
	call	__stack_chk_fail@PLT
.L684:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE99:
	.size	getFBConfigs, .-getFBConfigs
	.type	getRawTime, @function
getRawTime:
.LFB100:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	movzx	eax, BYTE PTR _glfwLibrary[rip+128]
	test	al, al
	je	.L689
	lea	rax, -32[rbp]
	mov	rsi, rax
	mov	edi, 1
	call	clock_gettime@PLT
	mov	rax, QWORD PTR -32[rbp]
	imul	rdx, rax, 1000000000
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	jmp	.L690
.L689:
	lea	rax, -32[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	gettimeofday@PLT
	mov	rax, QWORD PTR -32[rbp]
	imul	rdx, rax, 1000000
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
.L690:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L691
	call	__stack_chk_fail@PLT
.L691:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE100:
	.size	getRawTime, .-getRawTime
	.type	getSupportedAtom, @function
getSupportedAtom:
.LFB101:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rcx, QWORD PTR -40[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	XInternAtom@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L693
	mov	QWORD PTR -16[rbp], 0
	jmp	.L694
.L697:
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -8[rbp], rax
	jne	.L695
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L696
.L695:
	add	QWORD PTR -16[rbp], 1
.L694:
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -32[rbp]
	jb	.L697
.L693:
	mov	eax, 0
.L696:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE101:
	.size	getSupportedAtom, .-getSupportedAtom
	.type	getWindowProperty, @function
getWindowProperty:
.LFB102:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	QWORD PTR -72[rbp], rdx
	mov	QWORD PTR -80[rbp], rcx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rdx, QWORD PTR -64[rbp]
	mov	rsi, QWORD PTR -56[rbp]
	push	QWORD PTR -80[rbp]
	lea	rcx, -16[rbp]
	push	rcx
	lea	rcx, -24[rbp]
	push	rcx
	lea	rcx, -36[rbp]
	push	rcx
	lea	rcx, -32[rbp]
	push	rcx
	push	QWORD PTR -72[rbp]
	mov	r9d, 0
	movabs	r8, 9223372036854775807
	mov	ecx, 0
	mov	rdi, rax
	call	XGetWindowProperty@PLT
	add	rsp, 48
	mov	rax, QWORD PTR -32[rbp]
	cmp	QWORD PTR -72[rbp], rax
	je	.L699
	mov	eax, 0
	jmp	.L701
.L699:
	mov	rax, QWORD PTR -24[rbp]
.L701:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L702
	call	__stack_chk_fail@PLT
.L702:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE102:
	.size	getWindowProperty, .-getWindowProperty
	.globl	glfwBroadcastCond
	.type	glfwBroadcastCond, @function
glfwBroadcastCond:
.LFB103:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	cmp	QWORD PTR -8[rbp], 0
	je	.L705
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L705
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	_glfwPlatformBroadcastCond
.L705:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE103:
	.size	glfwBroadcastCond, .-glfwBroadcastCond
	.globl	glfwCloseWindow
	.type	glfwCloseWindow, @function
glfwCloseWindow:
.LFB104:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L708
	mov	edi, 196609
	call	glfwEnable
	call	_glfwPlatformCloseWindow
	mov	edx, 432
	mov	esi, 0
	lea	rdi, _glfwWin[rip]
	call	memset@PLT
.L708:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE104:
	.size	glfwCloseWindow, .-glfwCloseWindow
	.globl	glfwCreateCond
	.type	glfwCreateCond, @function
glfwCreateCond:
.LFB105:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	jne	.L710
	mov	eax, 0
	jmp	.L711
.L710:
	call	_glfwPlatformCreateCond
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
.L711:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE105:
	.size	glfwCreateCond, .-glfwCreateCond
	.globl	glfwCreateMutex
	.type	glfwCreateMutex, @function
glfwCreateMutex:
.LFB106:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	jne	.L713
	mov	eax, 0
	jmp	.L714
.L713:
	call	_glfwPlatformCreateMutex
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
.L714:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE106:
	.size	glfwCreateMutex, .-glfwCreateMutex
	.globl	glfwCreateThread
	.type	glfwCreateThread, @function
glfwCreateThread:
.LFB107:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	jne	.L716
	mov	eax, -1
	jmp	.L717
.L716:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	_glfwPlatformCreateThread
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
.L717:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE107:
	.size	glfwCreateThread, .-glfwCreateThread
	.globl	glfwDestroyCond
	.type	glfwDestroyCond, @function
glfwDestroyCond:
.LFB108:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	cmp	QWORD PTR -8[rbp], 0
	je	.L720
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L720
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	_glfwPlatformDestroyCond
.L720:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE108:
	.size	glfwDestroyCond, .-glfwDestroyCond
	.globl	glfwDestroyMutex
	.type	glfwDestroyMutex, @function
glfwDestroyMutex:
.LFB109:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	cmp	QWORD PTR -8[rbp], 0
	je	.L723
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L723
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	_glfwPlatformDestroyMutex
.L723:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE109:
	.size	glfwDestroyMutex, .-glfwDestroyMutex
	.globl	glfwDestroyThread
	.type	glfwDestroyThread, @function
glfwDestroyThread:
.LFB110:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L726
	cmp	DWORD PTR -4[rbp], 0
	jle	.L726
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	_glfwPlatformDestroyThread
.L726:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE110:
	.size	glfwDestroyThread, .-glfwDestroyThread
	.globl	glfwDisable
	.type	glfwDisable, @function
glfwDisable:
.LFB111:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L736
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, 196609
	cmp	eax, 5
	ja	.L736
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L730[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L730[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L730:
	.long	.L735-.L730
	.long	.L734-.L730
	.long	.L733-.L730
	.long	.L732-.L730
	.long	.L731-.L730
	.long	.L729-.L730
	.text
.L735:
	call	disableMouseCursor
	jmp	.L728
.L734:
	call	disableStickyKeys
	jmp	.L728
.L733:
	call	disableStickyMouseButtons
	jmp	.L728
.L732:
	call	disableSystemKeys
	jmp	.L728
.L731:
	call	disableKeyRepeat
	jmp	.L728
.L729:
	call	disableAutoPollEvents
	jmp	.L736
.L728:
.L736:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE111:
	.size	glfwDisable, .-glfwDisable
	.globl	glfwEnable
	.type	glfwEnable, @function
glfwEnable:
.LFB112:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L746
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, 196609
	cmp	eax, 5
	ja	.L746
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L740[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L740[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L740:
	.long	.L745-.L740
	.long	.L744-.L740
	.long	.L743-.L740
	.long	.L742-.L740
	.long	.L741-.L740
	.long	.L739-.L740
	.text
.L745:
	call	enableMouseCursor
	jmp	.L738
.L744:
	call	enableStickyKeys
	jmp	.L738
.L743:
	call	enableStickyMouseButtons
	jmp	.L738
.L742:
	call	enableSystemKeys
	jmp	.L738
.L741:
	call	enableKeyRepeat
	jmp	.L738
.L739:
	call	enableAutoPollEvents
	jmp	.L746
.L738:
.L746:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE112:
	.size	glfwEnable, .-glfwEnable
	.globl	glfwExtensionSupported
	.type	glfwExtensionSupported, @function
glfwExtensionSupported:
.LFB113:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR _glfwWin[rip+88]
	test	eax, eax
	je	.L748
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	jne	.L749
.L748:
	mov	eax, 0
	jmp	.L750
.L749:
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, 32
	mov	rdi, rax
	call	strchr@PLT
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	je	.L751
	mov	BYTE PTR -61[rbp], 1
	jmp	.L752
.L751:
	mov	rax, QWORD PTR -72[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	sete	al
	mov	BYTE PTR -61[rbp], al
.L752:
	cmp	BYTE PTR -61[rbp], 0
	je	.L753
	mov	eax, 0
	jmp	.L750
.L753:
	mov	eax, DWORD PTR _glfwWin[rip+172]
	cmp	eax, 2
	jg	.L754
	mov	edi, 7939
	call	glGetString@PLT
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L755
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	_glfwStringInExtensionString
	mov	DWORD PTR -48[rbp], eax
	cmp	DWORD PTR -48[rbp], 0
	je	.L755
	mov	eax, 1
	jmp	.L750
.L754:
	lea	rax, -60[rbp]
	mov	rsi, rax
	mov	edi, 33309
	call	glGetIntegerv@PLT
	mov	DWORD PTR -56[rbp], 0
	mov	eax, DWORD PTR -60[rbp]
	cmp	DWORD PTR -56[rbp], eax
	jge	.L755
	mov	rdx, QWORD PTR _glfwWin[rip+200]
	mov	eax, DWORD PTR -56[rbp]
	mov	esi, eax
	mov	edi, 7939
	call	rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	mov	DWORD PTR -52[rbp], eax
	cmp	DWORD PTR -52[rbp], 0
	jne	.L757
	mov	eax, 1
	jmp	.L750
.L757:
	add	DWORD PTR -56[rbp], 1
.L755:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	_glfwPlatformExtensionSupported
	mov	DWORD PTR -44[rbp], eax
	cmp	DWORD PTR -44[rbp], 0
	je	.L758
	mov	eax, 1
	jmp	.L750
.L758:
	mov	eax, 0
.L750:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L759
	call	__stack_chk_fail@PLT
.L759:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE113:
	.size	glfwExtensionSupported, .-glfwExtensionSupported
	.globl	glfwFreeImage
	.type	glfwFreeImage, @function
glfwFreeImage:
.LFB114:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L763
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	je	.L762
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], 0
.L762:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 4[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 12[rax], 0
.L763:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE114:
	.size	glfwFreeImage, .-glfwFreeImage
	.globl	glfwGetDesktopMode
	.type	glfwGetDesktopMode, @function
glfwGetDesktopMode:
.LFB115:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	cmp	QWORD PTR -8[rbp], 0
	je	.L766
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L766
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR _glfwLibrary[rip+56]
	mov	rdx, QWORD PTR _glfwLibrary[rip+64]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	eax, DWORD PTR _glfwLibrary[rip+72]
	mov	DWORD PTR 16[rcx], eax
.L766:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE115:
	.size	glfwGetDesktopMode, .-glfwGetDesktopMode
	.globl	glfwGetGLVersion
	.type	glfwGetGLVersion, @function
glfwGetGLVersion:
.LFB116:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	eax, DWORD PTR _glfwWin[rip+88]
	test	eax, eax
	je	.L771
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L771
	cmp	QWORD PTR -8[rbp], 0
	je	.L769
	mov	edx, DWORD PTR _glfwWin[rip+172]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], edx
.L769:
	cmp	QWORD PTR -16[rbp], 0
	je	.L770
	mov	edx, DWORD PTR _glfwWin[rip+176]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], edx
.L770:
	cmp	QWORD PTR -24[rbp], 0
	je	.L771
	mov	edx, DWORD PTR _glfwWin[rip+180]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], edx
.L771:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE116:
	.size	glfwGetGLVersion, .-glfwGetGLVersion
	.globl	glfwGetJoystickButtons
	.type	glfwGetJoystickButtons, @function
glfwGetJoystickButtons:
.LFB117:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -24[rbp], edx
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	jne	.L773
	mov	eax, 0
	jmp	.L774
.L773:
	mov	DWORD PTR -8[rbp], 0
	jmp	.L775
.L776:
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	add	DWORD PTR -8[rbp], 1
.L775:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jl	.L776
	mov	edx, DWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	_glfwPlatformGetJoystickButtons
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
.L774:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE117:
	.size	glfwGetJoystickButtons, .-glfwGetJoystickButtons
	.globl	glfwGetJoystickParam
	.type	glfwGetJoystickParam, @function
glfwGetJoystickParam:
.LFB118:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	jne	.L778
	mov	eax, 0
	jmp	.L779
.L778:
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, edx
	mov	edi, eax
	call	_glfwPlatformGetJoystickParam
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
.L779:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE118:
	.size	glfwGetJoystickParam, .-glfwGetJoystickParam
	.globl	glfwGetJoystickPos
	.type	glfwGetJoystickPos, @function
glfwGetJoystickPos:
.LFB119:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -24[rbp], edx
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	jne	.L781
	mov	eax, 0
	jmp	.L782
.L781:
	mov	DWORD PTR -8[rbp], 0
	jmp	.L783
.L784:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	pxor	xmm0, xmm0
	movss	DWORD PTR [rax], xmm0
	add	DWORD PTR -8[rbp], 1
.L783:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jl	.L784
	mov	edx, DWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	_glfwPlatformGetJoystickPos
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
.L782:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE119:
	.size	glfwGetJoystickPos, .-glfwGetJoystickPos
	.globl	glfwGetKey
	.type	glfwGetKey, @function
glfwGetKey:
.LFB120:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR _glfwWin[rip+88]
	test	eax, eax
	je	.L786
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	jne	.L787
.L786:
	mov	eax, 0
	jmp	.L788
.L787:
	cmp	DWORD PTR -4[rbp], 325
	jg	.L789
	cmp	DWORD PTR -4[rbp], 0
	jns	.L790
.L789:
	mov	eax, 0
	jmp	.L788
.L790:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, _glfwInput[rip+20]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 2
	jne	.L791
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, _glfwInput[rip+20]
	mov	BYTE PTR [rax+rdx], 0
	mov	eax, 1
	jmp	.L788
.L791:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, _glfwInput[rip+20]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	eax, al
.L788:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE120:
	.size	glfwGetKey, .-glfwGetKey
	.globl	glfwGetMouseButton
	.type	glfwGetMouseButton, @function
glfwGetMouseButton:
.LFB121:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR _glfwWin[rip+88]
	test	eax, eax
	je	.L793
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	jne	.L794
.L793:
	mov	eax, 0
	jmp	.L795
.L794:
	cmp	DWORD PTR -4[rbp], 7
	jg	.L796
	cmp	DWORD PTR -4[rbp], 0
	jns	.L797
.L796:
	mov	eax, 0
	jmp	.L795
.L797:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, _glfwInput[rip+12]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 2
	jne	.L798
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, _glfwInput[rip+12]
	mov	BYTE PTR [rax+rdx], 0
	mov	eax, 1
	jmp	.L795
.L798:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, _glfwInput[rip+12]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	eax, al
.L795:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE121:
	.size	glfwGetMouseButton, .-glfwGetMouseButton
	.globl	glfwGetMousePos
	.type	glfwGetMousePos, @function
glfwGetMousePos:
.LFB122:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	eax, DWORD PTR _glfwWin[rip+88]
	test	eax, eax
	je	.L802
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L802
	cmp	QWORD PTR -8[rbp], 0
	je	.L801
	mov	edx, DWORD PTR _glfwInput[rip]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], edx
.L801:
	cmp	QWORD PTR -16[rbp], 0
	je	.L802
	mov	edx, DWORD PTR _glfwInput[rip+4]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], edx
.L802:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE122:
	.size	glfwGetMousePos, .-glfwGetMousePos
	.globl	glfwGetMouseWheel
	.type	glfwGetMouseWheel, @function
glfwGetMouseWheel:
.LFB123:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR _glfwWin[rip+88]
	test	eax, eax
	je	.L804
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	jne	.L805
.L804:
	mov	eax, 0
	jmp	.L806
.L805:
	mov	eax, DWORD PTR _glfwInput[rip+8]
.L806:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE123:
	.size	glfwGetMouseWheel, .-glfwGetMouseWheel
	.globl	glfwGetNumberOfProcessors
	.type	glfwGetNumberOfProcessors, @function
glfwGetNumberOfProcessors:
.LFB124:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	jne	.L808
	mov	eax, 0
	jmp	.L809
.L808:
	call	_glfwPlatformGetNumberOfProcessors
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
.L809:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE124:
	.size	glfwGetNumberOfProcessors, .-glfwGetNumberOfProcessors
	.globl	glfwGetProcAddress
	.type	glfwGetProcAddress, @function
glfwGetProcAddress:
.LFB125:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	eax, DWORD PTR _glfwWin[rip+88]
	test	eax, eax
	je	.L811
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	jne	.L812
.L811:
	mov	eax, 0
	jmp	.L813
.L812:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	_glfwPlatformGetProcAddress
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
.L813:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE125:
	.size	glfwGetProcAddress, .-glfwGetProcAddress
	.globl	glfwGetThreadID
	.type	glfwGetThreadID, @function
glfwGetThreadID:
.LFB126:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	jne	.L815
	mov	eax, 0
	jmp	.L816
.L815:
	call	_glfwPlatformGetThreadID
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
.L816:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE126:
	.size	glfwGetThreadID, .-glfwGetThreadID
	.globl	glfwGetTime
	.type	glfwGetTime, @function
glfwGetTime:
.LFB127:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	jne	.L818
	pxor	xmm0, xmm0
	jmp	.L819
.L818:
	call	_glfwPlatformGetTime
	movq	rax, xmm0
	mov	QWORD PTR -8[rbp], rax
	movsd	xmm0, QWORD PTR -8[rbp]
.L819:
	movq	rax, xmm0
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE127:
	.size	glfwGetTime, .-glfwGetTime
	.globl	glfwGetVersion
	.type	glfwGetVersion, @function
glfwGetVersion:
.LFB128:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	cmp	QWORD PTR -8[rbp], 0
	je	.L821
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 2
.L821:
	cmp	QWORD PTR -16[rbp], 0
	je	.L822
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], 7
.L822:
	cmp	QWORD PTR -24[rbp], 0
	je	.L824
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], 9
.L824:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE128:
	.size	glfwGetVersion, .-glfwGetVersion
	.globl	glfwGetVideoModes
	.type	glfwGetVideoModes, @function
glfwGetVideoModes:
.LFB129:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	DWORD PTR -76[rbp], esi
	cmp	QWORD PTR -72[rbp], 0
	je	.L826
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L826
	cmp	DWORD PTR -76[rbp], 0
	jg	.L827
.L826:
	mov	eax, 0
	jmp	.L835
.L827:
	mov	edx, DWORD PTR -76[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	_glfwPlatformGetVideoModes
	mov	DWORD PTR -52[rbp], eax
.L834:
	mov	DWORD PTR -56[rbp], 0
	mov	DWORD PTR -60[rbp], 0
	jmp	.L829
.L833:
	mov	eax, DWORD PTR -60[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	ecx, DWORD PTR [rax]
	mov	eax, DWORD PTR -60[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR 4[rax]
	imul	eax, ecx
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	ecx, DWORD PTR 8[rax]
	mov	eax, DWORD PTR -60[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR 16[rax]
	add	ecx, eax
	mov	eax, DWORD PTR -60[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR 12[rax]
	add	eax, ecx
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	add	eax, 1
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	ecx, DWORD PTR [rax]
	mov	eax, DWORD PTR -60[rbp]
	add	eax, 1
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR 4[rax]
	imul	eax, ecx
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	add	eax, 1
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	ecx, DWORD PTR 8[rax]
	mov	eax, DWORD PTR -60[rbp]
	add	eax, 1
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR 16[rax]
	add	ecx, eax
	mov	eax, DWORD PTR -60[rbp]
	add	eax, 1
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR 12[rax]
	add	eax, ecx
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -44[rbp]
	jne	.L830
	mov	eax, DWORD PTR -40[rbp]
	cmp	eax, DWORD PTR -48[rbp]
	jl	.L831
.L830:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -44[rbp]
	jge	.L832
.L831:
	mov	eax, DWORD PTR -60[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	lea	rcx, [rdx+rax]
	mov	rax, QWORD PTR [rcx]
	mov	rdx, QWORD PTR 8[rcx]
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -24[rbp], rdx
	mov	eax, DWORD PTR 16[rcx]
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	add	eax, 1
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	lea	rsi, [rdx+rax]
	mov	eax, DWORD PTR -60[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	lea	rcx, [rdx+rax]
	mov	rax, QWORD PTR [rsi]
	mov	rdx, QWORD PTR 8[rsi]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	eax, DWORD PTR 16[rsi]
	mov	DWORD PTR 16[rcx], eax
	mov	eax, DWORD PTR -60[rbp]
	add	eax, 1
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	lea	rcx, [rdx+rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR 16[rcx], eax
	mov	DWORD PTR -56[rbp], 1
.L832:
	add	DWORD PTR -60[rbp], 1
.L829:
	mov	eax, DWORD PTR -52[rbp]
	sub	eax, 1
	cmp	DWORD PTR -60[rbp], eax
	jl	.L833
	cmp	DWORD PTR -56[rbp], 0
	jne	.L834
	mov	eax, DWORD PTR -52[rbp]
.L835:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE129:
	.size	glfwGetVideoModes, .-glfwGetVideoModes
	.globl	glfwGetWindowParam
	.type	glfwGetWindowParam, @function
glfwGetWindowParam:
.LFB130:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	jne	.L837
	mov	eax, 0
	jmp	.L838
.L837:
	mov	eax, DWORD PTR _glfwWin[rip+88]
	test	eax, eax
	jne	.L839
	cmp	DWORD PTR -4[rbp], 131073
	jne	.L840
	mov	eax, 0
	jmp	.L838
.L840:
	mov	eax, 0
	jmp	.L838
.L839:
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, 131073
	cmp	eax, 23
	ja	.L841
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L843[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L843[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L843:
	.long	.L866-.L843
	.long	.L865-.L843
	.long	.L864-.L843
	.long	.L863-.L843
	.long	.L862-.L843
	.long	.L861-.L843
	.long	.L860-.L843
	.long	.L859-.L843
	.long	.L858-.L843
	.long	.L857-.L843
	.long	.L856-.L843
	.long	.L855-.L843
	.long	.L854-.L843
	.long	.L853-.L843
	.long	.L852-.L843
	.long	.L851-.L843
	.long	.L850-.L843
	.long	.L849-.L843
	.long	.L848-.L843
	.long	.L847-.L843
	.long	.L846-.L843
	.long	.L845-.L843
	.long	.L844-.L843
	.long	.L842-.L843
	.text
.L866:
	mov	eax, 1
	jmp	.L838
.L865:
	mov	eax, DWORD PTR _glfwWin[rip+92]
	jmp	.L838
.L864:
	mov	eax, DWORD PTR _glfwWin[rip+96]
	jmp	.L838
.L863:
	mov	eax, DWORD PTR _glfwWin[rip+108]
	jmp	.L838
.L862:
	mov	eax, DWORD PTR _glfwWin[rip+112]
	jmp	.L838
.L861:
	mov	eax, DWORD PTR _glfwWin[rip+116]
	jmp	.L838
.L860:
	mov	eax, DWORD PTR _glfwWin[rip+120]
	jmp	.L838
.L859:
	mov	eax, DWORD PTR _glfwWin[rip+124]
	jmp	.L838
.L858:
	mov	eax, DWORD PTR _glfwWin[rip+128]
	jmp	.L838
.L857:
	mov	eax, DWORD PTR _glfwWin[rip+132]
	jmp	.L838
.L855:
	mov	eax, DWORD PTR _glfwWin[rip+136]
	jmp	.L838
.L854:
	mov	eax, DWORD PTR _glfwWin[rip+140]
	jmp	.L838
.L853:
	mov	eax, DWORD PTR _glfwWin[rip+144]
	jmp	.L838
.L852:
	mov	eax, DWORD PTR _glfwWin[rip+148]
	jmp	.L838
.L851:
	mov	eax, DWORD PTR _glfwWin[rip+152]
	jmp	.L838
.L850:
	mov	eax, DWORD PTR _glfwWin[rip+156]
	jmp	.L838
.L856:
	mov	eax, DWORD PTR _glfwWin[rip+84]
	jmp	.L838
.L849:
	mov	eax, DWORD PTR _glfwWin[rip+80]
	jmp	.L838
.L848:
	mov	eax, DWORD PTR _glfwWin[rip+160]
	jmp	.L838
.L847:
	mov	eax, DWORD PTR _glfwWin[rip+172]
	jmp	.L838
.L846:
	mov	eax, DWORD PTR _glfwWin[rip+176]
	jmp	.L838
.L845:
	mov	eax, DWORD PTR _glfwWin[rip+184]
	jmp	.L838
.L844:
	mov	eax, DWORD PTR _glfwWin[rip+188]
	jmp	.L838
.L842:
	mov	eax, DWORD PTR _glfwWin[rip+192]
	jmp	.L838
.L841:
	mov	eax, 0
.L838:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE130:
	.size	glfwGetWindowParam, .-glfwGetWindowParam
	.globl	glfwGetWindowSize
	.type	glfwGetWindowSize, @function
glfwGetWindowSize:
.LFB131:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	eax, DWORD PTR _glfwWin[rip+88]
	test	eax, eax
	je	.L870
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L870
	cmp	QWORD PTR -8[rbp], 0
	je	.L869
	mov	edx, DWORD PTR _glfwWin[rip+100]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], edx
.L869:
	cmp	QWORD PTR -16[rbp], 0
	je	.L870
	mov	edx, DWORD PTR _glfwWin[rip+104]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], edx
.L870:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE131:
	.size	glfwGetWindowSize, .-glfwGetWindowSize
	.globl	glfwIconifyWindow
	.type	glfwIconifyWindow, @function
glfwIconifyWindow:
.LFB132:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR _glfwWin[rip+88]
	test	eax, eax
	je	.L873
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L873
	mov	eax, DWORD PTR _glfwWin[rip+96]
	test	eax, eax
	jne	.L873
	call	_glfwPlatformIconifyWindow
.L873:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE132:
	.size	glfwIconifyWindow, .-glfwIconifyWindow
	.globl	glfwInit
	.type	glfwInit, @function
glfwInit:
.LFB133:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L875
	mov	eax, 1
	jmp	.L876
.L875:
	mov	edx, 152
	mov	esi, 0
	lea	rdi, _glfwLibrary[rip]
	call	memset@PLT
	mov	edx, 432
	mov	esi, 0
	lea	rdi, _glfwWin[rip]
	call	memset@PLT
	mov	DWORD PTR _glfwWin[rip+88], 0
	mov	DWORD PTR _glfwWin[rip+76], 0
	call	_glfwClearWindowHints
	call	_glfwPlatformInit
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jne	.L877
	mov	eax, 0
	jmp	.L876
.L877:
	mov	DWORD PTR _glfwInitialized[rip], 1
	mov	eax, 1
.L876:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE133:
	.size	glfwInit, .-glfwInit
	.globl	glfwLoadMemoryTexture2D
	.type	glfwLoadMemoryTexture2D, @function
glfwLoadMemoryTexture2D:
.LFB134:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	DWORD PTR -68[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR _glfwWin[rip+88]
	test	eax, eax
	je	.L879
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	jne	.L880
.L879:
	mov	eax, 0
	jmp	.L885
.L880:
	mov	eax, DWORD PTR _glfwWin[rip+168]
	test	eax, eax
	jne	.L882
	and	DWORD PTR -68[rbp], -2
.L882:
	mov	ecx, DWORD PTR -68[rbp]
	lea	rdx, -32[rbp]
	mov	rsi, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	glfwReadMemoryImage
	mov	DWORD PTR -40[rbp], eax
	cmp	DWORD PTR -40[rbp], 0
	jne	.L883
	mov	eax, 0
	jmp	.L885
.L883:
	mov	edx, DWORD PTR -68[rbp]
	lea	rax, -32[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	glfwLoadTextureImage2D
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -36[rbp], 0
	jne	.L884
	mov	eax, 0
	jmp	.L885
.L884:
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	glfwFreeImage
	mov	eax, 1
.L885:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L886
	call	__stack_chk_fail@PLT
.L886:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE134:
	.size	glfwLoadMemoryTexture2D, .-glfwLoadMemoryTexture2D
	.globl	glfwLoadTexture2D
	.type	glfwLoadTexture2D, @function
glfwLoadTexture2D:
.LFB135:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR _glfwWin[rip+88]
	test	eax, eax
	je	.L888
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	jne	.L889
.L888:
	mov	eax, 0
	jmp	.L894
.L889:
	mov	eax, DWORD PTR _glfwWin[rip+168]
	test	eax, eax
	jne	.L891
	and	DWORD PTR -60[rbp], -2
.L891:
	mov	edx, DWORD PTR -60[rbp]
	lea	rcx, -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	glfwReadImage
	mov	DWORD PTR -40[rbp], eax
	cmp	DWORD PTR -40[rbp], 0
	jne	.L892
	mov	eax, 0
	jmp	.L894
.L892:
	mov	edx, DWORD PTR -60[rbp]
	lea	rax, -32[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	glfwLoadTextureImage2D
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -36[rbp], 0
	jne	.L893
	mov	eax, 0
	jmp	.L894
.L893:
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	glfwFreeImage
	mov	eax, 1
.L894:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L895
	call	__stack_chk_fail@PLT
.L895:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE135:
	.size	glfwLoadTexture2D, .-glfwLoadTexture2D
	.globl	glfwLoadTextureImage2D
	.type	glfwLoadTextureImage2D, @function
glfwLoadTextureImage2D:
.LFB136:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	QWORD PTR -104[rbp], rdi
	mov	DWORD PTR -108[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR _glfwWin[rip+88]
	test	eax, eax
	je	.L897
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	jne	.L898
.L897:
	mov	eax, 0
	jmp	.L914
.L898:
	mov	eax, DWORD PTR _glfwWin[rip+172]
	cmp	eax, 1
	jne	.L900
	mov	eax, DWORD PTR _glfwWin[rip+176]
	test	eax, eax
	jne	.L900
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 6406
	jne	.L900
	mov	rax, QWORD PTR -104[rbp]
	mov	DWORD PTR 12[rax], 4
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 4[rax]
	imul	edx, eax
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 12[rax]
	imul	eax, edx
	mov	DWORD PTR -76[rbp], eax
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -48[rbp], rax
	cmp	QWORD PTR -48[rbp], 0
	jne	.L901
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	free@PLT
	mov	eax, 0
	jmp	.L914
.L901:
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -64[rbp], rax
	mov	DWORD PTR -80[rbp], 0
	jmp	.L902
.L903:
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR -40[rbp], rax
	add	QWORD PTR -64[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], -1
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR -32[rbp], rax
	add	QWORD PTR -64[rbp], 1
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR [rax], -1
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR -24[rbp], rax
	add	QWORD PTR -64[rbp], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR [rax], -1
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR -16[rbp], rax
	add	QWORD PTR -64[rbp], 1
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -80[rbp], 1
.L902:
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR [rax]
	imul	eax, edx
	cmp	DWORD PTR -80[rbp], eax
	jl	.L903
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 16[rax], rdx
.L900:
	lea	rax, -96[rbp]
	mov	rsi, rax
	mov	edi, 3317
	call	glGetIntegerv@PLT
	mov	esi, 1
	mov	edi, 3317
	call	glPixelStorei@PLT
	mov	eax, DWORD PTR -108[rbp]
	and	eax, 4
	test	eax, eax
	je	.L904
	mov	eax, DWORD PTR _glfwWin[rip+164]
	test	eax, eax
	je	.L904
	mov	eax, 1
	jmp	.L905
.L904:
	mov	eax, 0
.L905:
	mov	DWORD PTR -72[rbp], eax
	cmp	DWORD PTR -72[rbp], 0
	je	.L906
	lea	rax, -92[rbp]
	mov	rdx, rax
	mov	esi, 33169
	mov	edi, 3553
	call	glGetTexParameteriv@PLT
	mov	edx, 1
	mov	esi, 33169
	mov	edi, 3553
	call	glTexParameteri@PLT
.L906:
	mov	eax, DWORD PTR _glfwWin[rip+172]
	cmp	eax, 1
	jne	.L907
	mov	eax, DWORD PTR _glfwWin[rip+176]
	test	eax, eax
	jne	.L907
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 12[rax]
	mov	DWORD PTR -84[rbp], eax
	jmp	.L908
.L907:
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -84[rbp], eax
.L908:
	mov	DWORD PTR -88[rbp], 0
.L912:
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, QWORD PTR 16[rax]
	mov	esi, DWORD PTR -84[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	r8d, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR -84[rbp]
	mov	eax, DWORD PTR -88[rbp]
	sub	rsp, 8
	push	rdi
	push	5121
	push	rsi
	mov	r9d, 0
	mov	esi, eax
	mov	edi, 3553
	call	glTexImage2D@PLT
	add	rsp, 32
	cmp	DWORD PTR -72[rbp], 0
	jne	.L909
	mov	eax, DWORD PTR -108[rbp]
	and	eax, 4
	test	eax, eax
	je	.L909
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -104[rbp]
	lea	rdi, 4[rax]
	mov	rsi, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	ecx, edx
	mov	rdx, rdi
	mov	rdi, rax
	call	HalveImage
	mov	DWORD PTR -68[rbp], eax
	cmp	DWORD PTR -68[rbp], 0
	je	.L910
	mov	eax, DWORD PTR -88[rbp]
	add	eax, 1
	jmp	.L911
.L910:
	mov	eax, 0
.L911:
	mov	DWORD PTR -88[rbp], eax
.L909:
	cmp	DWORD PTR -88[rbp], 0
	jne	.L912
	cmp	DWORD PTR -72[rbp], 0
	je	.L913
	mov	eax, DWORD PTR -92[rbp]
	mov	edx, eax
	mov	esi, 33169
	mov	edi, 3553
	call	glTexParameteri@PLT
.L913:
	mov	eax, DWORD PTR -96[rbp]
	mov	esi, eax
	mov	edi, 3317
	call	glPixelStorei@PLT
	mov	eax, 1
.L914:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L915
	call	__stack_chk_fail@PLT
.L915:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE136:
	.size	glfwLoadTextureImage2D, .-glfwLoadTextureImage2D
	.globl	glfwLockMutex
	.type	glfwLockMutex, @function
glfwLockMutex:
.LFB137:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	cmp	QWORD PTR -8[rbp], 0
	jne	.L917
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L919
.L917:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	_glfwPlatformLockMutex
.L919:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE137:
	.size	glfwLockMutex, .-glfwLockMutex
	.section	.rodata
	.align 8
.LC29:
	.string	"GL_ARB_texture_non_power_of_two"
.LC30:
	.string	"GL_SGIS_generate_mipmap"
.LC31:
	.string	"glGetStringi"
	.text
	.globl	glfwOpenWindow
	.type	glfwOpenWindow, @function
glfwOpenWindow:
.LFB138:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 176
	mov	DWORD PTR -148[rbp], edi
	mov	DWORD PTR -152[rbp], esi
	mov	DWORD PTR -156[rbp], edx
	mov	DWORD PTR -160[rbp], ecx
	mov	DWORD PTR -164[rbp], r8d
	mov	DWORD PTR -168[rbp], r9d
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L921
	mov	eax, DWORD PTR _glfwWin[rip+88]
	test	eax, eax
	je	.L922
.L921:
	mov	eax, 0
	jmp	.L946
.L922:
	mov	eax, DWORD PTR -156[rbp]
	mov	esi, 0
	mov	edi, eax
	call	Max
	mov	DWORD PTR -80[rbp], eax
	mov	eax, DWORD PTR -160[rbp]
	mov	esi, 0
	mov	edi, eax
	call	Max
	mov	DWORD PTR -76[rbp], eax
	mov	eax, DWORD PTR -164[rbp]
	mov	esi, 0
	mov	edi, eax
	call	Max
	mov	DWORD PTR -72[rbp], eax
	mov	eax, DWORD PTR -168[rbp]
	mov	esi, 0
	mov	edi, eax
	call	Max
	mov	DWORD PTR -68[rbp], eax
	mov	esi, 0
	mov	edi, DWORD PTR 16[rbp]
	call	Max
	mov	DWORD PTR -64[rbp], eax
	mov	eax, DWORD PTR 24[rbp]
	mov	esi, 0
	mov	edi, eax
	call	Max
	mov	DWORD PTR -60[rbp], eax
	mov	eax, DWORD PTR _glfwLibrary[rip+4]
	mov	esi, 0
	mov	edi, eax
	call	Max
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR _glfwLibrary[rip+8]
	mov	esi, 0
	mov	edi, eax
	call	Max
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR _glfwLibrary[rip+12]
	mov	esi, 0
	mov	edi, eax
	call	Max
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR _glfwLibrary[rip+16]
	mov	esi, 0
	mov	edi, eax
	call	Max
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR _glfwLibrary[rip+20]
	mov	esi, 0
	mov	edi, eax
	call	Max
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR _glfwLibrary[rip+24]
	test	eax, eax
	setne	al
	movzx	eax, al
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR _glfwLibrary[rip+32]
	mov	esi, 0
	mov	edi, eax
	call	Max
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR 32[rbp]
	mov	DWORD PTR -112[rbp], eax
	mov	eax, DWORD PTR _glfwLibrary[rip]
	mov	esi, 0
	mov	edi, eax
	call	Max
	mov	DWORD PTR -108[rbp], eax
	mov	eax, DWORD PTR _glfwLibrary[rip+28]
	test	eax, eax
	setne	al
	movzx	eax, al
	mov	DWORD PTR -104[rbp], eax
	mov	eax, DWORD PTR _glfwLibrary[rip+36]
	mov	esi, 1
	mov	edi, eax
	call	Max
	mov	DWORD PTR -100[rbp], eax
	mov	eax, DWORD PTR _glfwLibrary[rip+40]
	mov	esi, 0
	mov	edi, eax
	call	Max
	mov	DWORD PTR -96[rbp], eax
	mov	eax, DWORD PTR _glfwLibrary[rip+44]
	test	eax, eax
	setne	al
	movzx	eax, al
	mov	DWORD PTR -92[rbp], eax
	mov	eax, DWORD PTR _glfwLibrary[rip+48]
	test	eax, eax
	setne	al
	movzx	eax, al
	mov	DWORD PTR -88[rbp], eax
	mov	eax, DWORD PTR _glfwLibrary[rip+52]
	mov	DWORD PTR -84[rbp], eax
	mov	eax, DWORD PTR -100[rbp]
	cmp	eax, 1
	jne	.L924
	mov	eax, DWORD PTR -96[rbp]
	cmp	eax, 5
	jle	.L924
	mov	eax, 0
	jmp	.L946
.L924:
	mov	eax, DWORD PTR -100[rbp]
	cmp	eax, 2
	jne	.L925
	mov	eax, DWORD PTR -96[rbp]
	cmp	eax, 1
	jle	.L925
	mov	eax, 0
	jmp	.L946
.L925:
	mov	eax, DWORD PTR -100[rbp]
	cmp	eax, 3
	jne	.L926
	mov	eax, DWORD PTR -96[rbp]
	cmp	eax, 3
	jle	.L926
	mov	eax, 0
	jmp	.L946
.L926:
	mov	eax, DWORD PTR -84[rbp]
	test	eax, eax
	je	.L927
	mov	eax, DWORD PTR -100[rbp]
	cmp	eax, 3
	jne	.L928
	mov	eax, DWORD PTR -96[rbp]
	cmp	eax, 1
	jle	.L929
.L928:
	mov	eax, DWORD PTR -100[rbp]
	cmp	eax, 2
	jg	.L927
.L929:
	mov	eax, 0
	jmp	.L946
.L927:
	mov	eax, DWORD PTR -92[rbp]
	test	eax, eax
	je	.L930
	mov	eax, DWORD PTR -100[rbp]
	cmp	eax, 2
	jg	.L930
	mov	eax, 0
	jmp	.L946
.L930:
	call	_glfwClearWindowHints
	cmp	DWORD PTR 32[rbp], 65537
	je	.L931
	cmp	DWORD PTR 32[rbp], 65538
	je	.L931
	mov	eax, 0
	jmp	.L946
.L931:
	mov	DWORD PTR _glfwWin[rip+92], 1
	mov	DWORD PTR _glfwWin[rip+96], 0
	mov	DWORD PTR _glfwWin[rip+68], 0
	mov	DWORD PTR _glfwWin[rip+72], 1
	call	_glfwClearInput
	mov	QWORD PTR _glfwWin[rip], 0
	mov	QWORD PTR _glfwWin[rip+8], 0
	mov	QWORD PTR _glfwWin[rip+16], 0
	mov	QWORD PTR _glfwWin[rip+48], 0
	mov	QWORD PTR _glfwWin[rip+56], 0
	mov	QWORD PTR _glfwWin[rip+32], 0
	mov	QWORD PTR _glfwWin[rip+24], 0
	mov	QWORD PTR _glfwWin[rip+40], 0
	cmp	DWORD PTR -148[rbp], 0
	jle	.L932
	cmp	DWORD PTR -152[rbp], 0
	jg	.L932
	mov	edx, DWORD PTR -148[rbp]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	lea	edx, 3[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 2
	mov	DWORD PTR -152[rbp], eax
	jmp	.L933
.L932:
	cmp	DWORD PTR -152[rbp], 0
	jle	.L934
	cmp	DWORD PTR -148[rbp], 0
	jg	.L934
	mov	eax, DWORD PTR -152[rbp]
	sal	eax, 2
	movsx	rdx, eax
	imul	rdx, rdx, 1431655766
	shr	rdx, 32
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR -148[rbp], eax
	jmp	.L933
.L934:
	cmp	DWORD PTR -152[rbp], 0
	jg	.L933
	cmp	DWORD PTR -148[rbp], 0
	jg	.L933
	mov	DWORD PTR -148[rbp], 640
	mov	DWORD PTR -152[rbp], 480
.L933:
	mov	eax, DWORD PTR -148[rbp]
	mov	DWORD PTR _glfwWin[rip+100], eax
	mov	eax, DWORD PTR -152[rbp]
	mov	DWORD PTR _glfwWin[rip+104], eax
	cmp	DWORD PTR 32[rbp], 65538
	sete	al
	movzx	eax, al
	mov	DWORD PTR _glfwWin[rip+64], eax
	lea	rcx, -80[rbp]
	lea	rdx, -112[rbp]
	mov	esi, DWORD PTR -152[rbp]
	mov	eax, DWORD PTR -148[rbp]
	mov	edi, eax
	call	_glfwPlatformOpenWindow
	mov	DWORD PTR -132[rbp], eax
	cmp	DWORD PTR -132[rbp], 0
	jne	.L935
	call	glfwCloseWindow
	mov	eax, 0
	jmp	.L946
.L935:
	mov	DWORD PTR _glfwWin[rip+88], 1
	call	_glfwPlatformRefreshWindowParams
	call	_glfwRefreshContextParams
	mov	edx, DWORD PTR _glfwWin[rip+172]
	mov	eax, DWORD PTR -100[rbp]
	cmp	edx, eax
	jne	.L936
	mov	edx, DWORD PTR _glfwWin[rip+176]
	mov	eax, DWORD PTR -96[rbp]
	cmp	edx, eax
	jl	.L937
.L936:
	mov	edx, DWORD PTR _glfwWin[rip+172]
	mov	eax, DWORD PTR -100[rbp]
	cmp	edx, eax
	jge	.L938
.L937:
	call	glfwCloseWindow
	mov	eax, 0
	jmp	.L946
.L938:
	mov	eax, DWORD PTR _glfwWin[rip+172]
	cmp	eax, 1
	jle	.L939
	mov	BYTE PTR -134[rbp], 1
	jmp	.L940
.L939:
	lea	rdi, .LC29[rip]
	call	glfwExtensionSupported
	mov	DWORD PTR -128[rbp], eax
	cmp	DWORD PTR -128[rbp], 0
	setne	al
	mov	BYTE PTR -134[rbp], al
.L940:
	movzx	eax, BYTE PTR -134[rbp]
	mov	DWORD PTR _glfwWin[rip+168], eax
	mov	eax, DWORD PTR _glfwWin[rip+172]
	cmp	eax, 1
	jg	.L941
	mov	eax, DWORD PTR _glfwWin[rip+176]
	cmp	eax, 3
	jle	.L942
.L941:
	mov	BYTE PTR -133[rbp], 1
	jmp	.L943
.L942:
	lea	rdi, .LC30[rip]
	call	glfwExtensionSupported
	mov	DWORD PTR -124[rbp], eax
	cmp	DWORD PTR -124[rbp], 0
	setne	al
	mov	BYTE PTR -133[rbp], al
.L943:
	movzx	eax, BYTE PTR -133[rbp]
	mov	DWORD PTR _glfwWin[rip+164], eax
	mov	eax, DWORD PTR _glfwWin[rip+172]
	cmp	eax, 2
	jle	.L944
	lea	rdi, .LC31[rip]
	call	glfwGetProcAddress
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	QWORD PTR _glfwWin[rip+200], rax
	mov	rax, QWORD PTR _glfwWin[rip+200]
	test	rax, rax
	jne	.L944
	call	glfwCloseWindow
	mov	eax, 0
	jmp	.L946
.L944:
	cmp	DWORD PTR 32[rbp], 65538
	jne	.L945
	mov	edi, 196609
	call	glfwDisable
.L945:
	mov	edi, 16384
	call	glClear@PLT
	call	_glfwPlatformSwapBuffers
	mov	eax, 1
.L946:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L947
	call	__stack_chk_fail@PLT
.L947:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE138:
	.size	glfwOpenWindow, .-glfwOpenWindow
	.globl	glfwOpenWindowHint
	.type	glfwOpenWindowHint, @function
glfwOpenWindowHint:
.LFB139:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L965
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, 131083
	cmp	eax, 13
	ja	.L965
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L951[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L951[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L951:
	.long	.L964-.L951
	.long	.L963-.L951
	.long	.L962-.L951
	.long	.L961-.L951
	.long	.L960-.L951
	.long	.L959-.L951
	.long	.L958-.L951
	.long	.L957-.L951
	.long	.L956-.L951
	.long	.L955-.L951
	.long	.L954-.L951
	.long	.L953-.L951
	.long	.L952-.L951
	.long	.L950-.L951
	.text
.L964:
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR _glfwLibrary[rip], eax
	jmp	.L949
.L963:
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR _glfwLibrary[rip+4], eax
	jmp	.L949
.L962:
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR _glfwLibrary[rip+8], eax
	jmp	.L949
.L961:
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR _glfwLibrary[rip+12], eax
	jmp	.L949
.L960:
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR _glfwLibrary[rip+16], eax
	jmp	.L949
.L959:
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR _glfwLibrary[rip+20], eax
	jmp	.L949
.L958:
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR _glfwLibrary[rip+24], eax
	jmp	.L949
.L957:
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR _glfwLibrary[rip+28], eax
	jmp	.L949
.L956:
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR _glfwLibrary[rip+32], eax
	jmp	.L949
.L955:
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR _glfwLibrary[rip+36], eax
	jmp	.L949
.L954:
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR _glfwLibrary[rip+40], eax
	jmp	.L949
.L953:
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR _glfwLibrary[rip+44], eax
	jmp	.L949
.L952:
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR _glfwLibrary[rip+48], eax
	jmp	.L949
.L950:
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR _glfwLibrary[rip+52], eax
	jmp	.L965
.L949:
.L965:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE139:
	.size	glfwOpenWindowHint, .-glfwOpenWindowHint
	.globl	glfwPollEvents
	.type	glfwPollEvents, @function
glfwPollEvents:
.LFB140:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR _glfwWin[rip+88]
	test	eax, eax
	je	.L968
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L968
	call	_glfwPlatformPollEvents
.L968:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE140:
	.size	glfwPollEvents, .-glfwPollEvents
	.section	.rodata
.LC32:
	.string	"rb"
	.text
	.globl	glfwReadImage
	.type	glfwReadImage, @function
glfwReadImage:
.LFB141:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	DWORD PTR -84[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	jne	.L970
	mov	eax, 0
	jmp	.L982
.L970:
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR 4[rax], 0
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR 12[rax], 0
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	rcx, QWORD PTR -72[rbp]
	lea	rax, -48[rbp]
	lea	rdx, .LC32[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	_glfwOpenFileStream
	mov	DWORD PTR -60[rbp], eax
	cmp	DWORD PTR -60[rbp], 0
	jne	.L972
	mov	eax, 0
	jmp	.L982
.L972:
	mov	edx, DWORD PTR -84[rbp]
	mov	rcx, QWORD PTR -80[rbp]
	lea	rax, -48[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	_glfwReadTGA
	mov	DWORD PTR -56[rbp], eax
	cmp	DWORD PTR -56[rbp], 0
	jne	.L973
	lea	rax, -48[rbp]
	mov	rdi, rax
	call	_glfwCloseStream
	mov	eax, 0
	jmp	.L982
.L973:
	lea	rax, -48[rbp]
	mov	rdi, rax
	call	_glfwCloseStream
	mov	eax, DWORD PTR -84[rbp]
	and	eax, 1
	test	eax, eax
	jne	.L974
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	RescaleImage
	mov	DWORD PTR -52[rbp], eax
	cmp	DWORD PTR -52[rbp], 0
	jne	.L974
	mov	eax, 0
	jmp	.L982
.L974:
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 1
	je	.L975
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 3
	je	.L986
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 4
	je	.L987
.L975:
	mov	eax, DWORD PTR -84[rbp]
	and	eax, 8
	test	eax, eax
	je	.L979
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR 8[rax], 6406
	jmp	.L981
.L979:
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR 8[rax], 6409
	jmp	.L981
.L986:
	nop
.L977:
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR 8[rax], 6407
	jmp	.L981
.L987:
	nop
.L978:
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR 8[rax], 6408
.L981:
	mov	eax, 1
.L982:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L983
	call	__stack_chk_fail@PLT
.L983:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE141:
	.size	glfwReadImage, .-glfwReadImage
	.globl	glfwReadMemoryImage
	.type	glfwReadMemoryImage, @function
glfwReadMemoryImage:
.LFB142:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	QWORD PTR -88[rbp], rdx
	mov	DWORD PTR -92[rbp], ecx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	jne	.L989
	mov	eax, 0
	jmp	.L1001
.L989:
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 4[rax], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 12[rax], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	rdx, QWORD PTR -80[rbp]
	mov	rcx, QWORD PTR -72[rbp]
	lea	rax, -48[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	_glfwOpenBufferStream
	mov	DWORD PTR -60[rbp], eax
	cmp	DWORD PTR -60[rbp], 0
	jne	.L991
	mov	eax, 0
	jmp	.L1001
.L991:
	mov	edx, DWORD PTR -92[rbp]
	mov	rcx, QWORD PTR -88[rbp]
	lea	rax, -48[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	_glfwReadTGA
	mov	DWORD PTR -56[rbp], eax
	cmp	DWORD PTR -56[rbp], 0
	jne	.L992
	lea	rax, -48[rbp]
	mov	rdi, rax
	call	_glfwCloseStream
	mov	eax, 0
	jmp	.L1001
.L992:
	lea	rax, -48[rbp]
	mov	rdi, rax
	call	_glfwCloseStream
	mov	eax, DWORD PTR -92[rbp]
	and	eax, 1
	test	eax, eax
	jne	.L993
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	call	RescaleImage
	mov	DWORD PTR -52[rbp], eax
	cmp	DWORD PTR -52[rbp], 0
	jne	.L993
	mov	eax, 0
	jmp	.L1001
.L993:
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 1
	je	.L994
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 3
	je	.L1005
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 4
	je	.L1006
.L994:
	mov	eax, DWORD PTR -92[rbp]
	and	eax, 8
	test	eax, eax
	je	.L998
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 8[rax], 6406
	jmp	.L1000
.L998:
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 8[rax], 6409
	jmp	.L1000
.L1005:
	nop
.L996:
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 8[rax], 6407
	jmp	.L1000
.L1006:
	nop
.L997:
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 8[rax], 6408
.L1000:
	mov	eax, 1
.L1001:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L1002
	call	__stack_chk_fail@PLT
.L1002:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE142:
	.size	glfwReadMemoryImage, .-glfwReadMemoryImage
	.globl	glfwRestoreWindow
	.type	glfwRestoreWindow, @function
glfwRestoreWindow:
.LFB143:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR _glfwWin[rip+96]
	test	eax, eax
	je	.L1009
	mov	eax, DWORD PTR _glfwWin[rip+88]
	test	eax, eax
	je	.L1009
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L1009
	call	_glfwPlatformRestoreWindow
	call	_glfwPlatformRefreshWindowParams
.L1009:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE143:
	.size	glfwRestoreWindow, .-glfwRestoreWindow
	.globl	glfwSetCharCallback
	.type	glfwSetCharCallback, @function
glfwSetCharCallback:
.LFB144:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	eax, DWORD PTR _glfwWin[rip+88]
	test	eax, eax
	je	.L1012
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L1012
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR _glfwWin[rip+56], rax
.L1012:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE144:
	.size	glfwSetCharCallback, .-glfwSetCharCallback
	.globl	glfwSetKeyCallback
	.type	glfwSetKeyCallback, @function
glfwSetKeyCallback:
.LFB145:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	eax, DWORD PTR _glfwWin[rip+88]
	test	eax, eax
	je	.L1015
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L1015
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR _glfwWin[rip+48], rax
.L1015:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE145:
	.size	glfwSetKeyCallback, .-glfwSetKeyCallback
	.globl	glfwSetMouseButtonCallback
	.type	glfwSetMouseButtonCallback, @function
glfwSetMouseButtonCallback:
.LFB146:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	eax, DWORD PTR _glfwWin[rip+88]
	test	eax, eax
	je	.L1018
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L1018
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR _glfwWin[rip+24], rax
.L1018:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE146:
	.size	glfwSetMouseButtonCallback, .-glfwSetMouseButtonCallback
	.globl	glfwSetMousePos
	.type	glfwSetMousePos, @function
glfwSetMousePos:
.LFB147:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	eax, DWORD PTR _glfwWin[rip+88]
	test	eax, eax
	je	.L1022
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L1022
	mov	eax, DWORD PTR _glfwInput[rip]
	cmp	DWORD PTR -4[rbp], eax
	jne	.L1021
	mov	eax, DWORD PTR _glfwInput[rip+4]
	cmp	DWORD PTR -8[rbp], eax
	je	.L1022
.L1021:
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR _glfwInput[rip], eax
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR _glfwInput[rip+4], eax
	mov	eax, DWORD PTR _glfwWin[rip+68]
	test	eax, eax
	jne	.L1022
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, edx
	mov	edi, eax
	call	_glfwPlatformSetMouseCursorPos
.L1022:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE147:
	.size	glfwSetMousePos, .-glfwSetMousePos
	.globl	glfwSetMousePosCallback
	.type	glfwSetMousePosCallback, @function
glfwSetMousePosCallback:
.LFB148:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	eax, DWORD PTR _glfwWin[rip+88]
	test	eax, eax
	je	.L1025
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L1025
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR _glfwWin[rip+32], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L1025
	mov	edx, DWORD PTR _glfwInput[rip+4]
	mov	eax, DWORD PTR _glfwInput[rip]
	mov	rcx, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	edi, eax
	call	rcx
.L1025:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE148:
	.size	glfwSetMousePosCallback, .-glfwSetMousePosCallback
	.globl	glfwSetMouseWheel
	.type	glfwSetMouseWheel, @function
glfwSetMouseWheel:
.LFB149:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR _glfwWin[rip+88]
	test	eax, eax
	je	.L1028
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L1028
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR _glfwInput[rip+8], eax
.L1028:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE149:
	.size	glfwSetMouseWheel, .-glfwSetMouseWheel
	.globl	glfwSetMouseWheelCallback
	.type	glfwSetMouseWheelCallback, @function
glfwSetMouseWheelCallback:
.LFB150:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	eax, DWORD PTR _glfwWin[rip+88]
	test	eax, eax
	je	.L1031
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L1031
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR _glfwWin[rip+40], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L1031
	mov	eax, DWORD PTR _glfwInput[rip+8]
	mov	rdx, QWORD PTR -8[rbp]
	mov	edi, eax
	call	rdx
.L1031:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE150:
	.size	glfwSetMouseWheelCallback, .-glfwSetMouseWheelCallback
	.globl	glfwSetTime
	.type	glfwSetTime, @function
glfwSetTime:
.LFB151:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	movsd	QWORD PTR -8[rbp], xmm0
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L1034
	mov	rax, QWORD PTR -8[rbp]
	movq	xmm0, rax
	call	_glfwPlatformSetTime
.L1034:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE151:
	.size	glfwSetTime, .-glfwSetTime
	.globl	glfwSetWindowCloseCallback
	.type	glfwSetWindowCloseCallback, @function
glfwSetWindowCloseCallback:
.LFB152:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	eax, DWORD PTR _glfwWin[rip+88]
	test	eax, eax
	je	.L1037
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L1037
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR _glfwWin[rip+8], rax
.L1037:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE152:
	.size	glfwSetWindowCloseCallback, .-glfwSetWindowCloseCallback
	.globl	glfwSetWindowPos
	.type	glfwSetWindowPos, @function
glfwSetWindowPos:
.LFB153:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	eax, DWORD PTR _glfwWin[rip+88]
	test	eax, eax
	je	.L1040
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L1040
	mov	eax, DWORD PTR _glfwWin[rip+64]
	test	eax, eax
	jne	.L1040
	mov	eax, DWORD PTR _glfwWin[rip+96]
	test	eax, eax
	jne	.L1040
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, edx
	mov	edi, eax
	call	_glfwPlatformSetWindowPos
.L1040:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE153:
	.size	glfwSetWindowPos, .-glfwSetWindowPos
	.globl	glfwSetWindowRefreshCallback
	.type	glfwSetWindowRefreshCallback, @function
glfwSetWindowRefreshCallback:
.LFB154:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	eax, DWORD PTR _glfwWin[rip+88]
	test	eax, eax
	je	.L1043
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L1043
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR _glfwWin[rip+16], rax
.L1043:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE154:
	.size	glfwSetWindowRefreshCallback, .-glfwSetWindowRefreshCallback
	.globl	glfwSetWindowSize
	.type	glfwSetWindowSize, @function
glfwSetWindowSize:
.LFB155:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	eax, DWORD PTR _glfwWin[rip+88]
	test	eax, eax
	je	.L1047
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L1047
	mov	eax, DWORD PTR _glfwWin[rip+96]
	test	eax, eax
	jne	.L1047
	mov	eax, DWORD PTR _glfwWin[rip+104]
	cmp	DWORD PTR -8[rbp], eax
	jne	.L1046
	mov	eax, DWORD PTR _glfwWin[rip+100]
	cmp	DWORD PTR -4[rbp], eax
	je	.L1047
.L1046:
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, edx
	mov	edi, eax
	call	_glfwPlatformSetWindowSize
	call	_glfwPlatformRefreshWindowParams
.L1047:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE155:
	.size	glfwSetWindowSize, .-glfwSetWindowSize
	.globl	glfwSetWindowSizeCallback
	.type	glfwSetWindowSizeCallback, @function
glfwSetWindowSizeCallback:
.LFB156:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	eax, DWORD PTR _glfwWin[rip+88]
	test	eax, eax
	je	.L1050
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L1050
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR _glfwWin[rip], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L1050
	mov	edx, DWORD PTR _glfwWin[rip+104]
	mov	eax, DWORD PTR _glfwWin[rip+100]
	mov	rcx, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	edi, eax
	call	rcx
.L1050:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE156:
	.size	glfwSetWindowSizeCallback, .-glfwSetWindowSizeCallback
	.globl	glfwSetWindowTitle
	.type	glfwSetWindowTitle, @function
glfwSetWindowTitle:
.LFB157:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	eax, DWORD PTR _glfwWin[rip+88]
	test	eax, eax
	je	.L1053
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L1053
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	_glfwPlatformSetWindowTitle
.L1053:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE157:
	.size	glfwSetWindowTitle, .-glfwSetWindowTitle
	.globl	glfwSignalCond
	.type	glfwSignalCond, @function
glfwSignalCond:
.LFB158:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	cmp	QWORD PTR -8[rbp], 0
	je	.L1056
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L1056
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	_glfwPlatformSignalCond
.L1056:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE158:
	.size	glfwSignalCond, .-glfwSignalCond
	.globl	glfwSleep
	.type	glfwSleep, @function
glfwSleep:
.LFB159:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	movsd	QWORD PTR -8[rbp], xmm0
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L1059
	mov	rax, QWORD PTR -8[rbp]
	movq	xmm0, rax
	call	_glfwPlatformSleep
.L1059:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE159:
	.size	glfwSleep, .-glfwSleep
	.globl	glfwSwapBuffers
	.type	glfwSwapBuffers, @function
glfwSwapBuffers:
.LFB160:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR _glfwWin[rip+88]
	test	eax, eax
	je	.L1062
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L1062
	call	_glfwPlatformSwapBuffers
	mov	eax, DWORD PTR _glfwWin[rip+72]
	test	eax, eax
	je	.L1062
	call	glfwPollEvents
.L1062:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE160:
	.size	glfwSwapBuffers, .-glfwSwapBuffers
	.globl	glfwSwapInterval
	.type	glfwSwapInterval, @function
glfwSwapInterval:
.LFB161:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR _glfwWin[rip+88]
	test	eax, eax
	je	.L1065
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L1065
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	_glfwPlatformSwapInterval
.L1065:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE161:
	.size	glfwSwapInterval, .-glfwSwapInterval
	.globl	glfwTerminate
	.type	glfwTerminate, @function
glfwTerminate:
.LFB162:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L1068
	call	_glfwPlatformTerminate
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	je	.L1068
	mov	DWORD PTR _glfwInitialized[rip], 0
.L1068:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE162:
	.size	glfwTerminate, .-glfwTerminate
	.globl	glfwUnlockMutex
	.type	glfwUnlockMutex, @function
glfwUnlockMutex:
.LFB163:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1070
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L1072
.L1070:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	_glfwPlatformUnlockMutex
.L1072:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE163:
	.size	glfwUnlockMutex, .-glfwUnlockMutex
	.globl	glfwWaitCond
	.type	glfwWaitCond, @function
glfwWaitCond:
.LFB164:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	movsd	QWORD PTR -24[rbp], xmm0
	cmp	QWORD PTR -8[rbp], 0
	je	.L1075
	cmp	QWORD PTR -16[rbp], 0
	je	.L1075
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L1075
	mov	rcx, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	movq	xmm0, rcx
	mov	rsi, rdx
	mov	rdi, rax
	call	_glfwPlatformWaitCond
.L1075:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE164:
	.size	glfwWaitCond, .-glfwWaitCond
	.globl	glfwWaitEvents
	.type	glfwWaitEvents, @function
glfwWaitEvents:
.LFB165:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR _glfwWin[rip+88]
	test	eax, eax
	je	.L1078
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	je	.L1078
	call	_glfwPlatformWaitEvents
.L1078:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE165:
	.size	glfwWaitEvents, .-glfwWaitEvents
	.globl	glfwWaitThread
	.type	glfwWaitThread, @function
glfwWaitThread:
.LFB166:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	eax, DWORD PTR _glfwInitialized[rip]
	test	eax, eax
	jne	.L1080
	mov	eax, 1
	jmp	.L1081
.L1080:
	cmp	DWORD PTR -20[rbp], 0
	jg	.L1082
	mov	eax, 1
	jmp	.L1081
.L1082:
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, edx
	mov	edi, eax
	call	_glfwPlatformWaitThread
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
.L1081:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE166:
	.size	glfwWaitThread, .-glfwWaitThread
	.type	glfw_atexit, @function
glfw_atexit:
.LFB167:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	call	glfwTerminate
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE167:
	.size	glfw_atexit, .-glfw_atexit
	.section	.rodata
.LC33:
	.string	"Failed to open X display\n"
.LC34:
	.string	"GLX not supported\n"
.LC35:
	.string	"Unable to query GLX version\n"
	.text
	.type	initDisplay, @function
initDisplay:
.LFB168:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	edi, 0
	call	XOpenDisplay@PLT
	mov	QWORD PTR _glfwLibrary[rip+80], rax
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	test	rax, rax
	jne	.L1085
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 25
	mov	esi, 1
	lea	rdi, .LC33[rip]
	call	fwrite@PLT
	mov	eax, 0
	jmp	.L1086
.L1085:
	mov	DWORD PTR _glfwLibrary[rip+104], 0
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	lea	rdx, _glfwLibrary[rip+124]
	lea	rsi, _glfwLibrary[rip+120]
	mov	rdi, rax
	call	XRRQueryExtension@PLT
	mov	DWORD PTR _glfwLibrary[rip+116], eax
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	lea	rdx, _glfwLibrary[rip+96]
	lea	rsi, _glfwLibrary[rip+100]
	mov	rdi, rax
	call	glXQueryExtension@PLT
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], 0
	jne	.L1087
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 18
	mov	esi, 1
	lea	rdi, .LC34[rip]
	call	fwrite@PLT
	mov	eax, 0
	jmp	.L1086
.L1087:
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	lea	rdx, _glfwLibrary[rip+92]
	lea	rsi, _glfwLibrary[rip+88]
	mov	rdi, rax
	call	glXQueryVersion@PLT
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jne	.L1088
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 28
	mov	esi, 1
	lea	rdi, .LC35[rip]
	call	fwrite@PLT
	mov	eax, 0
	jmp	.L1086
.L1088:
	mov	eax, 1
.L1086:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE168:
	.size	initDisplay, .-initDisplay
	.section	.rodata
.LC36:
	.string	"GLX_EXT_swap_control"
.LC37:
	.string	"glXSwapIntervalEXT"
.LC38:
	.string	"GLX_MESA_swap_control"
.LC39:
	.string	"glXSwapIntervalMESA"
.LC40:
	.string	"GLX_SGI_swap_control"
.LC41:
	.string	"glXSwapIntervalSGI"
.LC42:
	.string	"GLX_SGIX_fbconfig"
.LC43:
	.string	"glXGetFBConfigAttribSGIX"
.LC44:
	.string	"glXChooseFBConfigSGIX"
	.align 8
.LC45:
	.string	"glXCreateContextWithConfigSGIX"
.LC46:
	.string	"glXGetVisualFromFBConfigSGIX"
.LC47:
	.string	"GLX_ARB_multisample"
.LC48:
	.string	"GLX_ARB_create_context"
.LC49:
	.string	"glXCreateContextAttribsARB"
	.align 8
.LC50:
	.string	"GLX_ARB_create_context_profile"
	.text
	.type	initGLXExtensions, @function
initGLXExtensions:
.LFB169:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR _glfwWin[rip+312], 0
	mov	QWORD PTR _glfwWin[rip+320], 0
	mov	QWORD PTR _glfwWin[rip+328], 0
	mov	QWORD PTR _glfwWin[rip+336], 0
	mov	QWORD PTR _glfwWin[rip+344], 0
	mov	QWORD PTR _glfwWin[rip+352], 0
	mov	QWORD PTR _glfwWin[rip+360], 0
	mov	QWORD PTR _glfwWin[rip+368], 0
	mov	BYTE PTR _glfwWin[rip+376], 0
	mov	BYTE PTR _glfwWin[rip+377], 0
	mov	BYTE PTR _glfwWin[rip+378], 0
	mov	BYTE PTR _glfwWin[rip+379], 0
	mov	BYTE PTR _glfwWin[rip+380], 0
	mov	BYTE PTR _glfwWin[rip+381], 0
	mov	BYTE PTR _glfwWin[rip+382], 0
	lea	rdi, .LC36[rip]
	call	_glfwPlatformExtensionSupported
	mov	DWORD PTR -92[rbp], eax
	cmp	DWORD PTR -92[rbp], 0
	je	.L1090
	lea	rdi, .LC37[rip]
	call	_glfwPlatformGetProcAddress
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR _glfwWin[rip+312], rax
	mov	rax, QWORD PTR _glfwWin[rip+312]
	test	rax, rax
	je	.L1090
	mov	BYTE PTR _glfwWin[rip+377], 1
.L1090:
	lea	rdi, .LC38[rip]
	call	_glfwPlatformExtensionSupported
	mov	DWORD PTR -88[rbp], eax
	cmp	DWORD PTR -88[rbp], 0
	je	.L1091
	lea	rdi, .LC39[rip]
	call	_glfwPlatformGetProcAddress
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR _glfwWin[rip+320], rax
	mov	rax, QWORD PTR _glfwWin[rip+320]
	test	rax, rax
	je	.L1091
	mov	BYTE PTR _glfwWin[rip+378], 1
.L1091:
	lea	rdi, .LC40[rip]
	call	_glfwPlatformExtensionSupported
	mov	DWORD PTR -84[rbp], eax
	cmp	DWORD PTR -84[rbp], 0
	je	.L1092
	lea	rdi, .LC41[rip]
	call	_glfwPlatformGetProcAddress
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR _glfwWin[rip+328], rax
	mov	rax, QWORD PTR _glfwWin[rip+328]
	test	rax, rax
	je	.L1092
	mov	BYTE PTR _glfwWin[rip+379], 1
.L1092:
	lea	rdi, .LC42[rip]
	call	_glfwPlatformExtensionSupported
	mov	DWORD PTR -80[rbp], eax
	cmp	DWORD PTR -80[rbp], 0
	je	.L1093
	lea	rdi, .LC43[rip]
	call	_glfwPlatformGetProcAddress
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR _glfwWin[rip+336], rax
	lea	rdi, .LC44[rip]
	call	_glfwPlatformGetProcAddress
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR _glfwWin[rip+344], rax
	lea	rdi, .LC45[rip]
	call	_glfwPlatformGetProcAddress
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR _glfwWin[rip+352], rax
	lea	rdi, .LC46[rip]
	call	_glfwPlatformGetProcAddress
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR _glfwWin[rip+360], rax
	mov	rax, QWORD PTR _glfwWin[rip+344]
	test	rax, rax
	je	.L1093
	mov	rax, QWORD PTR _glfwWin[rip+360]
	test	rax, rax
	je	.L1093
	mov	rax, QWORD PTR _glfwWin[rip+352]
	test	rax, rax
	je	.L1093
	mov	rax, QWORD PTR _glfwWin[rip+336]
	test	rax, rax
	je	.L1093
	mov	BYTE PTR _glfwWin[rip+376], 1
.L1093:
	lea	rdi, .LC47[rip]
	call	_glfwPlatformExtensionSupported
	mov	DWORD PTR -76[rbp], eax
	cmp	DWORD PTR -76[rbp], 0
	je	.L1094
	mov	BYTE PTR _glfwWin[rip+380], 1
.L1094:
	lea	rdi, .LC48[rip]
	call	_glfwPlatformExtensionSupported
	mov	DWORD PTR -72[rbp], eax
	cmp	DWORD PTR -72[rbp], 0
	je	.L1095
	lea	rdi, .LC49[rip]
	call	_glfwPlatformGetProcAddress
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR _glfwWin[rip+368], rax
	mov	rax, QWORD PTR _glfwWin[rip+368]
	test	rax, rax
	je	.L1095
	mov	BYTE PTR _glfwWin[rip+381], 1
.L1095:
	lea	rdi, .LC50[rip]
	call	_glfwPlatformExtensionSupported
	mov	DWORD PTR -68[rbp], eax
	cmp	DWORD PTR -68[rbp], 0
	je	.L1097
	mov	BYTE PTR _glfwWin[rip+382], 1
.L1097:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE169:
	.size	initGLXExtensions, .-initGLXExtensions
	.type	initLibraries, @function
initLibraries:
.LFB170:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE170:
	.size	initLibraries, .-initLibraries
	.type	initThreads, @function
initThreads:
.LFB171:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	esi, 0
	lea	rdi, _glfwThrd[rip+48]
	call	pthread_mutex_init@PLT
	mov	DWORD PTR _glfwThrd[rip], 0
	mov	eax, DWORD PTR _glfwThrd[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR _glfwThrd[rip]
	add	eax, 1
	mov	DWORD PTR _glfwThrd[rip], eax
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR _glfwThrd[rip+24], eax
	mov	QWORD PTR _glfwThrd[rip+32], 0
	mov	QWORD PTR _glfwThrd[rip+8], 0
	mov	QWORD PTR _glfwThrd[rip+16], 0
	call	pthread_self@PLT
	mov	QWORD PTR _glfwThrd[rip+40], rax
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE171:
	.size	initThreads, .-initThreads
	.type	isMapNotify, @function
isMapNotify:
.LFB172:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 19
	jne	.L1101
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -40[rbp]
	cmp	rdx, rax
	sete	al
	mov	BYTE PTR -1[rbp], al
	jmp	.L1102
.L1101:
	mov	BYTE PTR -1[rbp], 0
.L1102:
	movzx	eax, BYTE PTR -1[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE172:
	.size	isMapNotify, .-isMapNotify
	.type	leaveFullscreenMode, @function
leaveFullscreenMode:
.LFB173:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 208
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	call	_glfwRestoreVideoMode
	mov	eax, DWORD PTR _glfwWin[rip+388]
	test	eax, eax
	je	.L1105
	mov	edi, DWORD PTR _glfwWin[rip+404]
	mov	ecx, DWORD PTR _glfwWin[rip+400]
	mov	edx, DWORD PTR _glfwWin[rip+396]
	mov	esi, DWORD PTR _glfwWin[rip+392]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	r8d, edi
	mov	rdi, rax
	call	XSetScreenSaver@PLT
	mov	DWORD PTR _glfwWin[rip+388], 0
.L1105:
	mov	rax, QWORD PTR _glfwWin[rip+280]
	test	rax, rax
	je	.L1106
	mov	rax, QWORD PTR _glfwWin[rip+288]
	test	rax, rax
	je	.L1106
	movzx	eax, BYTE PTR _glfwWin[rip+383]
	test	al, al
	je	.L1106
	lea	rax, -208[rbp]
	mov	edx, 192
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	DWORD PTR -208[rbp], 33
	mov	rax, QWORD PTR _glfwWin[rip+216]
	mov	QWORD PTR -176[rbp], rax
	mov	DWORD PTR -160[rbp], 32
	mov	rax, QWORD PTR _glfwWin[rip+280]
	mov	QWORD PTR -168[rbp], rax
	mov	QWORD PTR -152[rbp], 0
	mov	rax, QWORD PTR _glfwWin[rip+288]
	mov	QWORD PTR -144[rbp], rax
	mov	QWORD PTR -136[rbp], 0
	mov	QWORD PTR -128[rbp], 1
	mov	rsi, QWORD PTR _glfwWin[rip+224]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	lea	rdx, -208[rbp]
	mov	r8, rdx
	mov	ecx, 1572864
	mov	edx, 0
	mov	rdi, rax
	call	XSendEvent@PLT
.L1106:
	mov	eax, DWORD PTR _glfwWin[rip+68]
	test	eax, eax
	je	.L1109
	call	_glfwPlatformShowMouseCursor
.L1109:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1108
	call	__stack_chk_fail@PLT
.L1108:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE173:
	.size	leaveFullscreenMode, .-leaveFullscreenMode
	.section	.rodata
.LC51:
	.string	"Failed to initialize GLFW\n"
.LC52:
	.string	"Failed to open GLFW window\n"
.LC53:
	.string	"Cursor Inaccuracy Detector"
	.text
	.globl	main
	.type	main, @function
main:
.LFB174:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	call	glfwInit
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	jne	.L1111
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 26
	mov	esi, 1
	lea	rdi, .LC51[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L1111:
	mov	esi, DWORD PTR window_height[rip]
	mov	eax, DWORD PTR window_width[rip]
	sub	rsp, 8
	push	65537
	push	0
	push	0
	mov	r9d, 0
	mov	r8d, 0
	mov	ecx, 0
	mov	edx, 0
	mov	edi, eax
	call	glfwOpenWindow
	add	rsp, 32
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], 0
	jne	.L1112
	call	glfwTerminate
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 27
	mov	esi, 1
	lea	rdi, .LC52[rip]
	call	fwrite@PLT
	mov	edi, 1
	call	exit@PLT
.L1112:
	lea	rdi, .LC53[rip]
	call	glfwSetWindowTitle
	lea	rdi, mouse_position_callback[rip]
	call	glfwSetMousePosCallback
	lea	rdi, window_size_callback[rip]
	call	glfwSetWindowSizeCallback
	mov	edi, 1
	call	glfwSwapInterval
	pxor	xmm3, xmm3
	pxor	xmm2, xmm2
	pxor	xmm1, xmm1
	pxor	xmm0, xmm0
	call	glClearColor@PLT
	mov	edi, 5888
	call	glMatrixMode@PLT
	call	glLoadIdentity@PLT
.L1115:
	mov	edi, 131073
	call	glfwGetWindowParam
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	je	.L1117
	mov	edi, 16384
	call	glClear@PLT
	movss	xmm2, DWORD PTR .LC2[rip]
	movss	xmm1, DWORD PTR .LC2[rip]
	movss	xmm0, DWORD PTR .LC2[rip]
	call	glColor3f@PLT
	mov	edi, 1
	call	glBegin@PLT
	mov	eax, DWORD PTR window_height[rip]
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	mov	eax, DWORD PTR cursor_y[rip]
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, eax
	subss	xmm0, xmm1
	movaps	xmm1, xmm0
	pxor	xmm0, xmm0
	call	glVertex2f@PLT
	mov	eax, DWORD PTR window_height[rip]
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	mov	eax, DWORD PTR cursor_y[rip]
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, eax
	subss	xmm0, xmm1
	mov	eax, DWORD PTR window_width[rip]
	pxor	xmm4, xmm4
	cvtsi2ss	xmm4, eax
	movd	eax, xmm4
	movaps	xmm1, xmm0
	movd	xmm0, eax
	call	glVertex2f@PLT
	mov	eax, DWORD PTR cursor_x[rip]
	pxor	xmm5, xmm5
	cvtsi2ss	xmm5, eax
	movd	eax, xmm5
	pxor	xmm1, xmm1
	movd	xmm0, eax
	call	glVertex2f@PLT
	mov	eax, DWORD PTR window_height[rip]
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	mov	eax, DWORD PTR cursor_x[rip]
	pxor	xmm6, xmm6
	cvtsi2ss	xmm6, eax
	movd	eax, xmm6
	movaps	xmm1, xmm0
	movd	xmm0, eax
	call	glVertex2f@PLT
	call	glEnd@PLT
	call	glfwSwapBuffers
	jmp	.L1115
.L1117:
	nop
	call	glfwTerminate
	mov	edi, 0
	call	exit@PLT
	.cfi_endproc
.LFE174:
	.size	main, .-main
	.type	mouse_position_callback, @function
mouse_position_callback:
.LFB175:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR cursor_x[rip], eax
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR cursor_y[rip], eax
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE175:
	.size	mouse_position_callback, .-mouse_position_callback
	.type	pollJoystickEvents, @function
pollJoystickEvents:
.LFB176:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -28[rbp], 0
	jmp	.L1120
.L1129:
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, _glfwJoy[rip]
	mov	eax, DWORD PTR [rdx+rax]
	test	eax, eax
	je	.L1121
.L1128:
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, _glfwJoy[rip+4]
	mov	eax, DWORD PTR [rdx+rax]
	lea	rcx, -16[rbp]
	mov	edx, 8
	mov	rsi, rcx
	mov	edi, eax
	call	read@PLT
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jle	.L1131
	movzx	eax, BYTE PTR -10[rbp]
	and	eax, 127
	mov	BYTE PTR -10[rbp], al
	movzx	eax, BYTE PTR -10[rbp]
	movzx	eax, al
	cmp	eax, 1
	je	.L1123
	cmp	eax, 2
	jne	.L1128
	movzx	eax, WORD PTR -12[rbp]
	cwde
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, _glfwJoy[rip+16]
	mov	rdx, QWORD PTR [rdx+rax]
	movzx	eax, BYTE PTR -9[rbp]
	movzx	eax, al
	sal	rax, 2
	add	rax, rdx
	movss	xmm1, DWORD PTR .LC54[rip]
	divss	xmm0, xmm1
	movss	DWORD PTR [rax], xmm0
	movzx	eax, BYTE PTR -9[rbp]
	and	eax, 1
	test	al, al
	je	.L1132
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, _glfwJoy[rip+16]
	mov	rdx, QWORD PTR [rdx+rax]
	movzx	eax, BYTE PTR -9[rbp]
	movzx	eax, al
	sal	rax, 2
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, _glfwJoy[rip+16]
	mov	rdx, QWORD PTR [rdx+rax]
	movzx	eax, BYTE PTR -9[rbp]
	movzx	eax, al
	sal	rax, 2
	add	rax, rdx
	movss	xmm1, DWORD PTR .LC55[rip]
	xorps	xmm0, xmm1
	movss	DWORD PTR [rax], xmm0
	jmp	.L1132
.L1123:
	movzx	eax, WORD PTR -12[rbp]
	test	ax, ax
	je	.L1126
	mov	ecx, 1
	jmp	.L1127
.L1126:
	mov	ecx, 0
.L1127:
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 5
	mov	rdx, rax
	lea	rax, _glfwJoy[rip+24]
	mov	rdx, QWORD PTR [rdx+rax]
	movzx	eax, BYTE PTR -9[rbp]
	movzx	eax, al
	add	rax, rdx
	mov	BYTE PTR [rax], cl
	jmp	.L1128
.L1132:
	nop
	jmp	.L1128
.L1131:
	nop
.L1121:
	add	DWORD PTR -28[rbp], 1
.L1120:
	cmp	DWORD PTR -28[rbp], 15
	jle	.L1129
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1130
	call	__stack_chk_fail@PLT
.L1130:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE176:
	.size	pollJoystickEvents, .-pollJoystickEvents
	.type	processSingleEvent, @function
processSingleEvent:
.LFB177:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 432
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	lea	rdx, -400[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	XNextEvent@PLT
	mov	eax, DWORD PTR -400[rbp]
	cmp	eax, 33
	ja	.L1134
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L1136[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L1136[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L1136:
	.long	.L1134-.L1136
	.long	.L1134-.L1136
	.long	.L1148-.L1136
	.long	.L1147-.L1136
	.long	.L1146-.L1136
	.long	.L1145-.L1136
	.long	.L1144-.L1136
	.long	.L1134-.L1136
	.long	.L1134-.L1136
	.long	.L1143-.L1136
	.long	.L1142-.L1136
	.long	.L1134-.L1136
	.long	.L1141-.L1136
	.long	.L1134-.L1136
	.long	.L1134-.L1136
	.long	.L1134-.L1136
	.long	.L1134-.L1136
	.long	.L1140-.L1136
	.long	.L1139-.L1136
	.long	.L1138-.L1136
	.long	.L1134-.L1136
	.long	.L1134-.L1136
	.long	.L1137-.L1136
	.long	.L1134-.L1136
	.long	.L1134-.L1136
	.long	.L1134-.L1136
	.long	.L1134-.L1136
	.long	.L1134-.L1136
	.long	.L1134-.L1136
	.long	.L1134-.L1136
	.long	.L1134-.L1136
	.long	.L1134-.L1136
	.long	.L1134-.L1136
	.long	.L1135-.L1136
	.text
.L1148:
	mov	eax, DWORD PTR -316[rbp]
	mov	edi, eax
	call	translateKey
	mov	DWORD PTR -408[rbp], eax
	mov	eax, DWORD PTR -408[rbp]
	mov	esi, 1
	mov	edi, eax
	call	_glfwInputKey
	mov	rax, QWORD PTR _glfwWin[rip+56]
	test	rax, rax
	je	.L1176
	lea	rax, -400[rbp]
	mov	rdi, rax
	call	translateChar
	mov	DWORD PTR -404[rbp], eax
	mov	eax, DWORD PTR -404[rbp]
	mov	esi, 1
	mov	edi, eax
	call	_glfwInputChar
	jmp	.L1176
.L1147:
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	esi, 1
	mov	rdi, rax
	call	XEventsQueued@PLT
	mov	DWORD PTR -420[rbp], eax
	cmp	DWORD PTR -420[rbp], 0
	je	.L1151
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	lea	rdx, -208[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	XPeekEvent@PLT
	mov	edx, DWORD PTR -124[rbp]
	mov	eax, DWORD PTR -316[rbp]
	cmp	edx, eax
	jne	.L1151
	mov	rdx, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR -368[rbp]
	cmp	rdx, rax
	jne	.L1151
	mov	eax, DWORD PTR -208[rbp]
	cmp	eax, 2
	jne	.L1151
	mov	rax, QWORD PTR -152[rbp]
	mov	rdx, QWORD PTR -344[rbp]
	sub	rax, rdx
	cmp	rax, 19
	jbe	.L1177
.L1151:
	mov	eax, DWORD PTR -316[rbp]
	mov	edi, eax
	call	translateKey
	mov	DWORD PTR -416[rbp], eax
	mov	eax, DWORD PTR -416[rbp]
	mov	esi, 0
	mov	edi, eax
	call	_glfwInputKey
	mov	rax, QWORD PTR _glfwWin[rip+56]
	test	rax, rax
	je	.L1178
	lea	rax, -400[rbp]
	mov	rdi, rax
	call	translateChar
	mov	DWORD PTR -412[rbp], eax
	mov	eax, DWORD PTR -412[rbp]
	mov	esi, 0
	mov	edi, eax
	call	_glfwInputChar
	jmp	.L1178
.L1146:
	mov	eax, DWORD PTR -316[rbp]
	cmp	eax, 1
	jne	.L1154
	mov	esi, 1
	mov	edi, 0
	call	_glfwInputMouseClick
	jmp	.L1179
.L1154:
	mov	eax, DWORD PTR -316[rbp]
	cmp	eax, 2
	jne	.L1156
	mov	esi, 1
	mov	edi, 2
	call	_glfwInputMouseClick
	jmp	.L1179
.L1156:
	mov	eax, DWORD PTR -316[rbp]
	cmp	eax, 3
	jne	.L1157
	mov	esi, 1
	mov	edi, 1
	call	_glfwInputMouseClick
	jmp	.L1179
.L1157:
	mov	eax, DWORD PTR -316[rbp]
	cmp	eax, 4
	jne	.L1158
	mov	eax, DWORD PTR _glfwInput[rip+8]
	add	eax, 1
	mov	DWORD PTR _glfwInput[rip+8], eax
	mov	rax, QWORD PTR _glfwWin[rip+40]
	test	rax, rax
	je	.L1179
	mov	rdx, QWORD PTR _glfwWin[rip+40]
	mov	eax, DWORD PTR _glfwInput[rip+8]
	mov	edi, eax
	call	rdx
	jmp	.L1179
.L1158:
	mov	eax, DWORD PTR -316[rbp]
	cmp	eax, 5
	jne	.L1179
	mov	eax, DWORD PTR _glfwInput[rip+8]
	sub	eax, 1
	mov	DWORD PTR _glfwInput[rip+8], eax
	mov	rax, QWORD PTR _glfwWin[rip+40]
	test	rax, rax
	je	.L1179
	mov	rdx, QWORD PTR _glfwWin[rip+40]
	mov	eax, DWORD PTR _glfwInput[rip+8]
	mov	edi, eax
	call	rdx
	jmp	.L1179
.L1145:
	mov	eax, DWORD PTR -316[rbp]
	cmp	eax, 1
	jne	.L1159
	mov	esi, 0
	mov	edi, 0
	call	_glfwInputMouseClick
	jmp	.L1180
.L1159:
	mov	eax, DWORD PTR -316[rbp]
	cmp	eax, 2
	jne	.L1161
	mov	esi, 0
	mov	edi, 2
	call	_glfwInputMouseClick
	jmp	.L1180
.L1161:
	mov	eax, DWORD PTR -316[rbp]
	cmp	eax, 3
	jne	.L1180
	mov	esi, 0
	mov	edi, 1
	call	_glfwInputMouseClick
	jmp	.L1180
.L1144:
	mov	edx, DWORD PTR -336[rbp]
	mov	eax, DWORD PTR _glfwInput[rip+368]
	cmp	edx, eax
	jne	.L1162
	mov	edx, DWORD PTR -332[rbp]
	mov	eax, DWORD PTR _glfwInput[rip+372]
	cmp	edx, eax
	je	.L1181
.L1162:
	mov	eax, DWORD PTR _glfwWin[rip+68]
	test	eax, eax
	je	.L1164
	movzx	eax, BYTE PTR _glfwWin[rip+387]
	test	al, al
	je	.L1165
	mov	edx, DWORD PTR _glfwInput[rip]
	mov	eax, DWORD PTR -336[rbp]
	mov	ecx, DWORD PTR _glfwInput[rip+368]
	sub	eax, ecx
	add	eax, edx
	mov	DWORD PTR _glfwInput[rip], eax
	mov	edx, DWORD PTR _glfwInput[rip+4]
	mov	eax, DWORD PTR -332[rbp]
	mov	ecx, DWORD PTR _glfwInput[rip+372]
	sub	eax, ecx
	add	eax, edx
	mov	DWORD PTR _glfwInput[rip+4], eax
	jmp	.L1165
.L1164:
	mov	eax, DWORD PTR -336[rbp]
	mov	DWORD PTR _glfwInput[rip], eax
	mov	eax, DWORD PTR -332[rbp]
	mov	DWORD PTR _glfwInput[rip+4], eax
.L1165:
	mov	eax, DWORD PTR -336[rbp]
	mov	DWORD PTR _glfwInput[rip+368], eax
	mov	eax, DWORD PTR -332[rbp]
	mov	DWORD PTR _glfwInput[rip+372], eax
	mov	DWORD PTR _glfwInput[rip+364], 1
	mov	rax, QWORD PTR _glfwWin[rip+32]
	test	rax, rax
	je	.L1181
	mov	rcx, QWORD PTR _glfwWin[rip+32]
	mov	edx, DWORD PTR _glfwInput[rip+4]
	mov	eax, DWORD PTR _glfwInput[rip]
	mov	esi, edx
	mov	edi, eax
	call	rcx
	jmp	.L1181
.L1137:
	mov	edx, DWORD PTR -340[rbp]
	mov	eax, DWORD PTR _glfwWin[rip+104]
	cmp	edx, eax
	jne	.L1166
	mov	edx, DWORD PTR -344[rbp]
	mov	eax, DWORD PTR _glfwWin[rip+100]
	cmp	edx, eax
	je	.L1182
.L1166:
	mov	eax, DWORD PTR -344[rbp]
	mov	DWORD PTR _glfwWin[rip+100], eax
	mov	eax, DWORD PTR -340[rbp]
	mov	DWORD PTR _glfwWin[rip+104], eax
	mov	rax, QWORD PTR _glfwWin[rip]
	test	rax, rax
	je	.L1182
	mov	rcx, QWORD PTR _glfwWin[rip]
	mov	edx, DWORD PTR _glfwWin[rip+104]
	mov	eax, DWORD PTR _glfwWin[rip+100]
	mov	esi, edx
	mov	edi, eax
	call	rcx
	jmp	.L1182
.L1135:
	mov	rax, QWORD PTR -344[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR _glfwWin[rip+264]
	cmp	rdx, rax
	jne	.L1168
	mov	eax, 1
	jmp	.L1174
.L1168:
	mov	rax, QWORD PTR _glfwWin[rip+272]
	test	rax, rax
	je	.L1183
	mov	rax, QWORD PTR -344[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR _glfwWin[rip+272]
	cmp	rdx, rax
	jne	.L1183
	mov	rax, QWORD PTR _glfwWin[rip+224]
	mov	QWORD PTR -368[rbp], rax
	mov	rsi, QWORD PTR -368[rbp]
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	lea	rdx, -400[rbp]
	mov	r8, rdx
	mov	ecx, 1572864
	mov	edx, 0
	mov	rdi, rax
	call	XSendEvent@PLT
	jmp	.L1183
.L1138:
	mov	DWORD PTR _glfwWin[rip+96], 0
	jmp	.L1150
.L1139:
	mov	DWORD PTR _glfwWin[rip+96], 1
	jmp	.L1150
.L1143:
	mov	DWORD PTR _glfwWin[rip+92], 1
	mov	eax, DWORD PTR _glfwWin[rip+68]
	test	eax, eax
	je	.L1184
	call	_glfwPlatformHideMouseCursor
	jmp	.L1184
.L1142:
	mov	DWORD PTR _glfwWin[rip+92], 0
	call	_glfwInputDeactivation
	mov	eax, DWORD PTR _glfwWin[rip+68]
	test	eax, eax
	je	.L1185
	call	_glfwPlatformShowMouseCursor
	jmp	.L1185
.L1141:
	mov	rax, QWORD PTR _glfwWin[rip+16]
	test	rax, rax
	je	.L1186
	mov	rax, QWORD PTR _glfwWin[rip+16]
	call	rax
	jmp	.L1186
.L1140:
	mov	eax, 0
	jmp	.L1174
.L1134:
	mov	edx, DWORD PTR -400[rbp]
	mov	eax, DWORD PTR _glfwLibrary[rip+120]
	cmp	edx, eax
	jne	.L1150
	lea	rax, -400[rbp]
	mov	rdi, rax
	call	XRRUpdateConfiguration@PLT
	jmp	.L1150
.L1176:
	nop
	jmp	.L1150
.L1177:
	nop
	jmp	.L1150
.L1178:
	nop
	jmp	.L1150
.L1179:
	nop
	jmp	.L1150
.L1180:
	nop
	jmp	.L1150
.L1181:
	nop
	jmp	.L1150
.L1182:
	nop
	jmp	.L1150
.L1183:
	nop
	jmp	.L1150
.L1184:
	nop
	jmp	.L1150
.L1185:
	nop
	jmp	.L1150
.L1186:
	nop
.L1150:
	mov	eax, 0
.L1174:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1175
	call	__stack_chk_fail@PLT
.L1175:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE177:
	.size	processSingleEvent, .-processSingleEvent
	.type	terminateDisplay, @function
terminateDisplay:
.LFB178:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	test	rax, rax
	je	.L1189
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	rdi, rax
	call	XCloseDisplay@PLT
	mov	QWORD PTR _glfwLibrary[rip+80], 0
.L1189:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE178:
	.size	terminateDisplay, .-terminateDisplay
	.type	terminateThreads, @function
terminateThreads:
.LFB179:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	lea	rdi, _glfwThrd[rip+48]
	call	pthread_mutex_lock@PLT
	mov	rax, QWORD PTR _glfwThrd[rip+16]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L1191
.L1192:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	esi, 9
	mov	rdi, rax
	call	pthread_kill@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -16[rbp], rax
.L1191:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L1192
	lea	rdi, _glfwThrd[rip+48]
	call	pthread_mutex_unlock@PLT
	lea	rdi, _glfwThrd[rip+48]
	call	pthread_mutex_destroy@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE179:
	.size	terminateThreads, .-terminateThreads
	.type	translateChar, @function
translateChar:
.LFB180:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	r8d, 0
	mov	rcx, rdx
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	XLookupString@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	_glfwKeySym2Unicode
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1195
	call	__stack_chk_fail@PLT
.L1195:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE180:
	.size	translateChar, .-translateChar
	.type	translateKey, @function
translateKey:
.LFB181:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	DWORD PTR -36[rbp], edi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR -36[rbp]
	movzx	ecx, al
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	edx, 1
	mov	esi, ecx
	mov	rdi, rax
	call	XKeycodeToKeysym@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, 65421
	cmp	rax, 48
	ja	.L1197
	lea	rdx, 0[0+rax*4]
	lea	rax, .L1199[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L1199[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L1199:
	.long	.L1211-.L1199
	.long	.L1197-.L1199
	.long	.L1197-.L1199
	.long	.L1197-.L1199
	.long	.L1197-.L1199
	.long	.L1197-.L1199
	.long	.L1197-.L1199
	.long	.L1197-.L1199
	.long	.L1197-.L1199
	.long	.L1197-.L1199
	.long	.L1197-.L1199
	.long	.L1197-.L1199
	.long	.L1197-.L1199
	.long	.L1197-.L1199
	.long	.L1197-.L1199
	.long	.L1197-.L1199
	.long	.L1197-.L1199
	.long	.L1197-.L1199
	.long	.L1197-.L1199
	.long	.L1197-.L1199
	.long	.L1197-.L1199
	.long	.L1197-.L1199
	.long	.L1197-.L1199
	.long	.L1197-.L1199
	.long	.L1197-.L1199
	.long	.L1197-.L1199
	.long	.L1197-.L1199
	.long	.L1197-.L1199
	.long	.L1197-.L1199
	.long	.L1197-.L1199
	.long	.L1197-.L1199
	.long	.L1210-.L1199
	.long	.L1197-.L1199
	.long	.L1210-.L1199
	.long	.L1197-.L1199
	.long	.L1209-.L1199
	.long	.L1208-.L1199
	.long	.L1207-.L1199
	.long	.L1206-.L1199
	.long	.L1205-.L1199
	.long	.L1204-.L1199
	.long	.L1203-.L1199
	.long	.L1202-.L1199
	.long	.L1201-.L1199
	.long	.L1200-.L1199
	.long	.L1197-.L1199
	.long	.L1197-.L1199
	.long	.L1197-.L1199
	.long	.L1198-.L1199
	.text
.L1209:
	mov	eax, 302
	jmp	.L1276
.L1208:
	mov	eax, 303
	jmp	.L1276
.L1207:
	mov	eax, 304
	jmp	.L1276
.L1206:
	mov	eax, 305
	jmp	.L1276
.L1205:
	mov	eax, 306
	jmp	.L1276
.L1204:
	mov	eax, 307
	jmp	.L1276
.L1203:
	mov	eax, 308
	jmp	.L1276
.L1202:
	mov	eax, 309
	jmp	.L1276
.L1201:
	mov	eax, 310
	jmp	.L1276
.L1200:
	mov	eax, 311
	jmp	.L1276
.L1210:
	mov	eax, 316
	jmp	.L1276
.L1198:
	mov	eax, 317
	jmp	.L1276
.L1211:
	mov	eax, 318
	jmp	.L1276
.L1197:
	mov	eax, DWORD PTR -36[rbp]
	movzx	ecx, al
	mov	rax, QWORD PTR _glfwLibrary[rip+80]
	mov	edx, 0
	mov	esi, ecx
	mov	rdi, rax
	call	XKeycodeToKeysym@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, 65027
	cmp	rax, 508
	ja	.L1213
	lea	rdx, 0[0+rax*4]
	lea	rax, .L1215[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L1215[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L1215:
	.long	.L1218-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1272-.L1215
	.long	.L1271-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1270-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1269-.L1215
	.long	.L1268-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1267-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1263-.L1215
	.long	.L1262-.L1215
	.long	.L1261-.L1215
	.long	.L1260-.L1215
	.long	.L1259-.L1215
	.long	.L1258-.L1215
	.long	.L1257-.L1215
	.long	.L1256-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1255-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1266-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1218-.L1215
	.long	.L1265-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1264-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1263-.L1215
	.long	.L1262-.L1215
	.long	.L1261-.L1215
	.long	.L1260-.L1215
	.long	.L1259-.L1215
	.long	.L1258-.L1215
	.long	.L1257-.L1215
	.long	.L1256-.L1215
	.long	.L1213-.L1215
	.long	.L1255-.L1215
	.long	.L1214-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1254-.L1215
	.long	.L1253-.L1215
	.long	.L1213-.L1215
	.long	.L1252-.L1215
	.long	.L1213-.L1215
	.long	.L1251-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1250-.L1215
	.long	.L1249-.L1215
	.long	.L1248-.L1215
	.long	.L1247-.L1215
	.long	.L1246-.L1215
	.long	.L1245-.L1215
	.long	.L1244-.L1215
	.long	.L1243-.L1215
	.long	.L1242-.L1215
	.long	.L1241-.L1215
	.long	.L1240-.L1215
	.long	.L1239-.L1215
	.long	.L1238-.L1215
	.long	.L1237-.L1215
	.long	.L1236-.L1215
	.long	.L1235-.L1215
	.long	.L1234-.L1215
	.long	.L1233-.L1215
	.long	.L1232-.L1215
	.long	.L1231-.L1215
	.long	.L1230-.L1215
	.long	.L1229-.L1215
	.long	.L1228-.L1215
	.long	.L1227-.L1215
	.long	.L1226-.L1215
	.long	.L1225-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1224-.L1215
	.long	.L1223-.L1215
	.long	.L1222-.L1215
	.long	.L1221-.L1215
	.long	.L1220-.L1215
	.long	.L1213-.L1215
	.long	.L1219-.L1215
	.long	.L1218-.L1215
	.long	.L1219-.L1215
	.long	.L1218-.L1215
	.long	.L1217-.L1215
	.long	.L1216-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1213-.L1215
	.long	.L1214-.L1215
	.text
.L1267:
	mov	eax, 257
	jmp	.L1276
.L1271:
	mov	eax, 293
	jmp	.L1276
.L1224:
	mov	eax, 287
	jmp	.L1276
.L1223:
	mov	eax, 288
	jmp	.L1276
.L1222:
	mov	eax, 289
	jmp	.L1276
.L1221:
	mov	eax, 290
	jmp	.L1276
.L1219:
	mov	eax, 291
	jmp	.L1276
.L1218:
	mov	eax, 292
	jmp	.L1276
.L1217:
	mov	eax, 323
	jmp	.L1276
.L1216:
	mov	eax, 324
	jmp	.L1276
.L1266:
	mov	eax, 325
	jmp	.L1276
.L1265:
	mov	eax, 319
	jmp	.L1276
.L1220:
	mov	eax, 320
	jmp	.L1276
.L1268:
	mov	eax, 321
	jmp	.L1276
.L1269:
	mov	eax, 322
	jmp	.L1276
.L1214:
	mov	eax, 297
	jmp	.L1276
.L1272:
	mov	eax, 295
	jmp	.L1276
.L1270:
	mov	eax, 294
	jmp	.L1276
.L1263:
	mov	eax, 300
	jmp	.L1276
.L1256:
	mov	eax, 301
	jmp	.L1276
.L1258:
	mov	eax, 298
	jmp	.L1276
.L1257:
	mov	eax, 299
	jmp	.L1276
.L1255:
	mov	eax, 296
	jmp	.L1276
.L1262:
	mov	eax, 285
	jmp	.L1276
.L1260:
	mov	eax, 286
	jmp	.L1276
.L1259:
	mov	eax, 284
	jmp	.L1276
.L1261:
	mov	eax, 283
	jmp	.L1276
.L1249:
	mov	eax, 258
	jmp	.L1276
.L1248:
	mov	eax, 259
	jmp	.L1276
.L1247:
	mov	eax, 260
	jmp	.L1276
.L1246:
	mov	eax, 261
	jmp	.L1276
.L1245:
	mov	eax, 262
	jmp	.L1276
.L1244:
	mov	eax, 263
	jmp	.L1276
.L1243:
	mov	eax, 264
	jmp	.L1276
.L1242:
	mov	eax, 265
	jmp	.L1276
.L1241:
	mov	eax, 266
	jmp	.L1276
.L1240:
	mov	eax, 267
	jmp	.L1276
.L1239:
	mov	eax, 268
	jmp	.L1276
.L1238:
	mov	eax, 269
	jmp	.L1276
.L1237:
	mov	eax, 270
	jmp	.L1276
.L1236:
	mov	eax, 271
	jmp	.L1276
.L1235:
	mov	eax, 272
	jmp	.L1276
.L1234:
	mov	eax, 273
	jmp	.L1276
.L1233:
	mov	eax, 274
	jmp	.L1276
.L1232:
	mov	eax, 275
	jmp	.L1276
.L1231:
	mov	eax, 276
	jmp	.L1276
.L1230:
	mov	eax, 277
	jmp	.L1276
.L1229:
	mov	eax, 278
	jmp	.L1276
.L1228:
	mov	eax, 279
	jmp	.L1276
.L1227:
	mov	eax, 280
	jmp	.L1276
.L1226:
	mov	eax, 281
	jmp	.L1276
.L1225:
	mov	eax, 282
	jmp	.L1276
.L1251:
	mov	eax, 312
	jmp	.L1276
.L1254:
	mov	eax, 313
	jmp	.L1276
.L1252:
	mov	eax, 314
	jmp	.L1276
.L1253:
	mov	eax, 315
	jmp	.L1276
.L1250:
	mov	eax, 317
	jmp	.L1276
.L1264:
	mov	eax, 318
	jmp	.L1276
.L1213:
	lea	rdx, -24[rbp]
	lea	rcx, -32[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	XConvertCase@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 31
	jbe	.L1273
	cmp	QWORD PTR -16[rbp], 126
	jbe	.L1274
.L1273:
	cmp	QWORD PTR -16[rbp], 159
	jbe	.L1275
	cmp	QWORD PTR -16[rbp], 255
	ja	.L1275
.L1274:
	mov	rax, QWORD PTR -16[rbp]
	jmp	.L1276
.L1275:
	mov	eax, -1
.L1276:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L1277
	call	__stack_chk_fail@PLT
.L1277:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE181:
	.size	translateKey, .-translateKey
	.type	window_size_callback, @function
window_size_callback:
.LFB182:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR window_width[rip], eax
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR window_height[rip], eax
	mov	edx, DWORD PTR window_height[rip]
	mov	eax, DWORD PTR window_width[rip]
	mov	ecx, edx
	mov	edx, eax
	mov	esi, 0
	mov	edi, 0
	call	glViewport@PLT
	mov	edi, 5889
	call	glMatrixMode@PLT
	call	glLoadIdentity@PLT
	mov	eax, DWORD PTR window_height[rip]
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, eax
	mov	eax, DWORD PTR window_width[rip]
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, eax
	movapd	xmm3, xmm1
	pxor	xmm2, xmm2
	movapd	xmm1, xmm0
	pxor	xmm0, xmm0
	call	gluOrtho2D@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE182:
	.size	window_size_callback, .-window_size_callback
	.section	.rodata
	.align 8
.LC1:
	.long	0
	.long	1071644672
	.align 4
.LC2:
	.long	1065353216
	.align 8
.LC6:
	.long	-400107883
	.long	1041313291
	.align 8
.LC7:
	.long	-1598689907
	.long	1051772663
	.align 8
.LC9:
	.long	0
	.long	1138753536
	.align 8
.LC11:
	.long	0
	.long	1093567616
	.align 8
.LC12:
	.long	0
	.long	1090021888
	.align 4
.LC54:
	.long	1191181824
	.align 16
.LC55:
	.long	-2147483648
	.long	0
	.long	0
	.long	0
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"969829.c"
	.text
	.local	_glfwErrorCode
	.comm	_glfwErrorCode,4,4
	.global	_glfwInitialized
	.bss
	.align	2
	.type	_glfwInitialized, %object
	.size	_glfwInitialized, 4
_glfwInitialized:
	.space	4
	.comm	_glfwInput,376,4
	.comm	_glfwJoy,384,4
	.comm	_glfwLibrary,144,8
	.comm	_glfwThrd,64,4
	.comm	_glfwWin,304,4
	.local	cursor_x
	.comm	cursor_x,4,4
	.local	cursor_y
	.comm	cursor_y,4,4
	.data
	.align	2
	.type	keysymtab, %object
	.size	keysymtab, 3104
keysymtab:
	.short	417
	.short	260
	.short	418
	.short	728
	.short	419
	.short	321
	.short	421
	.short	317
	.short	422
	.short	346
	.short	425
	.short	352
	.short	426
	.short	350
	.short	427
	.short	356
	.short	428
	.short	377
	.short	430
	.short	381
	.short	431
	.short	379
	.short	433
	.short	261
	.short	434
	.short	731
	.short	435
	.short	322
	.short	437
	.short	318
	.short	438
	.short	347
	.short	439
	.short	711
	.short	441
	.short	353
	.short	442
	.short	351
	.short	443
	.short	357
	.short	444
	.short	378
	.short	445
	.short	733
	.short	446
	.short	382
	.short	447
	.short	380
	.short	448
	.short	340
	.short	451
	.short	258
	.short	453
	.short	313
	.short	454
	.short	262
	.short	456
	.short	268
	.short	458
	.short	280
	.short	460
	.short	282
	.short	463
	.short	270
	.short	464
	.short	272
	.short	465
	.short	323
	.short	466
	.short	327
	.short	469
	.short	336
	.short	472
	.short	344
	.short	473
	.short	366
	.short	475
	.short	368
	.short	478
	.short	354
	.short	480
	.short	341
	.short	483
	.short	259
	.short	485
	.short	314
	.short	486
	.short	263
	.short	488
	.short	269
	.short	490
	.short	281
	.short	492
	.short	283
	.short	495
	.short	271
	.short	496
	.short	273
	.short	497
	.short	324
	.short	498
	.short	328
	.short	501
	.short	337
	.short	504
	.short	345
	.short	505
	.short	367
	.short	507
	.short	369
	.short	510
	.short	355
	.short	511
	.short	729
	.short	673
	.short	294
	.short	678
	.short	292
	.short	681
	.short	304
	.short	683
	.short	286
	.short	684
	.short	308
	.short	689
	.short	295
	.short	694
	.short	293
	.short	697
	.short	305
	.short	699
	.short	287
	.short	700
	.short	309
	.short	709
	.short	266
	.short	710
	.short	264
	.short	725
	.short	288
	.short	728
	.short	284
	.short	733
	.short	364
	.short	734
	.short	348
	.short	741
	.short	267
	.short	742
	.short	265
	.short	757
	.short	289
	.short	760
	.short	285
	.short	765
	.short	365
	.short	766
	.short	349
	.short	930
	.short	312
	.short	931
	.short	342
	.short	933
	.short	296
	.short	934
	.short	315
	.short	938
	.short	274
	.short	939
	.short	290
	.short	940
	.short	358
	.short	947
	.short	343
	.short	949
	.short	297
	.short	950
	.short	316
	.short	954
	.short	275
	.short	955
	.short	291
	.short	956
	.short	359
	.short	957
	.short	330
	.short	959
	.short	331
	.short	960
	.short	256
	.short	967
	.short	302
	.short	972
	.short	278
	.short	975
	.short	298
	.short	977
	.short	325
	.short	978
	.short	332
	.short	979
	.short	310
	.short	985
	.short	370
	.short	989
	.short	360
	.short	990
	.short	362
	.short	992
	.short	257
	.short	999
	.short	303
	.short	1004
	.short	279
	.short	1007
	.short	299
	.short	1009
	.short	326
	.short	1010
	.short	333
	.short	1011
	.short	311
	.short	1017
	.short	371
	.short	1021
	.short	361
	.short	1022
	.short	363
	.short	1150
	.short	8254
	.short	1185
	.short	12290
	.short	1186
	.short	12300
	.short	1187
	.short	12301
	.short	1188
	.short	12289
	.short	1189
	.short	12539
	.short	1190
	.short	12530
	.short	1191
	.short	12449
	.short	1192
	.short	12451
	.short	1193
	.short	12453
	.short	1194
	.short	12455
	.short	1195
	.short	12457
	.short	1196
	.short	12515
	.short	1197
	.short	12517
	.short	1198
	.short	12519
	.short	1199
	.short	12483
	.short	1200
	.short	12540
	.short	1201
	.short	12450
	.short	1202
	.short	12452
	.short	1203
	.short	12454
	.short	1204
	.short	12456
	.short	1205
	.short	12458
	.short	1206
	.short	12459
	.short	1207
	.short	12461
	.short	1208
	.short	12463
	.short	1209
	.short	12465
	.short	1210
	.short	12467
	.short	1211
	.short	12469
	.short	1212
	.short	12471
	.short	1213
	.short	12473
	.short	1214
	.short	12475
	.short	1215
	.short	12477
	.short	1216
	.short	12479
	.short	1217
	.short	12481
	.short	1218
	.short	12484
	.short	1219
	.short	12486
	.short	1220
	.short	12488
	.short	1221
	.short	12490
	.short	1222
	.short	12491
	.short	1223
	.short	12492
	.short	1224
	.short	12493
	.short	1225
	.short	12494
	.short	1226
	.short	12495
	.short	1227
	.short	12498
	.short	1228
	.short	12501
	.short	1229
	.short	12504
	.short	1230
	.short	12507
	.short	1231
	.short	12510
	.short	1232
	.short	12511
	.short	1233
	.short	12512
	.short	1234
	.short	12513
	.short	1235
	.short	12514
	.short	1236
	.short	12516
	.short	1237
	.short	12518
	.short	1238
	.short	12520
	.short	1239
	.short	12521
	.short	1240
	.short	12522
	.short	1241
	.short	12523
	.short	1242
	.short	12524
	.short	1243
	.short	12525
	.short	1244
	.short	12527
	.short	1245
	.short	12531
	.short	1246
	.short	12443
	.short	1247
	.short	12444
	.short	1452
	.short	1548
	.short	1467
	.short	1563
	.short	1471
	.short	1567
	.short	1473
	.short	1569
	.short	1474
	.short	1570
	.short	1475
	.short	1571
	.short	1476
	.short	1572
	.short	1477
	.short	1573
	.short	1478
	.short	1574
	.short	1479
	.short	1575
	.short	1480
	.short	1576
	.short	1481
	.short	1577
	.short	1482
	.short	1578
	.short	1483
	.short	1579
	.short	1484
	.short	1580
	.short	1485
	.short	1581
	.short	1486
	.short	1582
	.short	1487
	.short	1583
	.short	1488
	.short	1584
	.short	1489
	.short	1585
	.short	1490
	.short	1586
	.short	1491
	.short	1587
	.short	1492
	.short	1588
	.short	1493
	.short	1589
	.short	1494
	.short	1590
	.short	1495
	.short	1591
	.short	1496
	.short	1592
	.short	1497
	.short	1593
	.short	1498
	.short	1594
	.short	1504
	.short	1600
	.short	1505
	.short	1601
	.short	1506
	.short	1602
	.short	1507
	.short	1603
	.short	1508
	.short	1604
	.short	1509
	.short	1605
	.short	1510
	.short	1606
	.short	1511
	.short	1607
	.short	1512
	.short	1608
	.short	1513
	.short	1609
	.short	1514
	.short	1610
	.short	1515
	.short	1611
	.short	1516
	.short	1612
	.short	1517
	.short	1613
	.short	1518
	.short	1614
	.short	1519
	.short	1615
	.short	1520
	.short	1616
	.short	1521
	.short	1617
	.short	1522
	.short	1618
	.short	1697
	.short	1106
	.short	1698
	.short	1107
	.short	1699
	.short	1105
	.short	1700
	.short	1108
	.short	1701
	.short	1109
	.short	1702
	.short	1110
	.short	1703
	.short	1111
	.short	1704
	.short	1112
	.short	1705
	.short	1113
	.short	1706
	.short	1114
	.short	1707
	.short	1115
	.short	1708
	.short	1116
	.short	1710
	.short	1118
	.short	1711
	.short	1119
	.short	1712
	.short	8470
	.short	1713
	.short	1026
	.short	1714
	.short	1027
	.short	1715
	.short	1025
	.short	1716
	.short	1028
	.short	1717
	.short	1029
	.short	1718
	.short	1030
	.short	1719
	.short	1031
	.short	1720
	.short	1032
	.short	1721
	.short	1033
	.short	1722
	.short	1034
	.short	1723
	.short	1035
	.short	1724
	.short	1036
	.short	1726
	.short	1038
	.short	1727
	.short	1039
	.short	1728
	.short	1102
	.short	1729
	.short	1072
	.short	1730
	.short	1073
	.short	1731
	.short	1094
	.short	1732
	.short	1076
	.short	1733
	.short	1077
	.short	1734
	.short	1092
	.short	1735
	.short	1075
	.short	1736
	.short	1093
	.short	1737
	.short	1080
	.short	1738
	.short	1081
	.short	1739
	.short	1082
	.short	1740
	.short	1083
	.short	1741
	.short	1084
	.short	1742
	.short	1085
	.short	1743
	.short	1086
	.short	1744
	.short	1087
	.short	1745
	.short	1103
	.short	1746
	.short	1088
	.short	1747
	.short	1089
	.short	1748
	.short	1090
	.short	1749
	.short	1091
	.short	1750
	.short	1078
	.short	1751
	.short	1074
	.short	1752
	.short	1100
	.short	1753
	.short	1099
	.short	1754
	.short	1079
	.short	1755
	.short	1096
	.short	1756
	.short	1101
	.short	1757
	.short	1097
	.short	1758
	.short	1095
	.short	1759
	.short	1098
	.short	1760
	.short	1070
	.short	1761
	.short	1040
	.short	1762
	.short	1041
	.short	1763
	.short	1062
	.short	1764
	.short	1044
	.short	1765
	.short	1045
	.short	1766
	.short	1060
	.short	1767
	.short	1043
	.short	1768
	.short	1061
	.short	1769
	.short	1048
	.short	1770
	.short	1049
	.short	1771
	.short	1050
	.short	1772
	.short	1051
	.short	1773
	.short	1052
	.short	1774
	.short	1053
	.short	1775
	.short	1054
	.short	1776
	.short	1055
	.short	1777
	.short	1071
	.short	1778
	.short	1056
	.short	1779
	.short	1057
	.short	1780
	.short	1058
	.short	1781
	.short	1059
	.short	1782
	.short	1046
	.short	1783
	.short	1042
	.short	1784
	.short	1068
	.short	1785
	.short	1067
	.short	1786
	.short	1047
	.short	1787
	.short	1064
	.short	1788
	.short	1069
	.short	1789
	.short	1065
	.short	1790
	.short	1063
	.short	1791
	.short	1066
	.short	1953
	.short	902
	.short	1954
	.short	904
	.short	1955
	.short	905
	.short	1956
	.short	906
	.short	1957
	.short	938
	.short	1959
	.short	908
	.short	1960
	.short	910
	.short	1961
	.short	939
	.short	1963
	.short	911
	.short	1966
	.short	901
	.short	1967
	.short	8213
	.short	1969
	.short	940
	.short	1970
	.short	941
	.short	1971
	.short	942
	.short	1972
	.short	943
	.short	1973
	.short	970
	.short	1974
	.short	912
	.short	1975
	.short	972
	.short	1976
	.short	973
	.short	1977
	.short	971
	.short	1978
	.short	944
	.short	1979
	.short	974
	.short	1985
	.short	913
	.short	1986
	.short	914
	.short	1987
	.short	915
	.short	1988
	.short	916
	.short	1989
	.short	917
	.short	1990
	.short	918
	.short	1991
	.short	919
	.short	1992
	.short	920
	.short	1993
	.short	921
	.short	1994
	.short	922
	.short	1995
	.short	923
	.short	1996
	.short	924
	.short	1997
	.short	925
	.short	1998
	.short	926
	.short	1999
	.short	927
	.short	2000
	.short	928
	.short	2001
	.short	929
	.short	2002
	.short	931
	.short	2004
	.short	932
	.short	2005
	.short	933
	.short	2006
	.short	934
	.short	2007
	.short	935
	.short	2008
	.short	936
	.short	2009
	.short	937
	.short	2017
	.short	945
	.short	2018
	.short	946
	.short	2019
	.short	947
	.short	2020
	.short	948
	.short	2021
	.short	949
	.short	2022
	.short	950
	.short	2023
	.short	951
	.short	2024
	.short	952
	.short	2025
	.short	953
	.short	2026
	.short	954
	.short	2027
	.short	955
	.short	2028
	.short	956
	.short	2029
	.short	957
	.short	2030
	.short	958
	.short	2031
	.short	959
	.short	2032
	.short	960
	.short	2033
	.short	961
	.short	2034
	.short	963
	.short	2035
	.short	962
	.short	2036
	.short	964
	.short	2037
	.short	965
	.short	2038
	.short	966
	.short	2039
	.short	967
	.short	2040
	.short	968
	.short	2041
	.short	969
	.short	2209
	.short	9143
	.short	2210
	.short	9484
	.short	2211
	.short	9472
	.short	2212
	.short	8992
	.short	2213
	.short	8993
	.short	2214
	.short	9474
	.short	2215
	.short	9121
	.short	2216
	.short	9123
	.short	2217
	.short	9124
	.short	2218
	.short	9126
	.short	2219
	.short	9115
	.short	2220
	.short	9117
	.short	2221
	.short	9118
	.short	2222
	.short	9120
	.short	2223
	.short	9128
	.short	2224
	.short	9132
	.short	2236
	.short	8804
	.short	2237
	.short	8800
	.short	2238
	.short	8805
	.short	2239
	.short	8747
	.short	2240
	.short	8756
	.short	2241
	.short	8733
	.short	2242
	.short	8734
	.short	2245
	.short	8711
	.short	2248
	.short	8764
	.short	2249
	.short	8771
	.short	2253
	.short	8660
	.short	2254
	.short	8658
	.short	2255
	.short	8801
	.short	2262
	.short	8730
	.short	2266
	.short	8834
	.short	2267
	.short	8835
	.short	2268
	.short	8745
	.short	2269
	.short	8746
	.short	2270
	.short	8743
	.short	2271
	.short	8744
	.short	2287
	.short	8706
	.short	2294
	.short	402
	.short	2299
	.short	8592
	.short	2300
	.short	8593
	.short	2301
	.short	8594
	.short	2302
	.short	8595
	.short	2528
	.short	9670
	.short	2529
	.short	9618
	.short	2530
	.short	9225
	.short	2531
	.short	9228
	.short	2532
	.short	9229
	.short	2533
	.short	9226
	.short	2536
	.short	9252
	.short	2537
	.short	9227
	.short	2538
	.short	9496
	.short	2539
	.short	9488
	.short	2540
	.short	9484
	.short	2541
	.short	9492
	.short	2542
	.short	9532
	.short	2543
	.short	9146
	.short	2544
	.short	9147
	.short	2545
	.short	9472
	.short	2546
	.short	9148
	.short	2547
	.short	9149
	.short	2548
	.short	9500
	.short	2549
	.short	9508
	.short	2550
	.short	9524
	.short	2551
	.short	9516
	.short	2552
	.short	9474
	.short	2721
	.short	8195
	.short	2722
	.short	8194
	.short	2723
	.short	8196
	.short	2724
	.short	8197
	.short	2725
	.short	8199
	.short	2726
	.short	8200
	.short	2727
	.short	8201
	.short	2728
	.short	8202
	.short	2729
	.short	8212
	.short	2730
	.short	8211
	.short	2734
	.short	8230
	.short	2735
	.short	8229
	.short	2736
	.short	8531
	.short	2737
	.short	8532
	.short	2738
	.short	8533
	.short	2739
	.short	8534
	.short	2740
	.short	8535
	.short	2741
	.short	8536
	.short	2742
	.short	8537
	.short	2743
	.short	8538
	.short	2744
	.short	8453
	.short	2747
	.short	8210
	.short	2748
	.short	9001
	.short	2750
	.short	9002
	.short	2755
	.short	8539
	.short	2756
	.short	8540
	.short	2757
	.short	8541
	.short	2758
	.short	8542
	.short	2761
	.short	8482
	.short	2762
	.short	9747
	.short	2764
	.short	9665
	.short	2765
	.short	9655
	.short	2766
	.short	9675
	.short	2767
	.short	9647
	.short	2768
	.short	8216
	.short	2769
	.short	8217
	.short	2770
	.short	8220
	.short	2771
	.short	8221
	.short	2772
	.short	8478
	.short	2774
	.short	8242
	.short	2775
	.short	8243
	.short	2777
	.short	10013
	.short	2779
	.short	9644
	.short	2780
	.short	9664
	.short	2781
	.short	9654
	.short	2782
	.short	9679
	.short	2783
	.short	9646
	.short	2784
	.short	9702
	.short	2785
	.short	9643
	.short	2786
	.short	9645
	.short	2787
	.short	9651
	.short	2788
	.short	9661
	.short	2789
	.short	9734
	.short	2790
	.short	8226
	.short	2791
	.short	9642
	.short	2792
	.short	9650
	.short	2793
	.short	9660
	.short	2794
	.short	9756
	.short	2795
	.short	9758
	.short	2796
	.short	9827
	.short	2797
	.short	9830
	.short	2798
	.short	9829
	.short	2800
	.short	10016
	.short	2801
	.short	8224
	.short	2802
	.short	8225
	.short	2803
	.short	10003
	.short	2804
	.short	10007
	.short	2805
	.short	9839
	.short	2806
	.short	9837
	.short	2807
	.short	9794
	.short	2808
	.short	9792
	.short	2809
	.short	9742
	.short	2810
	.short	8981
	.short	2811
	.short	8471
	.short	2812
	.short	8248
	.short	2813
	.short	8218
	.short	2814
	.short	8222
	.short	2979
	.short	60
	.short	2982
	.short	62
	.short	2984
	.short	8744
	.short	2985
	.short	8743
	.short	3008
	.short	175
	.short	3010
	.short	8869
	.short	3011
	.short	8745
	.short	3012
	.short	8970
	.short	3014
	.short	95
	.short	3018
	.short	8728
	.short	3020
	.short	9109
	.short	3022
	.short	8868
	.short	3023
	.short	9675
	.short	3027
	.short	8968
	.short	3030
	.short	8746
	.short	3032
	.short	8835
	.short	3034
	.short	8834
	.short	3036
	.short	8866
	.short	3068
	.short	8867
	.short	3295
	.short	8215
	.short	3296
	.short	1488
	.short	3297
	.short	1489
	.short	3298
	.short	1490
	.short	3299
	.short	1491
	.short	3300
	.short	1492
	.short	3301
	.short	1493
	.short	3302
	.short	1494
	.short	3303
	.short	1495
	.short	3304
	.short	1496
	.short	3305
	.short	1497
	.short	3306
	.short	1498
	.short	3307
	.short	1499
	.short	3308
	.short	1500
	.short	3309
	.short	1501
	.short	3310
	.short	1502
	.short	3311
	.short	1503
	.short	3312
	.short	1504
	.short	3313
	.short	1505
	.short	3314
	.short	1506
	.short	3315
	.short	1507
	.short	3316
	.short	1508
	.short	3317
	.short	1509
	.short	3318
	.short	1510
	.short	3319
	.short	1511
	.short	3320
	.short	1512
	.short	3321
	.short	1513
	.short	3322
	.short	1514
	.short	3489
	.short	3585
	.short	3490
	.short	3586
	.short	3491
	.short	3587
	.short	3492
	.short	3588
	.short	3493
	.short	3589
	.short	3494
	.short	3590
	.short	3495
	.short	3591
	.short	3496
	.short	3592
	.short	3497
	.short	3593
	.short	3498
	.short	3594
	.short	3499
	.short	3595
	.short	3500
	.short	3596
	.short	3501
	.short	3597
	.short	3502
	.short	3598
	.short	3503
	.short	3599
	.short	3504
	.short	3600
	.short	3505
	.short	3601
	.short	3506
	.short	3602
	.short	3507
	.short	3603
	.short	3508
	.short	3604
	.short	3509
	.short	3605
	.short	3510
	.short	3606
	.short	3511
	.short	3607
	.short	3512
	.short	3608
	.short	3513
	.short	3609
	.short	3514
	.short	3610
	.short	3515
	.short	3611
	.short	3516
	.short	3612
	.short	3517
	.short	3613
	.short	3518
	.short	3614
	.short	3519
	.short	3615
	.short	3520
	.short	3616
	.short	3521
	.short	3617
	.short	3522
	.short	3618
	.short	3523
	.short	3619
	.short	3524
	.short	3620
	.short	3525
	.short	3621
	.short	3526
	.short	3622
	.short	3527
	.short	3623
	.short	3528
	.short	3624
	.short	3529
	.short	3625
	.short	3530
	.short	3626
	.short	3531
	.short	3627
	.short	3532
	.short	3628
	.short	3533
	.short	3629
	.short	3534
	.short	3630
	.short	3535
	.short	3631
	.short	3536
	.short	3632
	.short	3537
	.short	3633
	.short	3538
	.short	3634
	.short	3539
	.short	3635
	.short	3540
	.short	3636
	.short	3541
	.short	3637
	.short	3542
	.short	3638
	.short	3543
	.short	3639
	.short	3544
	.short	3640
	.short	3545
	.short	3641
	.short	3546
	.short	3642
	.short	3551
	.short	3647
	.short	3552
	.short	3648
	.short	3553
	.short	3649
	.short	3554
	.short	3650
	.short	3555
	.short	3651
	.short	3556
	.short	3652
	.short	3557
	.short	3653
	.short	3558
	.short	3654
	.short	3559
	.short	3655
	.short	3560
	.short	3656
	.short	3561
	.short	3657
	.short	3562
	.short	3658
	.short	3563
	.short	3659
	.short	3564
	.short	3660
	.short	3565
	.short	3661
	.short	3568
	.short	3664
	.short	3569
	.short	3665
	.short	3570
	.short	3666
	.short	3571
	.short	3667
	.short	3572
	.short	3668
	.short	3573
	.short	3669
	.short	3574
	.short	3670
	.short	3575
	.short	3671
	.short	3576
	.short	3672
	.short	3577
	.short	3673
	.short	3745
	.short	12593
	.short	3746
	.short	12594
	.short	3747
	.short	12595
	.short	3748
	.short	12596
	.short	3749
	.short	12597
	.short	3750
	.short	12598
	.short	3751
	.short	12599
	.short	3752
	.short	12600
	.short	3753
	.short	12601
	.short	3754
	.short	12602
	.short	3755
	.short	12603
	.short	3756
	.short	12604
	.short	3757
	.short	12605
	.short	3758
	.short	12606
	.short	3759
	.short	12607
	.short	3760
	.short	12608
	.short	3761
	.short	12609
	.short	3762
	.short	12610
	.short	3763
	.short	12611
	.short	3764
	.short	12612
	.short	3765
	.short	12613
	.short	3766
	.short	12614
	.short	3767
	.short	12615
	.short	3768
	.short	12616
	.short	3769
	.short	12617
	.short	3770
	.short	12618
	.short	3771
	.short	12619
	.short	3772
	.short	12620
	.short	3773
	.short	12621
	.short	3774
	.short	12622
	.short	3775
	.short	12623
	.short	3776
	.short	12624
	.short	3777
	.short	12625
	.short	3778
	.short	12626
	.short	3779
	.short	12627
	.short	3780
	.short	12628
	.short	3781
	.short	12629
	.short	3782
	.short	12630
	.short	3783
	.short	12631
	.short	3784
	.short	12632
	.short	3785
	.short	12633
	.short	3786
	.short	12634
	.short	3787
	.short	12635
	.short	3788
	.short	12636
	.short	3789
	.short	12637
	.short	3790
	.short	12638
	.short	3791
	.short	12639
	.short	3792
	.short	12640
	.short	3793
	.short	12641
	.short	3794
	.short	12642
	.short	3795
	.short	12643
	.short	3796
	.short	4520
	.short	3797
	.short	4521
	.short	3798
	.short	4522
	.short	3799
	.short	4523
	.short	3800
	.short	4524
	.short	3801
	.short	4525
	.short	3802
	.short	4526
	.short	3803
	.short	4527
	.short	3804
	.short	4528
	.short	3805
	.short	4529
	.short	3806
	.short	4530
	.short	3807
	.short	4531
	.short	3808
	.short	4532
	.short	3809
	.short	4533
	.short	3810
	.short	4534
	.short	3811
	.short	4535
	.short	3812
	.short	4536
	.short	3813
	.short	4537
	.short	3814
	.short	4538
	.short	3815
	.short	4539
	.short	3816
	.short	4540
	.short	3817
	.short	4541
	.short	3818
	.short	4542
	.short	3819
	.short	4543
	.short	3820
	.short	4544
	.short	3821
	.short	4545
	.short	3822
	.short	4546
	.short	3823
	.short	12653
	.short	3824
	.short	12657
	.short	3825
	.short	12664
	.short	3826
	.short	12671
	.short	3827
	.short	12673
	.short	3828
	.short	12676
	.short	3829
	.short	12678
	.short	3830
	.short	12685
	.short	3831
	.short	12686
	.short	3832
	.short	4587
	.short	3833
	.short	4592
	.short	3834
	.short	4601
	.short	3839
	.short	8361
	.short	5028
	.short	8364
	.short	5052
	.short	338
	.short	5053
	.short	339
	.short	5054
	.short	376
	.short	8364
	.short	8364
	.short	-128
	.short	32
	.short	-67
	.short	61
	.short	-86
	.short	42
	.short	-85
	.short	43
	.short	-84
	.short	44
	.short	-83
	.short	45
	.short	-82
	.short	46
	.short	-81
	.short	47
	.short	-80
	.short	48
	.short	-79
	.short	49
	.short	-78
	.short	50
	.short	-77
	.short	51
	.short	-76
	.short	52
	.short	-75
	.short	53
	.short	-74
	.short	54
	.short	-73
	.short	55
	.short	-72
	.short	56
	.short	-71
	.short	57
	.align	2
	.type	window_height, %object
	.size	window_height, 4
window_height:
	.word	480
	.align	2
	.type	window_width, %object
	.size	window_width, 4
window_width:
	.word	640
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	BPP2RGB, %function
BPP2RGB:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-16]
	cmp	r3, #32
	bne	.L2
	mov	r3, #24
	str	r3, [fp, #-16]
.L2:
	ldr	r3, [fp, #-16]
	ldr	r2, .L6
	smull	r1, r2, r3, r2
	asr	r3, r3, #31
	sub	r2, r2, r3
	ldr	r3, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	mov	r2, r3
	lsl	r3, r3, #2
	sub	r3, r2, r3
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	ble	.L3
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3]
.L3:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L5
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-20]
	str	r2, [r3]
.L5:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L7:
	.align	2
.L6:
	.word	1431655766
	.size	BPP2RGB, .-BPP2RGB
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	HalveImage, %function
HalveImage:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #76
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	str	r2, [fp, #-72]
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3]
	cmp	r3, #1
	bgt	.L30
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	cmp	r3, #1
	bgt	.L31
	mov	r3, #0
	b	.L11
.L30:
	nop
	b	.L9
.L31:
	nop
.L9:
	ldr	r3, [fp, #-68]
	ldr	r3, [r3]
	cmp	r3, #1
	ble	.L12
	ldr	r3, [fp, #-68]
	ldr	r3, [r3]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-36]
	b	.L13
.L12:
	mov	r3, #1
	str	r3, [fp, #-36]
.L13:
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	cmp	r3, #1
	ble	.L14
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-32]
	b	.L15
.L14:
	mov	r3, #1
	str	r3, [fp, #-32]
.L15:
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L16
	mov	r3, #1
	strb	r3, [fp, #-53]
	b	.L17
.L16:
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	cmp	r3, #1
	moveq	r3, #1
	movne	r3, #0
	strb	r3, [fp, #-53]
.L17:
	ldrb	r3, [fp, #-53]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L18
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L19
.L22:
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L20
.L21:
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-64]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-76]
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r1, r3
	add	r3, r3, #1
	asr	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-8]
	strb	r2, [r3]
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L20:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-76]
	cmp	r2, r3
	blt	.L21
	ldr	r3, [fp, #-76]
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L19:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	blt	.L22
	b	.L23
.L18:
	ldr	r3, [fp, #-68]
	ldr	r2, [r3]
	ldr	r3, [fp, #-76]
	mul	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-76]
	mul	r3, r2, r3
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L24
.L29:
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L25
.L28:
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L26
.L27:
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-64]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-76]
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r1, r3
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-64]
	add	r2, r1, r2
	ldrb	r2, [r2]	@ zero_extendqisi2
	add	r3, r3, r2
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-64]
	add	r2, r1, r2
	ldrb	r2, [r2]	@ zero_extendqisi2
	add	r3, r3, r2
	add	r3, r3, #2
	asr	r3, r3, #2
	and	r2, r3, #255
	ldr	r3, [fp, #-12]
	strb	r2, [r3]
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L26:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-76]
	cmp	r2, r3
	blt	.L27
	ldr	r3, [fp, #-76]
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L25:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	blt	.L28
	ldr	r3, [fp, #-68]
	ldr	r3, [r3]
	ldr	r2, [fp, #-76]
	mul	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-64]
	add	r3, r3, r2
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L24:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L29
.L23:
	ldr	r3, [fp, #-68]
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-72]
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	mov	r3, #1
.L11:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	HalveImage, .-HalveImage
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Max, %function
Max:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	movge	r3, r2
	movlt	r3, r3
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	Max, .-Max
	.section	.rodata
	.align	2
.LC0:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ReadTGAHeader, %function
ReadTGAHeader:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	ldr	r3, .L55
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r0, [fp, #-48]
	bl	_glfwTellStream
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #28
	mov	r2, #18
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	_glfwReadStream
	ldrb	r3, [fp, #-28]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-52]
	str	r2, [r3]
	ldrb	r3, [fp, #-27]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-52]
	str	r2, [r3, #4]
	ldrb	r3, [fp, #-26]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-52]
	str	r2, [r3, #8]
	ldrb	r3, [fp, #-25]	@ zero_extendqisi2
	mov	r2, r3
	ldrb	r3, [fp, #-24]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	ldr	r3, [fp, #-52]
	str	r2, [r3, #12]
	ldrb	r3, [fp, #-23]	@ zero_extendqisi2
	mov	r2, r3
	ldrb	r3, [fp, #-22]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	ldr	r3, [fp, #-52]
	str	r2, [r3, #16]
	ldrb	r3, [fp, #-21]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-52]
	str	r2, [r3, #20]
	ldrb	r3, [fp, #-20]	@ zero_extendqisi2
	mov	r2, r3
	ldrb	r3, [fp, #-19]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	ldr	r3, [fp, #-52]
	str	r2, [r3, #24]
	ldrb	r3, [fp, #-18]	@ zero_extendqisi2
	mov	r2, r3
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	ldr	r3, [fp, #-52]
	str	r2, [r3, #28]
	ldrb	r3, [fp, #-16]	@ zero_extendqisi2
	mov	r2, r3
	ldrb	r3, [fp, #-15]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	ldr	r3, [fp, #-52]
	str	r2, [r3, #32]
	ldrb	r3, [fp, #-14]	@ zero_extendqisi2
	mov	r2, r3
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	lsl	r3, r3, #8
	orr	r2, r2, r3
	ldr	r3, [fp, #-52]
	str	r2, [r3, #36]
	ldrb	r3, [fp, #-12]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-52]
	str	r2, [r3, #40]
	ldrb	r3, [fp, #-11]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-52]
	str	r2, [r3, #44]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #44]
	and	r2, r3, #15
	ldr	r3, [fp, #-52]
	str	r2, [r3, #48]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #44]
	asr	r3, r3, #4
	and	r2, r3, #3
	ldr	r3, [fp, #-52]
	str	r2, [r3, #52]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L35
	mov	r3, #1
	strb	r3, [fp, #-44]
	b	.L36
.L35:
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #4]
	cmp	r3, #1
	moveq	r3, #1
	movne	r3, #0
	strb	r3, [fp, #-44]
.L36:
	ldrb	r3, [fp, #-44]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L37
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	ble	.L38
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #8]
	cmp	r3, #3
	movle	r3, #1
	movgt	r3, #0
	strb	r3, [fp, #-42]
	b	.L39
.L38:
	mov	r3, #0
	strb	r3, [fp, #-42]
.L39:
	ldrb	r3, [fp, #-42]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L40
	mov	r3, #1
	strb	r3, [fp, #-41]
	b	.L41
.L40:
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #8]
	cmp	r3, #8
	ble	.L42
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #8]
	cmp	r3, #11
	movle	r3, #1
	movgt	r3, #0
	strb	r3, [fp, #-40]
	b	.L43
.L42:
	mov	r3, #0
	strb	r3, [fp, #-40]
.L43:
	ldrb	r3, [fp, #-40]
	strb	r3, [fp, #-41]
.L41:
	ldrb	r3, [fp, #-41]
	strb	r3, [fp, #-43]
	b	.L44
.L37:
	mov	r3, #0
	strb	r3, [fp, #-43]
.L44:
	ldrb	r3, [fp, #-43]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L45
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #40]
	cmp	r3, #8
	bne	.L46
	mov	r3, #1
	strb	r3, [fp, #-38]
	b	.L47
.L46:
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #40]
	cmp	r3, #24
	moveq	r3, #1
	movne	r3, #0
	strb	r3, [fp, #-38]
.L47:
	ldrb	r3, [fp, #-38]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L48
	mov	r3, #1
	strb	r3, [fp, #-37]
	b	.L49
.L48:
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #40]
	cmp	r3, #32
	moveq	r3, #1
	movne	r3, #0
	strb	r3, [fp, #-37]
.L49:
	ldrb	r3, [fp, #-37]
	strb	r3, [fp, #-39]
	b	.L50
.L45:
	mov	r3, #0
	strb	r3, [fp, #-39]
.L50:
	ldrb	r3, [fp, #-39]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L51
	ldr	r3, [fp, #-52]
	ldr	r3, [r3]
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	_glfwSeekStream
	mov	r3, #1
	b	.L53
.L51:
	mov	r2, #0
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-48]
	bl	_glfwSeekStream
	mov	r3, #0
.L53:
	ldr	r2, .L55
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L54
	bl	__stack_chk_fail
.L54:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L56:
	.align	2
.L55:
	.word	.LC0
	.size	ReadTGAHeader, .-ReadTGAHeader
	.section	.rodata
	.align	2
.LC1:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ReadTGA_RLE, %function
ReadTGA_RLE:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	str	r3, [fp, #-52]
	ldr	r3, .L70
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-48]
	cmp	r3, #4
	bgt	.L69
	b	.L59
.L67:
	sub	r3, fp, #33
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-52]
	bl	_glfwReadStream
	ldrb	r3, [fp, #-33]	@ zero_extendqisi2
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	and	r3, r3, #127
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	mul	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	bge	.L60
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-32]
.L60:
	ldr	r3, [fp, #-20]
	and	r3, r3, #128
	cmp	r3, #0
	beq	.L61
	sub	r3, fp, #12
	ldr	r2, [fp, #-48]
	mov	r1, r3
	ldr	r0, [fp, #-52]
	bl	_glfwReadStream
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L62
.L65:
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L63
.L64:
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	sub	r2, fp, #12
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-16]
	strb	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L63:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-48]
	cmp	r2, r3
	blt	.L64
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L62:
	ldr	r3, [fp, #-20]
	and	r3, r3, #127
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	ble	.L65
	b	.L66
.L61:
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-52]
	bl	_glfwReadStream
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	str	r3, [fp, #-40]
.L66:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-32]
	sub	r3, r2, r3
	str	r3, [fp, #-44]
.L59:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bgt	.L67
.L69:
	nop
	ldr	r3, .L70
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L68
	bl	__stack_chk_fail
.L68:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L71:
	.align	2
.L70:
	.word	.LC1
	.size	ReadTGA_RLE, .-ReadTGA_RLE
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	RescaleImage, %function
RescaleImage:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	b	.L73
.L74:
	ldr	r3, [fp, #-28]
	asr	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L73:
	ldr	r3, [fp, #-28]
	cmp	r3, #1
	bgt	.L74
	mov	r2, #1
	ldr	r3, [fp, #-20]
	lsl	r3, r2, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	bge	.L75
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #1
	str	r3, [fp, #-28]
.L75:
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-24]
	b	.L76
.L77:
	ldr	r3, [fp, #-24]
	asr	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L76:
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	bgt	.L77
	mov	r2, #1
	ldr	r3, [fp, #-20]
	lsl	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bge	.L78
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #1
	str	r3, [fp, #-24]
.L78:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	beq	.L79
	mov	r3, #1
	strb	r3, [fp, #-29]
	b	.L80
.L79:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	movne	r3, #1
	moveq	r3, #0
	strb	r3, [fp, #-29]
.L80:
	ldrb	r3, [fp, #-29]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L81
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	mul	r3, r2, r3
	ldr	r2, [fp, #-40]
	ldr	r2, [r2, #12]
	mul	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L82
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	free
	mov	r3, #0
	b	.L83
.L82:
	ldr	r3, [fp, #-40]
	ldr	r0, [r3, #16]
	ldr	r3, [fp, #-40]
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #12]
	str	r3, [sp, #8]
	ldr	r3, [fp, #-24]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-28]
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, [fp, #-8]
	bl	UpsampleImage
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #4]
.L81:
	mov	r3, #1
.L83:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	RescaleImage, .-RescaleImage
	.global	__aeabi_i2f
	.global	__aeabi_fdiv
	.global	__aeabi_ui2f
	.global	__aeabi_fsub
	.global	__aeabi_fmul
	.global	__aeabi_fadd
	.global	__aeabi_f2d
	.global	__aeabi_dadd
	.global	__aeabi_d2iz
	.global	__aeabi_fcmpge
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	UpsampleImage, %function
UpsampleImage:
	@ args = 12, pretend = 0, frame = 104
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #108
	str	r0, [fp, #-104]
	str	r1, [fp, #-108]
	str	r2, [fp, #-112]
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-112]
	sub	r3, r3, #1
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r4, r0
	ldr	r3, [fp, #4]
	sub	r3, r3, #1
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fdiv
	mov	r3, r0
	str	r3, [fp, #-52]	@ float
	ldr	r3, [fp, #-116]
	sub	r3, r3, #1
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r4, r0
	ldr	r3, [fp, #8]
	sub	r3, r3, #1
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fdiv
	mov	r3, r0
	str	r3, [fp, #-48]	@ float
	mov	r3, #0
	str	r3, [fp, #-72]	@ float
	mov	r3, #0
	str	r3, [fp, #-84]
	mov	r3, #0
	str	r3, [fp, #-96]
	b	.L85
.L98:
	mov	r3, #0
	str	r3, [fp, #-76]	@ float
	ldr	r3, [fp, #-84]
	ldr	r2, [fp, #-112]
	mul	r3, r2, r3
	ldr	r2, [fp, #12]
	mul	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-104]
	add	r3, r3, r2
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-116]
	sub	r3, r3, #1
	ldr	r2, [fp, #-84]
	cmp	r2, r3
	bge	.L86
	ldr	r3, [fp, #-112]
	ldr	r2, [fp, #12]
	mul	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-68]
	add	r3, r3, r2
	b	.L87
.L86:
	ldr	r3, [fp, #-68]
.L87:
	str	r3, [fp, #-60]
	ldr	r3, [fp, #12]
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	str	r3, [fp, #-64]
	ldr	r3, [fp, #12]
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	str	r3, [fp, #-56]
	mov	r3, #0
	str	r3, [fp, #-88]
	mov	r3, #0
	str	r3, [fp, #-100]
	b	.L88
.L95:
	mov	r3, #0
	str	r3, [fp, #-92]
	b	.L89
.L91:
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-68]
	add	r3, r3, #1
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	__aeabi_ui2f
	mov	r3, r0
	str	r3, [fp, #-40]	@ float
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	__aeabi_ui2f
	mov	r3, r0
	str	r3, [fp, #-32]	@ float
	ldr	r1, [fp, #-40]	@ float
	ldr	r0, [fp, #-32]	@ float
	bl	__aeabi_fsub
	mov	r3, r0
	ldr	r1, [fp, #-76]	@ float
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-40]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-28]	@ float
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	__aeabi_ui2f
	mov	r3, r0
	str	r3, [fp, #-40]	@ float
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	__aeabi_ui2f
	mov	r3, r0
	str	r3, [fp, #-32]	@ float
	ldr	r1, [fp, #-40]	@ float
	ldr	r0, [fp, #-32]	@ float
	bl	__aeabi_fsub
	mov	r3, r0
	ldr	r1, [fp, #-76]	@ float
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-40]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-32]	@ float
	ldr	r1, [fp, #-28]	@ float
	ldr	r0, [fp, #-32]	@ float
	bl	__aeabi_fsub
	mov	r3, r0
	ldr	r1, [fp, #-72]	@ float
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-28]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-28]	@ float
	ldr	r0, [fp, #-28]	@ float
	bl	__aeabi_f2d
	mov	r2, #0
	ldr	r3, .L102
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r3, r0
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-80]
	cmp	r3, #255
	ble	.L90
	mov	r3, #255
	str	r3, [fp, #-80]
.L90:
	ldr	r3, [fp, #-108]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-108]
	add	r3, r3, #1
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-80]
	and	r2, r3, #255
	ldr	r3, [fp, #-16]
	strb	r2, [r3]
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	str	r3, [fp, #-92]
.L89:
	ldr	r2, [fp, #-92]
	ldr	r3, [fp, #12]
	cmp	r2, r3
	blt	.L91
	ldr	r1, [fp, #-52]	@ float
	ldr	r0, [fp, #-76]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-76]	@ float
	mov	r1, #1065353216
	ldr	r0, [fp, #-76]	@ float
	bl	__aeabi_fcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L101
	ldr	r3, [fp, #-88]
	add	r3, r3, #1
	str	r3, [fp, #-88]
	mov	r1, #1065353216
	ldr	r0, [fp, #-76]	@ float
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-76]	@ float
	ldr	r3, [fp, #-112]
	sub	r3, r3, #1
	ldr	r2, [fp, #-88]
	cmp	r2, r3
	blt	.L94
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-56]
	b	.L94
.L101:
	ldr	r3, [fp, #12]
	rsb	r3, r3, #0
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	str	r3, [fp, #-68]
	ldr	r3, [fp, #12]
	rsb	r3, r3, #0
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	str	r3, [fp, #-64]
	ldr	r3, [fp, #12]
	rsb	r3, r3, #0
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	str	r3, [fp, #-60]
	ldr	r3, [fp, #12]
	rsb	r3, r3, #0
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	str	r3, [fp, #-56]
.L94:
	ldr	r3, [fp, #-100]
	add	r3, r3, #1
	str	r3, [fp, #-100]
.L88:
	ldr	r2, [fp, #-100]
	ldr	r3, [fp, #4]
	cmp	r2, r3
	blt	.L95
	ldr	r1, [fp, #-48]	@ float
	ldr	r0, [fp, #-72]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-72]	@ float
	mov	r1, #1065353216
	ldr	r0, [fp, #-72]	@ float
	bl	__aeabi_fcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L96
	ldr	r3, [fp, #-84]
	add	r3, r3, #1
	str	r3, [fp, #-84]
	mov	r1, #1065353216
	ldr	r0, [fp, #-72]	@ float
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-72]	@ float
.L96:
	ldr	r3, [fp, #-96]
	add	r3, r3, #1
	str	r3, [fp, #-96]
.L85:
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #8]
	cmp	r2, r3
	blt	.L98
	nop
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L103:
	.align	2
.L102:
	.word	1071644672
	.size	UpsampleImage, .-UpsampleImage
	.align	2
	.global	_glfwAppendThread
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwAppendThread, %function
_glfwAppendThread:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, .L107
	str	r3, [fp, #-8]
	b	.L105
.L106:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
.L105:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L106
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #4]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L108:
	.align	2
.L107:
	.word	_glfwThrd+4
	.size	_glfwAppendThread, .-_glfwAppendThread
	.align	2
	.global	_glfwChooseFBConfig
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwChooseFBConfig, %function
_glfwChooseFBConfig:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #60
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	str	r2, [fp, #-56]
	mvn	r3, #0
	str	r3, [fp, #-32]
	mvn	r3, #0
	str	r3, [fp, #-24]
	mvn	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L110
.L133:
	ldr	r2, [fp, #-40]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-52]
	add	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #44]
	cmp	r3, #0
	ble	.L111
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #44]
	cmp	r3, #0
	beq	.L135
.L111:
	mov	r3, #0
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	ble	.L113
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L113
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L113:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	ble	.L114
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	bne	.L114
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L114:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	ble	.L115
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	bne	.L115
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L115:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #40]
	cmp	r3, #0
	ble	.L116
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #40]
	cmp	r2, r3
	bge	.L116
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #40]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-36]
	add	r3, r3, r2
	str	r3, [fp, #-36]
.L116:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #48]
	cmp	r3, #0
	ble	.L117
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #48]
	cmp	r3, #0
	bne	.L117
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L117:
	mov	r3, #0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L118
	ldr	r3, [fp, #-48]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	sub	r3, r2, r3
	ldr	r2, [fp, #-48]
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2]
	sub	r2, r1, r2
	mul	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	str	r3, [fp, #-28]
.L118:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	ble	.L119
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	sub	r3, r2, r3
	ldr	r2, [fp, #-48]
	ldr	r1, [r2, #4]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #4]
	sub	r2, r1, r2
	mul	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	str	r3, [fp, #-28]
.L119:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	ble	.L120
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	sub	r3, r2, r3
	ldr	r2, [fp, #-48]
	ldr	r1, [r2, #8]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #8]
	sub	r2, r1, r2
	mul	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	str	r3, [fp, #-28]
.L120:
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	ble	.L121
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	sub	r3, r2, r3
	ldr	r2, [fp, #-48]
	ldr	r1, [r2, #12]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #12]
	sub	r2, r1, r2
	mul	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	str	r3, [fp, #-20]
.L121:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	ble	.L122
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	sub	r3, r2, r3
	ldr	r2, [fp, #-48]
	ldr	r1, [r2, #16]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #16]
	sub	r2, r1, r2
	mul	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	str	r3, [fp, #-20]
.L122:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	ble	.L123
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	sub	r3, r2, r3
	ldr	r2, [fp, #-48]
	ldr	r1, [r2, #20]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #20]
	sub	r2, r1, r2
	mul	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	str	r3, [fp, #-20]
.L123:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	ble	.L124
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #24]
	sub	r3, r2, r3
	ldr	r2, [fp, #-48]
	ldr	r1, [r2, #24]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #24]
	sub	r2, r1, r2
	mul	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	str	r3, [fp, #-20]
.L124:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	ble	.L125
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #28]
	sub	r3, r2, r3
	ldr	r2, [fp, #-48]
	ldr	r1, [r2, #28]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #28]
	sub	r2, r1, r2
	mul	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	str	r3, [fp, #-20]
.L125:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	ble	.L126
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #32]
	sub	r3, r2, r3
	ldr	r2, [fp, #-48]
	ldr	r1, [r2, #32]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #32]
	sub	r2, r1, r2
	mul	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	str	r3, [fp, #-20]
.L126:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	ble	.L127
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #36]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #36]
	sub	r3, r2, r3
	ldr	r2, [fp, #-48]
	ldr	r1, [r2, #36]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #36]
	sub	r2, r1, r2
	mul	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	str	r3, [fp, #-20]
.L127:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #48]
	cmp	r3, #0
	ble	.L128
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #48]
	sub	r3, r2, r3
	ldr	r2, [fp, #-48]
	ldr	r1, [r2, #48]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #48]
	sub	r2, r1, r2
	mul	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	str	r3, [fp, #-20]
.L128:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	bcs	.L129
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-12]
	b	.L130
.L129:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	bne	.L130
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	bne	.L131
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bcc	.L132
.L131:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	bcs	.L130
.L132:
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-12]
.L130:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	bne	.L136
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-16]
	b	.L112
.L135:
	nop
	b	.L112
.L136:
	nop
.L112:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L110:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-56]
	cmp	r2, r3
	bcc	.L133
	ldr	r3, [fp, #-12]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	_glfwChooseFBConfig, .-_glfwChooseFBConfig
	.align	2
	.global	_glfwClearInput
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwClearInput, %function
_glfwClearInput:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L138
.L139:
	ldr	r2, .L142
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	add	r3, r3, #20
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L138:
	ldr	r3, [fp, #-8]
	ldr	r2, .L142+4
	cmp	r3, r2
	ble	.L139
	ldr	r3, .L142
	mov	r2, #0
	str	r2, [r3, #348]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L140
.L141:
	ldr	r2, .L142
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	add	r3, r3, #12
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L140:
	ldr	r3, [fp, #-8]
	cmp	r3, #7
	ble	.L141
	ldr	r3, .L142
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L142
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, .L142
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, .L142
	mov	r2, #0
	str	r2, [r3, #352]
	ldr	r3, .L142
	mov	r2, #0
	str	r2, [r3, #356]
	ldr	r3, .L142
	mov	r2, #0
	str	r2, [r3, #360]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L143:
	.align	2
.L142:
	.word	_glfwInput
	.word	325
	.size	_glfwClearInput, .-_glfwClearInput
	.align	2
	.global	_glfwClearWindowHints
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwClearWindowHints, %function
_glfwClearWindowHints:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	mov	r2, #56
	mov	r1, #0
	ldr	r0, .L145
	bl	memset
	ldr	r3, .L145
	mov	r2, #1
	str	r2, [r3, #36]
	nop
	pop	{fp, pc}
.L146:
	.align	2
.L145:
	.word	_glfwLibrary
	.size	_glfwClearWindowHints, .-_glfwClearWindowHints
	.align	2
	.global	_glfwCloseStream
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwCloseStream, %function
_glfwCloseStream:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L148
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	bl	fclose
.L148:
	mov	r2, #16
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	memset
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	_glfwCloseStream, .-_glfwCloseStream
	.section	.rodata
	.align	2
.LC2:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	_glfwGetClosestVideoMode
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwGetClosestVideoMode, %function
_glfwGetClosestVideoMode:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	str	r2, [fp, #-64]
	str	r3, [fp, #-68]
	ldr	r3, .L164
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L164+4
	ldr	r3, [r3, #108]
	cmp	r3, #0
	beq	.L162
	ldr	r3, .L164+4
	ldr	r0, [r3, #76]
	ldr	r3, .L164+4
	ldr	r3, [r3, #76]
	ldr	r1, [r3, #140]
	ldr	r2, [fp, #-56]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #4
	add	r3, r1, r3
	ldr	r3, [r3, #8]
	mov	r1, r3
	bl	XRRGetScreenInfo
	str	r0, [fp, #-24]
	sub	r3, fp, #48
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	XRRConfigSizes
	str	r0, [fp, #-20]
	mvn	r3, #0
	str	r3, [fp, #-32]
	mvn	r3, #-2147483648
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L151
.L153:
	ldr	r3, [fp, #-60]
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #4
	ldr	r1, [fp, #-20]
	add	r3, r1, r3
	ldr	r3, [r3]
	sub	r3, r2, r3
	ldr	r2, [fp, #-60]
	ldr	r1, [r2]
	ldr	r2, [fp, #-40]
	lsl	r2, r2, #4
	ldr	r0, [fp, #-20]
	add	r2, r0, r2
	ldr	r2, [r2]
	sub	r2, r1, r2
	mul	r2, r3, r2
	ldr	r3, [fp, #-64]
	ldr	r1, [r3]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #4
	ldr	r0, [fp, #-20]
	add	r3, r0, r3
	ldr	r3, [r3, #4]
	sub	r3, r1, r3
	ldr	r1, [fp, #-64]
	ldr	r0, [r1]
	ldr	r1, [fp, #-40]
	lsl	r1, r1, #4
	ldr	ip, [fp, #-20]
	add	r1, ip, r1
	ldr	r1, [r1, #4]
	sub	r1, r0, r1
	mul	r3, r1, r3
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	bge	.L152
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-32]
.L152:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L151:
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	blt	.L153
	ldr	r3, [fp, #-32]
	cmn	r3, #1
	beq	.L154
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #4
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-64]
	str	r2, [r3]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L154
	sub	r3, fp, #44
	mov	r2, r3
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-24]
	bl	XRRConfigRates
	str	r0, [fp, #-16]
	mvn	r3, #0
	str	r3, [fp, #-28]
	mvn	r3, #-2147483648
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L155
.L157:
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-68]
	ldr	r3, [r3]
	sub	r3, r2, r3
	cmp	r3, #0
	rsblt	r3, r3, #0
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	bge	.L156
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-28]
.L156:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L155:
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	blt	.L157
	ldr	r3, [fp, #-28]
	cmn	r3, #1
	beq	.L154
	ldr	r3, [fp, #-68]
	ldr	r2, [fp, #-28]
	str	r2, [r3]
.L154:
	ldr	r0, [fp, #-24]
	bl	XRRFreeScreenConfigInfo
	ldr	r3, [fp, #-32]
	cmn	r3, #1
	beq	.L163
	ldr	r3, [fp, #-32]
	b	.L160
.L162:
	nop
	b	.L150
.L163:
	nop
.L150:
	ldr	r3, .L164+4
	ldr	r3, [r3, #76]
	ldr	r1, [r3, #140]
	ldr	r2, [fp, #-56]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #4
	add	r3, r1, r3
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-60]
	str	r2, [r3]
	ldr	r3, .L164+4
	ldr	r3, [r3, #76]
	ldr	r1, [r3, #140]
	ldr	r2, [fp, #-56]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #4
	add	r3, r1, r3
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-64]
	str	r2, [r3]
	mov	r3, #0
.L160:
	ldr	r2, .L164
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L161
	bl	__stack_chk_fail
.L161:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L165:
	.align	2
.L164:
	.word	.LC2
	.word	_glfwLibrary
	.size	_glfwGetClosestVideoMode, .-_glfwGetClosestVideoMode
	.align	2
	.global	_glfwGetThreadPointer
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwGetThreadPointer, %function
_glfwGetThreadPointer:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, .L173
	str	r3, [fp, #-8]
	b	.L167
.L170:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L172
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
.L167:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L170
	b	.L169
.L172:
	nop
.L169:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L174:
	.align	2
.L173:
	.word	_glfwThrd+4
	.size	_glfwGetThreadPointer, .-_glfwGetThreadPointer
	.section	.rodata
	.align	2
.LC3:
	.ascii	"/dev/input/js\000"
	.align	2
.LC4:
	.ascii	"/dev/js\000"
	.align	2
.LC5:
	.ascii	"%s%d\000"
	.align	2
.LC6:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	_glfwInitJoysticks
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwInitJoysticks, %function
_glfwInitJoysticks:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	ldr	r3, .L199
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #2048
	str	r3, [fp, #-64]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L176
.L177:
	ldr	r1, .L199+4
	ldr	r2, [fp, #-44]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L176:
	ldr	r3, [fp, #-44]
	cmp	r3, #15
	ble	.L177
	mov	r3, #0
	str	r3, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-60]
	b	.L178
.L195:
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L179
	ldr	r3, [fp, #-60]
	cmp	r3, #1
	beq	.L180
	b	.L183
.L179:
	ldr	r3, .L199+8
	str	r3, [fp, #-48]
	b	.L182
.L180:
	ldr	r3, .L199+12
	str	r3, [fp, #-48]
	nop
.L182:
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L184
.L193:
	sub	r0, fp, #28
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-48]
	ldr	r1, .L199+16
	bl	sprintf
	sub	r3, fp, #28
	mov	r1, #2048
	mov	r0, r3
	bl	open
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmn	r3, #1
	beq	.L185
	ldr	r1, .L199+4
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r2, [fp, #-40]
	str	r2, [r3]
	sub	r3, fp, #64
	mov	r2, r3
	ldr	r1, .L199+20
	ldr	r0, [fp, #-40]
	bl	ioctl
	ldr	r3, [fp, #-64]
	cmp	r3, #65536
	bge	.L186
	ldr	r0, [fp, #-40]
	bl	close
	b	.L185
.L186:
	sub	r3, fp, #65
	mov	r2, r3
	ldr	r1, .L199+24
	ldr	r0, [fp, #-40]
	bl	ioctl
	ldrb	r3, [fp, #-65]	@ zero_extendqisi2
	mov	r0, r3
	ldr	r1, .L199+4
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #8
	str	r0, [r3]
	sub	r3, fp, #65
	mov	r2, r3
	ldr	r1, .L199+28
	ldr	r0, [fp, #-40]
	bl	ioctl
	ldrb	r3, [fp, #-65]	@ zero_extendqisi2
	mov	r0, r3
	ldr	r1, .L199+4
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #12
	str	r0, [r3]
	ldr	r1, .L199+4
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #8
	ldr	r3, [r3]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-36]
	ldr	r1, .L199+4
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #16
	ldr	r2, [fp, #-36]
	str	r2, [r3]
	ldr	r1, .L199+4
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #16
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L187
	ldr	r0, [fp, #-40]
	bl	close
	b	.L185
.L187:
	ldr	r1, .L199+4
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #12
	ldr	r3, [r3]
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-32]
	ldr	r1, .L199+4
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #20
	ldr	r2, [fp, #-32]
	str	r2, [r3]
	ldr	r1, .L199+4
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #20
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L188
	ldr	r1, .L199+4
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #16
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r0, [fp, #-40]
	bl	close
	b	.L185
.L188:
	mov	r3, #0
	str	r3, [fp, #-56]
	b	.L189
.L190:
	ldr	r1, .L199+4
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #16
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L189:
	ldr	r1, .L199+4
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #8
	ldr	r3, [r3]
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	blt	.L190
	mov	r3, #0
	str	r3, [fp, #-56]
	b	.L191
.L192:
	ldr	r1, .L199+4
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #20
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L191:
	ldr	r1, .L199+4
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #12
	ldr	r3, [r3]
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	blt	.L192
	ldr	r1, .L199+4
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L185:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L184:
	ldr	r3, [fp, #-44]
	cmp	r3, #50
	bgt	.L197
	ldr	r3, [fp, #-52]
	cmp	r3, #15
	ble	.L193
.L197:
	nop
.L183:
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
.L178:
	ldr	r3, [fp, #-52]
	cmp	r3, #15
	bgt	.L198
	ldr	r3, [fp, #-60]
	cmp	r3, #1
	ble	.L195
.L198:
	nop
	ldr	r3, .L199
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L196
	bl	__stack_chk_fail
.L196:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L200:
	.align	2
.L199:
	.word	.LC6
	.word	_glfwJoy
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.word	-2147194367
	.word	-2147390959
	.word	-2147390958
	.size	_glfwInitJoysticks, .-_glfwInitJoysticks
	.section	.rodata
	.align	2
.LC7:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	_glfwInitTimer
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwInitTimer, %function
_glfwInitTimer:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	ldr	r3, .L205
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #16
	mov	r1, r3
	mov	r0, #1
	bl	clock_gettime
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L202
	ldr	r3, .L205+4
	mov	r2, #1
	strb	r2, [r3, #120]
	ldr	r1, .L205+4
	ldr	r2, .L205+8
	ldr	r3, .L205+12
	str	r2, [r1, #128]
	str	r3, [r1, #132]
	b	.L203
.L202:
	ldr	r1, .L205+4
	ldr	r2, .L205+16
	ldr	r3, .L205+20
	str	r2, [r1, #128]
	str	r3, [r1, #132]
.L203:
	bl	getRawTime
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	mov	r2, r3
	mov	r3, #0
	ldr	r1, .L205+4
	str	r2, [r1, #136]
	str	r3, [r1, #140]
	nop
	ldr	r3, .L205
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L204
	bl	__stack_chk_fail
.L204:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L206:
	.align	2
.L205:
	.word	.LC7
	.word	_glfwLibrary
	.word	-400107883
	.word	1041313291
	.word	-1598689907
	.word	1051772663
	.size	_glfwInitTimer, .-_glfwInitTimer
	.align	2
	.global	_glfwInputChar
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwInputChar, %function
_glfwInputChar:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r3, #159
	bgt	.L208
	ldr	r3, [fp, #-16]
	cmp	r3, #126
	bgt	.L214
	ldr	r3, [fp, #-16]
	cmp	r3, #31
	ble	.L214
.L208:
	ldr	r3, .L215
	ldr	r3, [r3, #348]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bne	.L210
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	bne	.L210
	mov	r3, #1
	str	r3, [fp, #-8]
.L210:
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	bne	.L211
	ldr	r2, .L215
	ldr	r3, [fp, #-16]
	str	r3, [r2, #348]
	b	.L212
.L211:
	ldr	r3, .L215
	mov	r2, #0
	str	r2, [r3, #348]
.L212:
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	bne	.L214
	ldr	r3, .L215+4
	ldr	r3, [r3, #28]
	cmp	r3, #0
	beq	.L214
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L213
	ldr	r3, .L215
	ldr	r3, [r3, #360]
	cmp	r3, #0
	beq	.L214
.L213:
	ldr	r3, .L215+4
	ldr	r3, [r3, #28]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	blx	r3
.L214:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L216:
	.align	2
.L215:
	.word	_glfwInput
	.word	_glfwWin
	.size	_glfwInputChar, .-_glfwInputChar
	.align	2
	.global	_glfwInputDeactivation
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwInputDeactivation, %function
_glfwInputDeactivation:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L218
.L220:
	ldr	r2, .L224
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	add	r3, r3, #20
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L219
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	_glfwInputKey
.L219:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L218:
	ldr	r3, [fp, #-8]
	ldr	r2, .L224+4
	cmp	r3, r2
	ble	.L220
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L221
.L223:
	ldr	r2, .L224
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	add	r3, r3, #12
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L222
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	_glfwInputMouseClick
.L222:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L221:
	ldr	r3, [fp, #-8]
	cmp	r3, #7
	ble	.L223
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L225:
	.align	2
.L224:
	.word	_glfwInput
	.word	325
	.size	_glfwInputDeactivation, .-_glfwInputDeactivation
	.align	2
	.global	_glfwInputKey
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwInputKey, %function
_glfwInputKey:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r2, .L236
	cmp	r3, r2
	bgt	.L234
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	blt	.L234
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L235
	ldr	r2, .L236+4
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	add	r3, r3, #20
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L234
	b	.L228
.L235:
	nop
.L228:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L229
	ldr	r3, .L236+4
	ldr	r3, [r3, #352]
	cmp	r3, #0
	beq	.L229
	ldr	r2, .L236+4
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	add	r3, r3, #20
	mov	r2, #2
	strb	r2, [r3]
	b	.L230
.L229:
	ldr	r2, .L236+4
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	add	r3, r3, #20
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L231
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	bne	.L231
	mov	r3, #1
	b	.L232
.L231:
	mov	r3, #0
.L232:
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	and	r1, r3, #255
	ldr	r2, .L236+4
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	add	r3, r3, #20
	mov	r2, r1
	strb	r2, [r3]
.L230:
	ldr	r3, .L236+8
	ldr	r3, [r3, #24]
	cmp	r3, #0
	beq	.L234
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L233
	ldr	r3, .L236+4
	ldr	r3, [r3, #360]
	cmp	r3, #0
	beq	.L234
.L233:
	ldr	r3, .L236+8
	ldr	r3, [r3, #24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	blx	r3
.L234:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L237:
	.align	2
.L236:
	.word	325
	.word	_glfwInput
	.word	_glfwWin
	.size	_glfwInputKey, .-_glfwInputKey
	.align	2
	.global	_glfwInputMouseClick
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwInputMouseClick, %function
_glfwInputMouseClick:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	blt	.L242
	ldr	r3, [fp, #-8]
	cmp	r3, #7
	bgt	.L242
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L240
	ldr	r3, .L243
	ldr	r3, [r3, #356]
	cmp	r3, #0
	beq	.L240
	ldr	r2, .L243
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	add	r3, r3, #12
	mov	r2, #2
	strb	r2, [r3]
	b	.L241
.L240:
	ldr	r3, [fp, #-12]
	and	r1, r3, #255
	ldr	r2, .L243
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	add	r3, r3, #12
	mov	r2, r1
	strb	r2, [r3]
.L241:
	ldr	r3, .L243+4
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L242
	ldr	r3, .L243+4
	ldr	r3, [r3, #12]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	blx	r3
.L242:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L244:
	.align	2
.L243:
	.word	_glfwInput
	.word	_glfwWin
	.size	_glfwInputMouseClick, .-_glfwInputMouseClick
	.align	2
	.global	_glfwKeySym2Unicode
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwKeySym2Unicode, %function
_glfwKeySym2Unicode:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, .L255
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	cmp	r3, #31
	bls	.L246
	ldr	r3, [fp, #-24]
	cmp	r3, #126
	bls	.L247
.L246:
	ldr	r3, [fp, #-24]
	cmp	r3, #159
	bls	.L248
	ldr	r3, [fp, #-24]
	cmp	r3, #255
	bhi	.L248
.L247:
	ldr	r3, [fp, #-24]
	b	.L249
.L248:
	ldr	r3, [fp, #-24]
	and	r3, r3, #-16777216
	cmp	r3, #16777216
	bne	.L251
	ldr	r3, [fp, #-24]
	bic	r3, r3, #-16777216
	b	.L249
.L254:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r2, .L255+4
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-24]
	cmp	r3, r2
	bls	.L252
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L251
.L252:
	ldr	r2, .L255+4
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-24]
	cmp	r3, r2
	bcs	.L253
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
	b	.L251
.L253:
	ldr	r2, .L255+4
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, #2
	ldrh	r3, [r3]
	b	.L249
.L251:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bge	.L254
	mvn	r3, #0
.L249:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L256:
	.align	2
.L255:
	.word	775
	.word	keysymtab
	.size	_glfwKeySym2Unicode, .-_glfwKeySym2Unicode
	.align	2
	.global	_glfwNewThread
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwNewThread, %function
_glfwNewThread:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	bl	pthread_self
	str	r0, [fp, #-12]
	ldr	r0, .L265
	bl	pthread_mutex_lock
	ldr	r3, .L265+4
	str	r3, [fp, #-16]
	b	.L258
.L261:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	beq	.L264
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
.L258:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L261
	b	.L260
.L264:
	nop
.L260:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L262
	ldr	r0, .L265
	bl	pthread_mutex_unlock
	mov	r3, #0
	b	.L263
.L262:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-8]
	ldr	r0, .L265
	bl	pthread_mutex_unlock
	ldr	r3, [fp, #-8]
	ldr	r0, [fp, #-24]
	blx	r3
	ldr	r0, .L265
	bl	pthread_mutex_lock
	ldr	r0, [fp, #-16]
	bl	_glfwRemoveThread
	ldr	r0, .L265
	bl	pthread_mutex_unlock
	mov	r3, #0
.L263:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L266:
	.align	2
.L265:
	.word	_glfwThrd+24
	.word	_glfwThrd+4
	.size	_glfwNewThread, .-_glfwNewThread
	.align	2
	.global	_glfwOpenBufferStream
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwOpenBufferStream, %function
_glfwOpenBufferStream:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	mov	r2, #16
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	memset
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #12]
	mov	r3, #1
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	_glfwOpenBufferStream, .-_glfwOpenBufferStream
	.align	2
	.global	_glfwOpenFileStream
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwOpenFileStream, %function
_glfwOpenFileStream:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	mov	r2, #16
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	memset
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-12]
	bl	fopen
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L270
	mov	r3, #0
	b	.L271
.L270:
	mov	r3, #1
.L271:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	_glfwOpenFileStream, .-_glfwOpenFileStream
	.align	2
	.global	_glfwParseGLVersion
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwParseGLVersion, %function
_glfwParseGLVersion:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r0, .L295
	bl	glGetString
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L291
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-24]
.L278:
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L274
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #57
	movls	r3, #1
	movhi	r3, #0
	strb	r3, [fp, #-27]
	b	.L275
.L274:
	mov	r3, #0
	strb	r3, [fp, #-27]
.L275:
	ldrb	r3, [fp, #-27]
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L292
	ldr	r2, [fp, #-24]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r2, r3
	sub	r3, r3, #48
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	b	.L278
.L292:
	nop
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L279
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-20]
.L284:
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L280
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #57
	movls	r3, #1
	movhi	r3, #0
	strb	r3, [fp, #-26]
	b	.L281
.L280:
	mov	r3, #0
	strb	r3, [fp, #-26]
.L281:
	ldrb	r3, [fp, #-26]
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L293
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r2, r3
	sub	r3, r3, #48
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	b	.L284
.L293:
	nop
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L279
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-16]
.L288:
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L285
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #57
	movls	r3, #1
	movhi	r3, #0
	strb	r3, [fp, #-25]
	b	.L286
.L285:
	mov	r3, #0
	strb	r3, [fp, #-25]
.L286:
	ldrb	r3, [fp, #-25]
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L294
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r2, r3
	sub	r3, r3, #48
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	b	.L288
.L294:
	nop
.L279:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-32]
	str	r2, [r3]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-36]
	str	r2, [r3]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-40]
	str	r2, [r3]
.L291:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L296:
	.align	2
.L295:
	.word	7938
	.size	_glfwParseGLVersion, .-_glfwParseGLVersion
	.align	2
	.global	_glfwPlatformBroadcastCond
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformBroadcastCond, %function
_glfwPlatformBroadcastCond:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	pthread_cond_broadcast
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	_glfwPlatformBroadcastCond, .-_glfwPlatformBroadcastCond
	.align	2
	.global	_glfwPlatformCloseWindow
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformCloseWindow, %function
_glfwPlatformCloseWindow:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L305
	ldr	r3, [r3, #32]
	cmp	r3, #0
	beq	.L299
	bl	leaveFullscreenMode
.L299:
	ldr	r3, .L305
	ldr	r3, [r3, #192]
	cmp	r3, #0
	beq	.L300
	ldr	r3, .L305+4
	ldr	r3, [r3, #76]
	mov	r2, #0
	mov	r1, #0
	mov	r0, r3
	bl	glXMakeCurrent
	ldr	r3, .L305+4
	ldr	r3, [r3, #76]
	ldr	r2, .L305
	ldr	r2, [r2, #192]
	mov	r1, r2
	mov	r0, r3
	bl	glXDestroyContext
	ldr	r3, .L305
	mov	r2, #0
	str	r2, [r3, #192]
.L300:
	ldr	r3, .L305
	ldr	r3, [r3, #184]
	cmp	r3, #0
	beq	.L301
	ldr	r3, .L305
	ldr	r3, [r3, #184]
	mov	r0, r3
	bl	XFree
	ldr	r3, .L305
	mov	r2, #0
	str	r2, [r3, #184]
.L301:
	ldr	r3, .L305
	ldr	r3, [r3, #172]
	cmp	r3, #0
	beq	.L302
	ldr	r3, .L305+4
	ldr	r3, [r3, #76]
	ldr	r2, .L305
	ldr	r2, [r2, #172]
	mov	r1, r2
	mov	r0, r3
	bl	XUnmapWindow
	ldr	r3, .L305+4
	ldr	r3, [r3, #76]
	ldr	r2, .L305
	ldr	r2, [r2, #172]
	mov	r1, r2
	mov	r0, r3
	bl	XDestroyWindow
	ldr	r3, .L305
	mov	r2, #0
	str	r2, [r3, #172]
.L302:
	ldr	r3, .L305
	ldr	r3, [r3, #168]
	cmp	r3, #0
	beq	.L303
	ldr	r3, .L305+4
	ldr	r3, [r3, #76]
	ldr	r2, .L305
	ldr	r2, [r2, #168]
	mov	r1, r2
	mov	r0, r3
	bl	XFreeColormap
	ldr	r3, .L305
	mov	r2, #0
	str	r2, [r3, #168]
.L303:
	ldr	r3, .L305
	ldr	r3, [r3, #216]
	cmp	r3, #0
	beq	.L304
	ldr	r3, .L305+4
	ldr	r3, [r3, #76]
	ldr	r2, .L305
	ldr	r2, [r2, #216]
	mov	r1, r2
	mov	r0, r3
	bl	XFreeCursor
	ldr	r3, .L305
	mov	r2, #0
	str	r2, [r3, #216]
.L304:
	ldr	r3, .L305+4
	ldr	r3, [r3, #76]
	mov	r0, r3
	bl	XFlush
	nop
	pop	{fp, pc}
.L306:
	.align	2
.L305:
	.word	_glfwWin
	.word	_glfwLibrary
	.size	_glfwPlatformCloseWindow, .-_glfwPlatformCloseWindow
	.align	2
	.global	_glfwPlatformCreateCond
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformCreateCond, %function
_glfwPlatformCreateCond:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r0, #48
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L308
	mov	r3, #0
	b	.L309
.L308:
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	pthread_cond_init
	ldr	r3, [fp, #-8]
.L309:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	_glfwPlatformCreateCond, .-_glfwPlatformCreateCond
	.align	2
	.global	_glfwPlatformCreateMutex
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformCreateMutex, %function
_glfwPlatformCreateMutex:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r0, #40
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L311
	mov	r3, #0
	b	.L312
.L311:
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	pthread_mutex_init
	ldr	r3, [fp, #-8]
.L312:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	_glfwPlatformCreateMutex, .-_glfwPlatformCreateMutex
	.align	2
	.global	_glfwPlatformCreateThread
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformCreateThread, %function
_glfwPlatformCreateThread:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r0, .L317
	bl	pthread_mutex_lock
	mov	r0, #20
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L314
	ldr	r0, .L317
	bl	pthread_mutex_unlock
	mvn	r3, #0
	b	.L315
.L314:
	ldr	r3, .L317+4
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, .L317+4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L317+4
	str	r3, [r2]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-32]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	add	r0, r3, #16
	ldr	r3, [fp, #-36]
	ldr	r2, .L317+8
	mov	r1, #0
	bl	pthread_create
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L316
	ldr	r0, [fp, #-20]
	bl	free
	ldr	r0, .L317
	bl	pthread_mutex_unlock
	mvn	r3, #0
	b	.L315
.L316:
	ldr	r0, [fp, #-20]
	bl	_glfwAppendThread
	ldr	r0, .L317
	bl	pthread_mutex_unlock
	ldr	r3, [fp, #-12]
.L315:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L318:
	.align	2
.L317:
	.word	_glfwThrd+24
	.word	_glfwThrd
	.word	_glfwNewThread
	.size	_glfwPlatformCreateThread, .-_glfwPlatformCreateThread
	.align	2
	.global	_glfwPlatformDestroyCond
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformDestroyCond, %function
_glfwPlatformDestroyCond:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	pthread_cond_destroy
	ldr	r0, [fp, #-8]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	_glfwPlatformDestroyCond, .-_glfwPlatformDestroyCond
	.align	2
	.global	_glfwPlatformDestroyMutex
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformDestroyMutex, %function
_glfwPlatformDestroyMutex:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	pthread_mutex_destroy
	ldr	r0, [fp, #-8]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	_glfwPlatformDestroyMutex, .-_glfwPlatformDestroyMutex
	.align	2
	.global	_glfwPlatformDestroyThread
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformDestroyThread, %function
_glfwPlatformDestroyThread:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r0, .L325
	bl	pthread_mutex_lock
	ldr	r0, [fp, #-16]
	bl	_glfwGetThreadPointer
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L322
	ldr	r0, .L325
	bl	pthread_mutex_unlock
	b	.L324
.L322:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	mov	r1, #9
	mov	r0, r3
	bl	pthread_kill
	ldr	r0, [fp, #-8]
	bl	_glfwRemoveThread
	ldr	r0, .L325
	bl	pthread_mutex_unlock
.L324:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L326:
	.align	2
.L325:
	.word	_glfwThrd+24
	.size	_glfwPlatformDestroyThread, .-_glfwPlatformDestroyThread
	.align	2
	.global	_glfwPlatformDisableSystemKeys
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformDisableSystemKeys, %function
_glfwPlatformDisableSystemKeys:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, .L330
	ldr	r0, [r3, #76]
	ldr	r3, .L330+4
	ldr	r1, [r3, #172]
	mov	r3, #0
	str	r3, [sp, #4]
	mov	r3, #1
	str	r3, [sp]
	mov	r3, #1
	mov	r2, #1
	bl	XGrabKeyboard
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L329
	ldr	r3, .L330+4
	mov	r2, #1
	strb	r2, [r3, #261]
.L329:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L331:
	.align	2
.L330:
	.word	_glfwLibrary
	.word	_glfwWin
	.size	_glfwPlatformDisableSystemKeys, .-_glfwPlatformDisableSystemKeys
	.align	2
	.global	_glfwPlatformEnableSystemKeys
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformEnableSystemKeys, %function
_glfwPlatformEnableSystemKeys:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L335
	ldrb	r3, [r3, #261]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L334
	ldr	r3, .L335+4
	ldr	r3, [r3, #76]
	mov	r1, #0
	mov	r0, r3
	bl	XUngrabKeyboard
	ldr	r3, .L335
	mov	r2, #0
	strb	r2, [r3, #261]
.L334:
	nop
	pop	{fp, pc}
.L336:
	.align	2
.L335:
	.word	_glfwWin
	.word	_glfwLibrary
	.size	_glfwPlatformEnableSystemKeys, .-_glfwPlatformEnableSystemKeys
	.align	2
	.global	_glfwPlatformExtensionSupported
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformExtensionSupported, %function
_glfwPlatformExtensionSupported:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	ldr	r3, .L340
	ldr	r3, [r3, #76]
	ldr	r2, .L340+4
	ldr	r2, [r2, #180]
	mov	r1, r2
	mov	r0, r3
	bl	glXQueryExtensionsString
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L338
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	_glfwStringInExtensionString
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L338
	mov	r3, #1
	b	.L339
.L338:
	mov	r3, #0
.L339:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L341:
	.align	2
.L340:
	.word	_glfwLibrary
	.word	_glfwWin
	.size	_glfwPlatformExtensionSupported, .-_glfwPlatformExtensionSupported
	.align	2
	.global	_glfwPlatformGetDesktopMode
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformGetDesktopMode, %function
_glfwPlatformGetDesktopMode:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	ldr	r3, .L349
	ldr	r3, [r3, #76]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #132]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r1, [r3, #140]
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #4
	add	r3, r1, r3
	ldr	r3, [r3, #36]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-24]
	add	r1, r3, #8
	ldr	r3, [fp, #-24]
	add	r2, r3, #16
	ldr	r3, [fp, #-24]
	add	r3, r3, #12
	ldr	r0, [fp, #-8]
	bl	BPP2RGB
	ldr	r3, .L349
	ldr	r3, [r3, #108]
	cmp	r3, #0
	beq	.L346
	ldr	r3, .L349+4
	ldr	r3, [r3, #284]
	cmp	r3, #0
	beq	.L347
	ldr	r3, .L349+4
	ldr	r2, [r3, #292]
	ldr	r3, [fp, #-24]
	str	r2, [r3]
	ldr	r3, .L349+4
	ldr	r2, [r3, #296]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #4]
	b	.L348
.L346:
	nop
	b	.L343
.L347:
	nop
.L343:
	ldr	r3, [fp, #-16]
	ldr	r1, [r3, #140]
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #4
	add	r3, r1, r3
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r1, [r3, #140]
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #4
	add	r3, r1, r3
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #4]
.L348:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L350:
	.align	2
.L349:
	.word	_glfwLibrary
	.word	_glfwWin
	.size	_glfwPlatformGetDesktopMode, .-_glfwPlatformGetDesktopMode
	.align	2
	.global	_glfwPlatformGetJoystickButtons
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformGetJoystickButtons, %function
_glfwPlatformGetJoystickButtons:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r1, .L357
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L352
	mov	r3, #0
	b	.L353
.L352:
	bl	pollJoystickEvents
	ldr	r1, .L357
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #12
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	ble	.L354
	ldr	r1, .L357
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #12
	ldr	r3, [r3]
	str	r3, [fp, #-24]
.L354:
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L355
.L356:
	ldr	r1, .L357
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #20
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	ldr	r1, [fp, #-20]
	add	r3, r1, r3
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L355:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L356
	ldr	r3, [fp, #-24]
.L353:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L358:
	.align	2
.L357:
	.word	_glfwJoy
	.size	_glfwPlatformGetJoystickButtons, .-_glfwPlatformGetJoystickButtons
	.align	2
	.global	_glfwPlatformGetJoystickParam
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformGetJoystickParam, %function
_glfwPlatformGetJoystickParam:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r1, .L366
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L360
	mov	r3, #0
	b	.L361
.L360:
	ldr	r3, [fp, #-12]
	ldr	r2, .L366+4
	cmp	r3, r2
	beq	.L362
	ldr	r3, [fp, #-12]
	ldr	r2, .L366+4
	cmp	r3, r2
	bgt	.L363
	ldr	r3, [fp, #-12]
	ldr	r2, .L366+8
	cmp	r3, r2
	beq	.L364
	ldr	r3, [fp, #-12]
	ldr	r2, .L366+12
	cmp	r3, r2
	beq	.L365
	b	.L363
.L364:
	mov	r3, #1
	b	.L361
.L365:
	ldr	r1, .L366
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #8
	ldr	r3, [r3]
	b	.L361
.L362:
	ldr	r1, .L366
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #12
	ldr	r3, [r3]
	b	.L361
.L363:
	mov	r3, #0
.L361:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L367:
	.align	2
.L366:
	.word	_glfwJoy
	.word	327683
	.word	327681
	.word	327682
	.size	_glfwPlatformGetJoystickParam, .-_glfwPlatformGetJoystickParam
	.align	2
	.global	_glfwPlatformGetJoystickPos
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformGetJoystickPos, %function
_glfwPlatformGetJoystickPos:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r1, .L374
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L369
	mov	r3, #0
	b	.L370
.L369:
	bl	pollJoystickEvents
	ldr	r1, .L374
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #8
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	ble	.L371
	ldr	r1, .L374
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #8
	ldr	r3, [r3]
	str	r3, [fp, #-24]
.L371:
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L372
.L373:
	ldr	r1, .L374
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #16
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-20]
	add	r3, r1, r3
	ldr	r2, [r2]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L372:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L373
	ldr	r3, [fp, #-24]
.L370:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L375:
	.align	2
.L374:
	.word	_glfwJoy
	.size	_glfwPlatformGetJoystickPos, .-_glfwPlatformGetJoystickPos
	.align	2
	.global	_glfwPlatformGetNumberOfProcessors
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformGetNumberOfProcessors, %function
_glfwPlatformGetNumberOfProcessors:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r0, #84
	bl	sysconf
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	_glfwPlatformGetNumberOfProcessors, .-_glfwPlatformGetNumberOfProcessors
	.align	2
	.global	_glfwPlatformGetProcAddress
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformGetProcAddress, %function
_glfwPlatformGetProcAddress:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-16]
	bl	glXGetProcAddress
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	_glfwPlatformGetProcAddress, .-_glfwPlatformGetProcAddress
	.align	2
	.global	_glfwPlatformGetThreadID
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformGetThreadID, %function
_glfwPlatformGetThreadID:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	mvn	r3, #0
	str	r3, [fp, #-12]
	bl	pthread_self
	str	r0, [fp, #-8]
	ldr	r0, .L386
	bl	pthread_mutex_lock
	ldr	r3, .L386+4
	str	r3, [fp, #-16]
	b	.L381
.L384:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bne	.L382
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-12]
	b	.L383
.L382:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
.L381:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L384
.L383:
	ldr	r0, .L386
	bl	pthread_mutex_unlock
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L387:
	.align	2
.L386:
	.word	_glfwThrd+24
	.word	_glfwThrd+4
	.size	_glfwPlatformGetThreadID, .-_glfwPlatformGetThreadID
	.global	__aeabi_ui2d
	.global	__aeabi_dmul
	.align	2
	.global	_glfwPlatformGetTime
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformGetTime, %function
_glfwPlatformGetTime:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	bl	getRawTime
	str	r0, [fp, #-8]
	ldr	r3, .L390
	add	r3, r3, #136
	ldmia	r3, {r2-r3}
	ldr	r3, [fp, #-8]
	sub	r3, r3, r2
	mov	r0, r3
	bl	__aeabi_ui2d
	ldr	r3, .L390
	add	r3, r3, #128
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L391:
	.align	2
.L390:
	.word	_glfwLibrary
	.size	_glfwPlatformGetTime, .-_glfwPlatformGetTime
	.section	.rodata
	.align	2
.LC8:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	_glfwPlatformGetVideoModes
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformGetVideoModes, %function
_glfwPlatformGetVideoModes:
	@ args = 0, pretend = 0, frame = 144
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #144
	str	r0, [fp, #-144]
	str	r1, [fp, #-148]
	ldr	r3, .L415
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L415+4
	ldr	r3, [r3, #76]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #132]
	str	r3, [fp, #-84]
	sub	r3, fp, #120
	sub	r2, fp, #48
	mov	r1, #0
	ldr	r0, [fp, #-88]
	bl	XGetVisualInfo
	str	r0, [fp, #-80]
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	bne	.L393
	mov	r3, #0
	b	.L412
.L393:
	ldr	r3, [fp, #-120]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-76]
	str	r3, [fp, #-72]
	mov	r3, #0
	str	r3, [fp, #-100]
	mov	r3, #0
	str	r3, [fp, #-108]
	b	.L395
.L401:
	ldr	r2, [fp, #-108]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-80]
	add	r1, r3, r2
	sub	r3, fp, #124
	mov	r2, #1
	ldr	r0, [fp, #-88]
	bl	glXGetConfig
	ldr	r2, [fp, #-108]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-80]
	add	r1, r3, r2
	sub	r3, fp, #128
	mov	r2, #4
	ldr	r0, [fp, #-88]
	bl	glXGetConfig
	ldr	r3, [fp, #-124]
	cmp	r3, #0
	beq	.L396
	ldr	r3, [fp, #-128]
	cmp	r3, #0
	beq	.L396
	ldr	r2, [fp, #-108]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-80]
	add	r3, r3, r2
	ldr	r3, [r3, #12]
	str	r3, [fp, #-52]
	sub	r3, fp, #132
	sub	r2, fp, #136
	sub	r1, fp, #140
	ldr	r0, [fp, #-52]
	bl	BPP2RGB
	ldr	r3, [fp, #-140]
	lsl	r2, r3, #16
	ldr	r3, [fp, #-136]
	lsl	r3, r3, #8
	orr	r2, r2, r3
	ldr	r3, [fp, #-132]
	orr	r3, r2, r3
	str	r3, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-104]
	b	.L397
.L400:
	ldr	r3, [fp, #-104]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	beq	.L414
	ldr	r3, [fp, #-104]
	add	r3, r3, #1
	str	r3, [fp, #-104]
.L397:
	ldr	r2, [fp, #-104]
	ldr	r3, [fp, #-100]
	cmp	r2, r3
	blt	.L400
	b	.L399
.L414:
	nop
.L399:
	ldr	r2, [fp, #-104]
	ldr	r3, [fp, #-100]
	cmp	r2, r3
	blt	.L396
	ldr	r3, [fp, #-100]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r2, [fp, #-52]
	str	r2, [r3]
	ldr	r3, [fp, #-100]
	add	r3, r3, #1
	str	r3, [fp, #-100]
.L396:
	ldr	r3, [fp, #-108]
	add	r3, r3, #1
	str	r3, [fp, #-108]
.L395:
	ldr	r3, [fp, #-120]
	ldr	r2, [fp, #-108]
	cmp	r2, r3
	blt	.L401
	mov	r3, #0
	str	r3, [fp, #-96]
	mov	r3, #0
	str	r3, [fp, #-92]
	ldr	r3, .L415+4
	ldr	r3, [r3, #108]
	cmp	r3, #0
	beq	.L402
	ldr	r3, [fp, #-88]
	ldr	r1, [r3, #140]
	ldr	r2, [fp, #-84]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #4
	add	r3, r1, r3
	ldr	r3, [r3, #8]
	mov	r1, r3
	ldr	r0, [fp, #-88]
	bl	XRRGetScreenInfo
	str	r0, [fp, #-68]
	sub	r3, fp, #116
	mov	r1, r3
	ldr	r0, [fp, #-68]
	bl	XRRConfigSizes
	str	r0, [fp, #-64]
	ldr	r3, [fp, #-116]
	lsl	r3, r3, #3
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-92]
	mov	r3, #0
	str	r3, [fp, #-108]
	b	.L403
.L404:
	ldr	r3, [fp, #-108]
	lsl	r3, r3, #4
	ldr	r2, [fp, #-64]
	add	r2, r2, r3
	ldr	r3, [fp, #-96]
	lsl	r3, r3, #3
	ldr	r1, [fp, #-92]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-108]
	lsl	r3, r3, #4
	ldr	r2, [fp, #-64]
	add	r2, r2, r3
	ldr	r3, [fp, #-96]
	lsl	r3, r3, #3
	ldr	r1, [fp, #-92]
	add	r3, r1, r3
	ldr	r2, [r2, #4]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-96]
	add	r3, r3, #1
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-108]
	add	r3, r3, #1
	str	r3, [fp, #-108]
.L403:
	ldr	r3, [fp, #-116]
	ldr	r2, [fp, #-108]
	cmp	r2, r3
	blt	.L404
	ldr	r0, [fp, #-68]
	bl	XRRFreeScreenConfigInfo
.L402:
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	bne	.L405
	mov	r3, #1
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-96]
	lsl	r3, r3, #3
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-88]
	ldr	r1, [r3, #140]
	ldr	r2, [fp, #-84]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #4
	add	r3, r1, r3
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-92]
	str	r2, [r3]
	ldr	r3, [fp, #-88]
	ldr	r1, [r3, #140]
	ldr	r2, [fp, #-84]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #4
	add	r3, r1, r3
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-92]
	str	r2, [r3, #4]
.L405:
	mov	r3, #0
	str	r3, [fp, #-112]
	mov	r3, #0
	str	r3, [fp, #-108]
	b	.L406
.L411:
	mov	r3, #0
	str	r3, [fp, #-104]
	b	.L407
.L409:
	ldr	r3, [fp, #-104]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-92]
	add	r1, r2, r3
	ldr	r2, [fp, #-112]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-144]
	add	r3, r3, r2
	ldr	r2, [r1]
	str	r2, [r3]
	ldr	r3, [fp, #-104]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-92]
	add	r1, r2, r3
	ldr	r2, [fp, #-112]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-144]
	add	r3, r3, r2
	ldr	r2, [r1, #4]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-108]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r3, [r3]
	asr	r1, r3, #16
	ldr	r2, [fp, #-112]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-144]
	add	r3, r3, r2
	and	r2, r1, #255
	str	r2, [r3, #8]
	ldr	r3, [fp, #-108]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r3, [r3]
	asr	r1, r3, #8
	ldr	r2, [fp, #-112]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-144]
	add	r3, r3, r2
	and	r2, r1, #255
	str	r2, [r3, #16]
	ldr	r3, [fp, #-108]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-112]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-144]
	add	r3, r3, r2
	and	r2, r1, #255
	str	r2, [r3, #12]
	ldr	r3, [fp, #-112]
	add	r3, r3, #1
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-104]
	add	r3, r3, #1
	str	r3, [fp, #-104]
.L407:
	ldr	r2, [fp, #-112]
	ldr	r3, [fp, #-148]
	cmp	r2, r3
	bge	.L408
	ldr	r2, [fp, #-104]
	ldr	r3, [fp, #-96]
	cmp	r2, r3
	blt	.L409
.L408:
	ldr	r3, [fp, #-108]
	add	r3, r3, #1
	str	r3, [fp, #-108]
.L406:
	ldr	r2, [fp, #-112]
	ldr	r3, [fp, #-148]
	cmp	r2, r3
	bge	.L410
	ldr	r2, [fp, #-108]
	ldr	r3, [fp, #-100]
	cmp	r2, r3
	blt	.L411
.L410:
	ldr	r0, [fp, #-80]
	bl	XFree
	ldr	r0, [fp, #-92]
	bl	free
	ldr	r0, [fp, #-72]
	bl	free
	ldr	r3, [fp, #-112]
.L412:
	ldr	r2, .L415
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L413
	bl	__stack_chk_fail
.L413:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L416:
	.align	2
.L415:
	.word	.LC8
	.word	_glfwLibrary
	.size	_glfwPlatformGetVideoModes, .-_glfwPlatformGetVideoModes
	.align	2
	.global	_glfwPlatformHideMouseCursor
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformHideMouseCursor, %function
_glfwPlatformHideMouseCursor:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	ldr	r3, .L420
	ldrb	r3, [r3, #263]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L418
	ldr	r3, .L420+4
	ldr	r3, [r3, #76]
	ldr	r2, .L420
	ldr	r1, [r2, #172]
	ldr	r2, .L420
	ldr	r2, [r2, #216]
	mov	r0, r3
	bl	XDefineCursor
	ldr	r3, .L420
	mov	r2, #1
	strb	r2, [r3, #263]
.L418:
	ldr	r3, .L420
	ldrb	r3, [r3, #262]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L419
	ldr	r3, .L420+4
	ldr	r0, [r3, #76]
	ldr	r3, .L420
	ldr	r1, [r3, #172]
	ldr	r3, .L420
	ldr	r3, [r3, #172]
	mov	r2, #0
	str	r2, [sp, #16]
	mov	r2, #0
	str	r2, [sp, #12]
	str	r3, [sp, #8]
	mov	r3, #1
	str	r3, [sp, #4]
	mov	r3, #1
	str	r3, [sp]
	mov	r3, #76
	mov	r2, #1
	bl	XGrabPointer
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L419
	ldr	r3, .L420
	mov	r2, #1
	strb	r2, [r3, #262]
.L419:
	ldr	r3, .L420
	ldr	r3, [r3, #68]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	mov	r0, r3
	ldr	r3, .L420
	ldr	r3, [r3, #72]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	mov	r1, r3
	bl	_glfwPlatformSetMouseCursorPos
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L421:
	.align	2
.L420:
	.word	_glfwWin
	.word	_glfwLibrary
	.size	_glfwPlatformHideMouseCursor, .-_glfwPlatformHideMouseCursor
	.align	2
	.global	_glfwPlatformIconifyWindow
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformIconifyWindow, %function
_glfwPlatformIconifyWindow:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L425
	ldrb	r3, [r3, #260]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L424
	ldr	r3, .L425+4
	ldr	r3, [r3, #76]
	ldr	r2, .L425
	ldr	r1, [r2, #172]
	ldr	r2, .L425
	ldr	r2, [r2, #180]
	mov	r0, r3
	bl	XIconifyWindow
.L424:
	nop
	pop	{fp, pc}
.L426:
	.align	2
.L425:
	.word	_glfwWin
	.word	_glfwLibrary
	.size	_glfwPlatformIconifyWindow, .-_glfwPlatformIconifyWindow
	.align	2
	.global	_glfwPlatformInit
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformInit, %function
_glfwPlatformInit:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	bl	initDisplay
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L428
	mov	r3, #0
	b	.L429
.L428:
	bl	initThreads
	bl	initLibraries
	ldr	r0, .L430
	bl	_glfwPlatformGetDesktopMode
	ldr	r0, .L430+4
	bl	atexit
	bl	_glfwInitJoysticks
	bl	_glfwInitTimer
	mov	r3, #1
.L429:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L431:
	.align	2
.L430:
	.word	_glfwLibrary+56
	.word	glfw_atexit
	.size	_glfwPlatformInit, .-_glfwPlatformInit
	.align	2
	.global	_glfwPlatformLockMutex
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformLockMutex, %function
_glfwPlatformLockMutex:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	pthread_mutex_lock
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	_glfwPlatformLockMutex, .-_glfwPlatformLockMutex
	.section	.rodata
	.align	2
.LC9:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	_glfwPlatformOpenWindow
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformOpenWindow, %function
_glfwPlatformOpenWindow:
	@ args = 0, pretend = 0, frame = 128
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #152
	str	r0, [fp, #-120]
	str	r1, [fp, #-124]
	str	r2, [fp, #-128]
	str	r3, [fp, #-132]
	ldr	r3, .L443
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-128]
	ldr	r3, [r3, #4]
	ldr	r2, .L443+4
	str	r3, [r2, #52]
	ldr	r3, [fp, #-128]
	ldr	r3, [r3, #8]
	ldr	r2, .L443+4
	str	r3, [r2, #48]
	ldr	r3, .L443+8
	ldr	r3, [r3, #76]
	ldr	r3, [r3, #132]
	ldr	r2, .L443+4
	str	r3, [r2, #180]
	ldr	r3, .L443+8
	ldr	r3, [r3, #76]
	ldr	r2, [r3, #140]
	ldr	r3, .L443+4
	ldr	r3, [r3, #180]
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #8]
	ldr	r2, .L443+4
	str	r3, [r2, #176]
	ldr	r3, .L443+8
	ldr	r3, [r3, #76]
	ldr	r2, .L443+4
	ldr	r2, [r2, #176]
	mov	r1, r2
	mov	r0, r3
	bl	createNULLCursor
	mov	r3, r0
	ldr	r2, .L443+4
	str	r3, [r2, #216]
	bl	initGLXExtensions
	sub	r3, fp, #108
	mov	r0, r3
	bl	getFBConfigs
	str	r0, [fp, #-76]
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	bne	.L434
	mov	r3, #0
	b	.L441
.L434:
	ldr	r3, [fp, #-108]
	mov	r2, r3
	ldr	r1, [fp, #-76]
	ldr	r0, [fp, #-132]
	bl	_glfwChooseFBConfig
	str	r0, [fp, #-72]
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	bne	.L436
	ldr	r0, [fp, #-76]
	bl	free
	mov	r3, #0
	b	.L441
.L436:
	ldr	r3, [fp, #-72]
	sub	ip, fp, #64
	mov	lr, r3
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1}
	stm	ip, {r0, r1}
	ldr	r0, [fp, #-76]
	bl	free
	ldr	r3, [fp, #-12]
	mov	r1, r3
	ldr	r0, [fp, #-128]
	bl	createContext
	str	r0, [fp, #-68]
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	bne	.L437
	mov	r3, #0
	b	.L441
.L437:
	ldr	r2, [fp, #-128]
	ldr	r1, [fp, #-124]
	ldr	r0, [fp, #-120]
	bl	createWindow
	mov	r3, r0
	strb	r3, [fp, #-109]
	ldrb	r3, [fp, #-109]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L438
	mov	r3, #0
	b	.L441
.L438:
	ldr	r3, [fp, #-128]
	ldr	r3, [r3]
	ldr	r2, .L443+12
	cmp	r3, r2
	bne	.L439
	ldr	r3, .L443+8
	ldr	r3, [r3, #108]
	cmp	r3, #0
	beq	.L440
	ldr	r3, .L443+8
	ldr	r3, [r3, #76]
	ldr	r2, .L443+4
	ldr	r1, [r2, #172]
	mov	r2, #1
	mov	r0, r3
	bl	XRRSelectInput
.L440:
	bl	enterFullscreenMode
.L439:
	bl	_glfwPlatformPollEvents
	ldr	r3, .L443+8
	ldr	r0, [r3, #76]
	ldr	r3, .L443+4
	ldr	r1, [r3, #172]
	sub	ip, fp, #104
	sub	r2, fp, #100
	sub	r3, fp, #80
	str	r3, [sp, #16]
	sub	r3, fp, #92
	str	r3, [sp, #12]
	sub	r3, fp, #96
	str	r3, [sp, #8]
	sub	r3, fp, #84
	str	r3, [sp, #4]
	sub	r3, fp, #88
	str	r3, [sp]
	mov	r3, ip
	bl	XQueryPointer
	ldr	r3, [fp, #-96]
	ldr	r2, .L443+16
	str	r3, [r2]
	ldr	r3, [fp, #-92]
	ldr	r2, .L443+16
	str	r3, [r2, #4]
	ldr	r3, .L443+8
	ldr	r3, [r3, #76]
	ldr	r2, .L443+4
	ldr	r1, [r2, #172]
	ldr	r2, .L443+4
	ldr	r2, [r2, #192]
	mov	r0, r3
	bl	glXMakeCurrent
	mov	r3, #1
.L441:
	ldr	r2, .L443
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L442
	bl	__stack_chk_fail
.L442:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L444:
	.align	2
.L443:
	.word	.LC9
	.word	_glfwWin
	.word	_glfwLibrary
	.word	65538
	.word	_glfwInput
	.size	_glfwPlatformOpenWindow, .-_glfwPlatformOpenWindow
	.align	2
	.global	_glfwPlatformPollEvents
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformPollEvents, %function
_glfwPlatformPollEvents:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	mov	r3, #0
	strb	r3, [fp, #-14]
	ldr	r3, .L456
	mov	r2, #0
	str	r2, [r3, #364]
.L449:
	ldr	r3, .L456+4
	ldr	r3, [r3, #76]
	mov	r0, r3
	bl	XPending
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L454
	bl	processSingleEvent
	mov	r3, r0
	strb	r3, [fp, #-13]
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L449
	mov	r3, #1
	strb	r3, [fp, #-14]
	b	.L449
.L454:
	nop
	ldr	r3, .L456
	ldr	r3, [r3, #364]
	cmp	r3, #0
	beq	.L450
	ldr	r3, .L456+8
	ldrb	r3, [r3, #263]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L450
	ldr	r3, .L456+8
	ldr	r3, [r3, #68]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	mov	r0, r3
	ldr	r3, .L456+8
	ldr	r3, [r3, #72]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	mov	r1, r3
	bl	_glfwPlatformSetMouseCursorPos
	ldr	r3, .L456+4
	ldr	r3, [r3, #76]
	mov	r0, r3
	bl	XFlush
.L450:
	ldr	r3, .L456+8
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L451
	ldrb	r3, [fp, #-14]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L451
	ldr	r3, .L456+8
	ldr	r3, [r3, #4]
	blx	r3
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	strb	r3, [fp, #-14]
.L451:
	ldrb	r3, [fp, #-14]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L455
	bl	glfwCloseWindow
.L455:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L457:
	.align	2
.L456:
	.word	_glfwInput
	.word	_glfwLibrary
	.word	_glfwWin
	.size	_glfwPlatformPollEvents, .-_glfwPlatformPollEvents
	.section	.rodata
	.align	2
.LC10:
	.ascii	"Cannot find known GLXFBConfig by ID. This cannot ha"
	.ascii	"ppen. Have a nice day.\012\000"
	.align	2
.LC11:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	_glfwPlatformRefreshWindowParams
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformRefreshWindowParams, %function
_glfwPlatformRefreshWindowParams:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #44
	ldr	r3, .L466
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, .L466+4
	str	r3, [fp, #-28]
	ldr	r3, .L466+8
	ldr	r3, [r3, #188]
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, .L466+8
	ldrb	r3, [r3, #252]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L459
	ldr	r3, .L466+8
	ldr	r4, [r3, #236]
	ldr	r3, .L466+12
	ldr	r0, [r3, #76]
	ldr	r3, .L466+8
	ldr	r1, [r3, #180]
	sub	r3, fp, #44
	sub	r2, fp, #28
	blx	r4
	str	r0, [fp, #-40]
	b	.L460
.L459:
	ldr	r3, .L466+12
	ldr	r0, [r3, #76]
	ldr	r3, .L466+8
	ldr	r1, [r3, #180]
	sub	r3, fp, #44
	sub	r2, fp, #28
	bl	glXChooseFBConfig
	str	r0, [fp, #-40]
.L460:
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L461
	ldr	r3, .L466+16
	ldr	r3, [r3]
	mov	r2, #74
	mov	r1, #1
	ldr	r0, .L466+20
	bl	fwrite
	bl	abort
.L461:
	ldr	r3, .L466+8
	mov	r2, #1
	str	r2, [r3, #76]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, #8
	mov	r0, r3
	bl	getFBConfigAttrib
	mov	r3, r0
	ldr	r2, .L466+8
	str	r3, [r2, #80]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, #9
	mov	r0, r3
	bl	getFBConfigAttrib
	mov	r3, r0
	ldr	r2, .L466+8
	str	r3, [r2, #84]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, #10
	mov	r0, r3
	bl	getFBConfigAttrib
	mov	r3, r0
	ldr	r2, .L466+8
	str	r3, [r2, #88]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, #11
	mov	r0, r3
	bl	getFBConfigAttrib
	mov	r3, r0
	ldr	r2, .L466+8
	str	r3, [r2, #92]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, #12
	mov	r0, r3
	bl	getFBConfigAttrib
	mov	r3, r0
	ldr	r2, .L466+8
	str	r3, [r2, #96]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, #13
	mov	r0, r3
	bl	getFBConfigAttrib
	mov	r3, r0
	ldr	r2, .L466+8
	str	r3, [r2, #100]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, #14
	mov	r0, r3
	bl	getFBConfigAttrib
	mov	r3, r0
	ldr	r2, .L466+8
	str	r3, [r2, #104]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, #15
	mov	r0, r3
	bl	getFBConfigAttrib
	mov	r3, r0
	ldr	r2, .L466+8
	str	r3, [r2, #108]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, #16
	mov	r0, r3
	bl	getFBConfigAttrib
	mov	r3, r0
	ldr	r2, .L466+8
	str	r3, [r2, #112]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, #17
	mov	r0, r3
	bl	getFBConfigAttrib
	mov	r3, r0
	ldr	r2, .L466+8
	str	r3, [r2, #116]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, #7
	mov	r0, r3
	bl	getFBConfigAttrib
	mov	r3, r0
	ldr	r2, .L466+8
	str	r3, [r2, #120]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, #6
	mov	r0, r3
	bl	getFBConfigAttrib
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, .L466+8
	str	r2, [r3, #124]
	ldr	r3, .L466+8
	ldrb	r3, [r3, #256]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L462
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r1, .L466+24
	mov	r0, r3
	bl	getFBConfigAttrib
	mov	r3, r0
	ldr	r2, .L466+8
	str	r3, [r2, #128]
	b	.L463
.L462:
	ldr	r3, .L466+8
	mov	r2, #0
	str	r2, [r3, #128]
.L463:
	ldr	r3, .L466+8
	mov	r2, #0
	str	r2, [r3, #52]
	ldr	r3, .L466+12
	ldr	r3, [r3, #108]
	cmp	r3, #0
	beq	.L464
	ldr	r3, .L466+12
	ldr	r3, [r3, #76]
	ldr	r2, .L466+8
	ldr	r2, [r2, #176]
	mov	r1, r2
	mov	r0, r3
	bl	XRRGetScreenInfo
	str	r0, [fp, #-32]
	ldr	r0, [fp, #-32]
	bl	XRRConfigCurrentRate
	mov	r3, r0
	strh	r3, [fp, #-46]	@ movhi
	ldrsh	r3, [fp, #-46]
	ldr	r2, .L466+8
	str	r3, [r2, #52]
	ldr	r0, [fp, #-32]
	bl	XRRFreeScreenConfigInfo
.L464:
	ldr	r0, [fp, #-40]
	bl	XFree
	nop
	ldr	r3, .L466
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L465
	bl	__stack_chk_fail
.L465:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L467:
	.align	2
.L466:
	.word	.LC11
	.word	32787
	.word	_glfwWin
	.word	_glfwLibrary
	.word	stderr
	.word	.LC10
	.word	100001
	.size	_glfwPlatformRefreshWindowParams, .-_glfwPlatformRefreshWindowParams
	.align	2
	.global	_glfwPlatformRestoreWindow
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformRestoreWindow, %function
_glfwPlatformRestoreWindow:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L471
	ldrb	r3, [r3, #260]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L470
	ldr	r3, .L471+4
	ldr	r3, [r3, #76]
	ldr	r2, .L471
	ldr	r2, [r2, #172]
	mov	r1, r2
	mov	r0, r3
	bl	XMapWindow
.L470:
	nop
	pop	{fp, pc}
.L472:
	.align	2
.L471:
	.word	_glfwWin
	.word	_glfwLibrary
	.size	_glfwPlatformRestoreWindow, .-_glfwPlatformRestoreWindow
	.align	2
	.global	_glfwPlatformSetMouseCursorPos
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformSetMouseCursorPos, %function
_glfwPlatformSetMouseCursorPos:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r2, .L474
	ldr	r3, [fp, #-8]
	str	r3, [r2, #368]
	ldr	r2, .L474
	ldr	r3, [fp, #-12]
	str	r3, [r2, #372]
	ldr	r3, .L474+4
	ldr	r0, [r3, #76]
	ldr	r3, .L474+8
	ldr	r2, [r3, #172]
	ldr	r3, [fp, #-12]
	str	r3, [sp, #16]
	ldr	r3, [fp, #-8]
	str	r3, [sp, #12]
	mov	r3, #0
	str	r3, [sp, #8]
	mov	r3, #0
	str	r3, [sp, #4]
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	mov	r1, #0
	bl	XWarpPointer
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L475:
	.align	2
.L474:
	.word	_glfwInput
	.word	_glfwLibrary
	.word	_glfwWin
	.size	_glfwPlatformSetMouseCursorPos, .-_glfwPlatformSetMouseCursorPos
	.global	__aeabi_ddiv
	.global	__aeabi_d2uiz
	.align	2
	.global	_glfwPlatformSetTime
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformSetTime, %function
_glfwPlatformSetTime:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	bl	getRawTime
	str	r0, [fp, #-8]
	ldr	r3, .L477
	add	r3, r3, #128
	ldmia	r3, {r2-r3}
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2uiz
	mov	r2, r0
	ldr	r3, [fp, #-8]
	sub	r3, r3, r2
	mov	r2, r3
	mov	r3, #0
	ldr	r1, .L477
	str	r2, [r1, #136]
	str	r3, [r1, #140]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L478:
	.align	2
.L477:
	.word	_glfwLibrary
	.size	_glfwPlatformSetTime, .-_glfwPlatformSetTime
	.align	2
	.global	_glfwPlatformSetWindowPos
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformSetWindowPos, %function
_glfwPlatformSetWindowPos:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, .L480
	ldr	r0, [r3, #76]
	ldr	r3, .L480+4
	ldr	r1, [r3, #172]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-8]
	bl	XMoveWindow
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L481:
	.align	2
.L480:
	.word	_glfwLibrary
	.word	_glfwWin
	.size	_glfwPlatformSetWindowPos, .-_glfwPlatformSetWindowPos
	.section	.rodata
	.align	2
.LC12:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	_glfwPlatformSetWindowSize
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformSetWindowSize, %function
_glfwPlatformSetWindowSize:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, .L490
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, .L490+4
	ldr	r3, [r3, #52]
	str	r3, [fp, #-24]
	ldr	r3, .L490+4
	ldr	r3, [r3, #32]
	cmp	r3, #0
	beq	.L483
	ldr	r3, .L490+4
	ldr	r0, [r3, #180]
	sub	r3, fp, #24
	sub	r2, fp, #36
	sub	r1, fp, #32
	bl	_glfwGetClosestVideoMode
	str	r0, [fp, #-20]
.L483:
	ldr	r3, .L490+4
	ldr	r3, [r3, #48]
	cmp	r3, #0
	beq	.L484
	bl	XAllocSizeHints
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	orr	r2, r3, #48
	ldr	r3, [fp, #-12]
	str	r2, [r3]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-12]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-12]
	str	r2, [r3, #20]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-12]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-12]
	str	r2, [r3, #24]
	ldr	r3, .L490+8
	ldr	r3, [r3, #76]
	ldr	r2, .L490+4
	ldr	r1, [r2, #172]
	ldr	r2, [fp, #-12]
	mov	r0, r3
	bl	XSetWMNormalHints
	ldr	r0, [fp, #-12]
	bl	XFree
.L484:
	ldr	r3, .L490+4
	ldr	r3, [r3, #32]
	cmp	r3, #0
	beq	.L485
	ldr	r3, .L490+4
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	bge	.L485
	ldr	r3, .L490+8
	ldr	r0, [r3, #76]
	ldr	r3, .L490+4
	ldr	r1, [r3, #172]
	ldr	r3, [fp, #-32]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	bl	XResizeWindow
	mov	r3, #1
	str	r3, [fp, #-16]
.L485:
	ldr	r3, .L490+4
	ldr	r3, [r3, #32]
	cmp	r3, #0
	beq	.L486
	ldr	r3, .L490+4
	ldr	r3, [r3, #180]
	ldr	r2, .L490+4
	ldr	r2, [r2, #52]
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	_glfwSetVideoModeMODE
.L486:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L489
	ldr	r3, .L490+8
	ldr	r0, [r3, #76]
	ldr	r3, .L490+4
	ldr	r1, [r3, #172]
	ldr	r3, [fp, #-32]
	mov	r2, r3
	ldr	r3, [fp, #-36]
	bl	XResizeWindow
.L489:
	nop
	ldr	r3, .L490
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L488
	bl	__stack_chk_fail
.L488:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L491:
	.align	2
.L490:
	.word	.LC12
	.word	_glfwWin
	.word	_glfwLibrary
	.size	_glfwPlatformSetWindowSize, .-_glfwPlatformSetWindowSize
	.align	2
	.global	_glfwPlatformSetWindowTitle
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformSetWindowTitle, %function
_glfwPlatformSetWindowTitle:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L493
	ldr	r3, [r3, #76]
	ldr	r2, .L493+4
	ldr	r1, [r2, #172]
	ldr	r2, [fp, #-8]
	mov	r0, r3
	bl	XStoreName
	ldr	r3, .L493
	ldr	r3, [r3, #76]
	ldr	r2, .L493+4
	ldr	r1, [r2, #172]
	ldr	r2, [fp, #-8]
	mov	r0, r3
	bl	XSetIconName
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L494:
	.align	2
.L493:
	.word	_glfwLibrary
	.word	_glfwWin
	.size	_glfwPlatformSetWindowTitle, .-_glfwPlatformSetWindowTitle
	.align	2
	.global	_glfwPlatformShowMouseCursor
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformShowMouseCursor, %function
_glfwPlatformShowMouseCursor:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L499
	ldrb	r3, [r3, #262]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L496
	ldr	r3, .L499+4
	ldr	r3, [r3, #76]
	mov	r1, #0
	mov	r0, r3
	bl	XUngrabPointer
	ldr	r3, .L499
	mov	r2, #0
	strb	r2, [r3, #262]
.L496:
	ldr	r3, .L499
	ldrb	r3, [r3, #263]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L498
	ldr	r3, .L499+4
	ldr	r3, [r3, #76]
	ldr	r2, .L499
	ldr	r2, [r2, #172]
	mov	r1, r2
	mov	r0, r3
	bl	XUndefineCursor
	ldr	r3, .L499
	mov	r2, #0
	strb	r2, [r3, #263]
.L498:
	nop
	pop	{fp, pc}
.L500:
	.align	2
.L499:
	.word	_glfwWin
	.word	_glfwLibrary
	.size	_glfwPlatformShowMouseCursor, .-_glfwPlatformShowMouseCursor
	.align	2
	.global	_glfwPlatformSignalCond
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformSignalCond, %function
_glfwPlatformSignalCond:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	pthread_cond_signal
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	_glfwPlatformSignalCond, .-_glfwPlatformSignalCond
	.global	__aeabi_dcmpeq
	.global	__aeabi_i2d
	.global	__aeabi_dsub
	.section	.rodata
	.align	2
.LC13:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	_glfwPlatformSleep
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformSleep, %function
_glfwPlatformSleep:
	@ args = 0, pretend = 0, frame = 128
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #128
	str	r0, [fp, #-132]
	str	r1, [fp, #-128]
	ldr	r3, .L511
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L509
	bl	sched_yield
	b	.L510
.L509:
	sub	r3, fp, #116
	mov	r1, #0
	mov	r0, r3
	bl	gettimeofday
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	__aeabi_d2iz
	mov	r3, r0
	str	r3, [fp, #-124]
	ldr	r0, [fp, #-124]
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L511+4
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r3, r0
	str	r3, [fp, #-120]
	ldr	r2, [fp, #-112]
	ldr	r3, [fp, #-120]
	add	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #5
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-104]
	ldr	r2, .L511+8
	cmp	r3, r2
	ble	.L506
	ldr	r2, [fp, #-104]
	ldr	r3, .L511+12
	add	r3, r2, r3
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-124]
	add	r3, r3, #1
	str	r3, [fp, #-124]
.L506:
	ldr	r2, [fp, #-116]
	ldr	r3, [fp, #-124]
	add	r3, r2, r3
	str	r3, [fp, #-108]
	sub	r3, fp, #100
	mov	r1, #0
	mov	r0, r3
	bl	pthread_mutex_init
	sub	r3, fp, #60
	mov	r1, #0
	mov	r0, r3
	bl	pthread_cond_init
	sub	r3, fp, #100
	mov	r0, r3
	bl	pthread_mutex_lock
	sub	r2, fp, #108
	sub	r1, fp, #100
	sub	r3, fp, #60
	mov	r0, r3
	bl	pthread_cond_timedwait
	sub	r3, fp, #100
	mov	r0, r3
	bl	pthread_mutex_unlock
	sub	r3, fp, #100
	mov	r0, r3
	bl	pthread_mutex_destroy
	sub	r3, fp, #60
	mov	r0, r3
	bl	pthread_cond_destroy
.L510:
	nop
	ldr	r3, .L511
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L507
	bl	__stack_chk_fail
.L507:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L512:
	.align	2
.L511:
	.word	.LC13
	.word	1093567616
	.word	1000000000
	.word	-1000000000
	.size	_glfwPlatformSleep, .-_glfwPlatformSleep
	.align	2
	.global	_glfwPlatformSwapBuffers
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformSwapBuffers, %function
_glfwPlatformSwapBuffers:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L514
	ldr	r3, [r3, #76]
	ldr	r2, .L514+4
	ldr	r2, [r2, #172]
	mov	r1, r2
	mov	r0, r3
	bl	glXSwapBuffers
	nop
	pop	{fp, pc}
.L515:
	.align	2
.L514:
	.word	_glfwLibrary
	.word	_glfwWin
	.size	_glfwPlatformSwapBuffers, .-_glfwPlatformSwapBuffers
	.align	2
	.global	_glfwPlatformSwapInterval
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformSwapInterval, %function
_glfwPlatformSwapInterval:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L521
	ldrb	r3, [r3, #253]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L517
	ldr	r3, .L521
	ldr	r3, [r3, #220]
	ldr	r2, .L521+4
	ldr	r0, [r2, #76]
	ldr	r2, .L521
	ldr	r1, [r2, #172]
	ldr	r2, [fp, #-8]
	blx	r3
	b	.L520
.L517:
	ldr	r3, .L521
	ldrb	r3, [r3, #254]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L519
	ldr	r3, .L521
	ldr	r3, [r3, #224]
	ldr	r2, [fp, #-8]
	mov	r0, r2
	blx	r3
	b	.L520
.L519:
	ldr	r3, .L521
	ldrb	r3, [r3, #255]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L520
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	ble	.L520
	ldr	r3, .L521
	ldr	r3, [r3, #228]
	ldr	r0, [fp, #-8]
	blx	r3
.L520:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L522:
	.align	2
.L521:
	.word	_glfwWin
	.word	_glfwLibrary
	.size	_glfwPlatformSwapInterval, .-_glfwPlatformSwapInterval
	.align	2
	.global	_glfwPlatformTerminate
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformTerminate, %function
_glfwPlatformTerminate:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	bl	pthread_self
	str	r0, [fp, #-8]
	ldr	r3, .L526
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	beq	.L524
	mov	r3, #0
	b	.L525
.L524:
	bl	glfwCloseWindow
	bl	terminateThreads
	bl	terminateDisplay
	bl	_glfwTerminateJoysticks
	mov	r3, #1
.L525:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L527:
	.align	2
.L526:
	.word	_glfwThrd
	.size	_glfwPlatformTerminate, .-_glfwPlatformTerminate
	.align	2
	.global	_glfwPlatformUnlockMutex
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformUnlockMutex, %function
_glfwPlatformUnlockMutex:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	pthread_mutex_unlock
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	_glfwPlatformUnlockMutex, .-_glfwPlatformUnlockMutex
	.global	__aeabi_dcmpge
	.section	.rodata
	.align	2
.LC14:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	_glfwPlatformWaitCond
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformWaitCond, %function
_glfwPlatformWaitCond:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	ldr	r3, .L538
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r2, #0
	ldr	r3, .L538+4
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L536
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-40]
	bl	pthread_cond_wait
	b	.L537
.L536:
	sub	r3, fp, #24
	mov	r1, #0
	mov	r0, r3
	bl	gettimeofday
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_d2iz
	mov	r3, r0
	str	r3, [fp, #-32]
	ldr	r0, [fp, #-32]
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L538+8
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r3, r0
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #5
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r2, .L538+12
	cmp	r3, r2
	ble	.L533
	ldr	r2, [fp, #-12]
	ldr	r3, .L538+16
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L533:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	sub	r3, fp, #16
	mov	r2, r3
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-40]
	bl	pthread_cond_timedwait
.L537:
	nop
	ldr	r3, .L538
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L534
	bl	__stack_chk_fail
.L534:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L539:
	.align	2
.L538:
	.word	.LC14
	.word	1090021888
	.word	1093567616
	.word	1000000000
	.word	-1000000000
	.size	_glfwPlatformWaitCond, .-_glfwPlatformWaitCond
	.section	.rodata
	.align	2
.LC15:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	_glfwPlatformWaitEvents
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformWaitEvents, %function
_glfwPlatformWaitEvents:
	@ args = 0, pretend = 0, frame = 104
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #104
	ldr	r3, .L542
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L542+4
	ldr	r3, [r3, #76]
	sub	r2, fp, #104
	mov	r1, r2
	mov	r0, r3
	bl	XNextEvent
	ldr	r3, .L542+4
	ldr	r3, [r3, #76]
	sub	r2, fp, #104
	mov	r1, r2
	mov	r0, r3
	bl	XPutBackEvent
	bl	_glfwPlatformPollEvents
	nop
	ldr	r3, .L542
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L541
	bl	__stack_chk_fail
.L541:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L543:
	.align	2
.L542:
	.word	.LC15
	.word	_glfwLibrary
	.size	_glfwPlatformWaitEvents, .-_glfwPlatformWaitEvents
	.align	2
	.global	_glfwPlatformWaitThread
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwPlatformWaitThread, %function
_glfwPlatformWaitThread:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r0, .L548
	bl	pthread_mutex_lock
	ldr	r0, [fp, #-16]
	bl	_glfwGetThreadPointer
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L545
	ldr	r0, .L548
	bl	pthread_mutex_unlock
	mov	r3, #1
	b	.L546
.L545:
	ldr	r3, [fp, #-20]
	ldr	r2, .L548+4
	cmp	r3, r2
	bne	.L547
	ldr	r0, .L548
	bl	pthread_mutex_unlock
	mov	r3, #0
	b	.L546
.L547:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-8]
	ldr	r0, .L548
	bl	pthread_mutex_unlock
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	pthread_join
	mov	r3, #1
.L546:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L549:
	.align	2
.L548:
	.word	_glfwThrd+24
	.word	262146
	.size	_glfwPlatformWaitThread, .-_glfwPlatformWaitThread
	.align	2
	.global	_glfwReadStream
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwReadStream, %function
_glfwReadStream:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L551
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, #1
	ldr	r0, [fp, #-20]
	bl	fread
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L552
.L551:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L553
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	cmp	r2, r3
	bne	.L554
	mov	r3, #0
	b	.L552
.L554:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r1, [r3, #8]
	ldr	r3, [fp, #-24]
	add	r3, r1, r3
	cmp	r2, r3
	bge	.L555
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	sub	r3, r2, r3
	str	r3, [fp, #-24]
.L555:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #8]
	add	r3, r3, r2
	ldr	r2, [fp, #-24]
	mov	r1, r3
	ldr	r0, [fp, #-20]
	bl	memcpy
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	b	.L552
.L553:
	mov	r3, #0
.L552:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	_glfwReadStream, .-_glfwReadStream
	.section	.rodata
	.align	2
.LC16:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	_glfwReadTGA
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwReadTGA, %function
_glfwReadTGA:
	@ args = 0, pretend = 0, frame = 168
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #168
	str	r0, [fp, #-160]
	str	r1, [fp, #-164]
	str	r2, [fp, #-168]
	ldr	r3, .L614
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #64
	mov	r1, r3
	ldr	r0, [fp, #-160]
	bl	ReadTGAHeader
	str	r0, [fp, #-112]
	ldr	r3, [fp, #-112]
	cmp	r3, #0
	bne	.L557
	mov	r3, #0
	b	.L606
.L557:
	ldr	r3, [fp, #-60]
	cmp	r3, #1
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-48]
	mul	r2, r3, r2
	ldr	r3, [fp, #-44]
	add	r3, r3, #7
	add	r1, r3, #7
	cmp	r3, #0
	movlt	r3, r1
	movge	r3, r3
	asr	r3, r3, #3
	mul	r3, r2, r3
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-108]
	cmp	r3, #0
	ble	.L559
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L560
	ldr	r3, [fp, #-48]
	cmp	r3, #256
	bgt	.L560
	ldr	r3, [fp, #-44]
	cmp	r3, #24
	beq	.L561
	ldr	r3, [fp, #-44]
	cmp	r3, #32
	beq	.L561
.L560:
	mov	r3, #0
	b	.L606
.L561:
	ldr	r3, [fp, #-108]
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-104]
	str	r3, [fp, #-148]
	ldr	r3, [fp, #-148]
	cmp	r3, #0
	bne	.L562
	mov	r3, #0
	b	.L606
.L562:
	ldr	r2, [fp, #-108]
	ldr	r1, [fp, #-148]
	ldr	r0, [fp, #-160]
	bl	_glfwReadStream
	b	.L563
.L559:
	mov	r3, #0
	str	r3, [fp, #-148]
.L563:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-28]
	mul	r2, r3, r2
	ldr	r3, [fp, #-24]
	add	r3, r3, #7
	add	r1, r3, #7
	cmp	r3, #0
	movlt	r3, r1
	movge	r3, r3
	asr	r3, r3, #3
	mul	r3, r2, r3
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-24]
	add	r3, r3, #7
	add	r2, r3, #7
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #3
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-148]
	cmp	r3, #0
	beq	.L564
	ldr	r3, [fp, #-44]
	add	r3, r3, #7
	add	r2, r3, #7
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #3
	str	r3, [fp, #-136]
	b	.L565
.L564:
	ldr	r3, [fp, #-96]
	str	r3, [fp, #-136]
.L565:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-28]
	mul	r2, r3, r2
	ldr	r3, [fp, #-136]
	mul	r3, r2, r3
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-92]
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-88]
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-84]
	cmp	r3, #0
	bne	.L566
	ldr	r3, [fp, #-148]
	cmp	r3, #0
	beq	.L567
	ldr	r0, [fp, #-148]
	bl	free
.L567:
	mov	r3, #0
	b	.L606
.L566:
	ldr	r3, [fp, #-56]
	cmp	r3, #8
	ble	.L568
	ldr	r3, [fp, #-160]
	ldr	r2, [fp, #-96]
	ldr	r1, [fp, #-100]
	ldr	r0, [fp, #-84]
	bl	ReadTGA_RLE
	b	.L569
.L568:
	ldr	r2, [fp, #-100]
	ldr	r1, [fp, #-84]
	ldr	r0, [fp, #-160]
	bl	_glfwReadStream
.L569:
	ldr	r3, [fp, #-12]
	cmp	r3, #2
	beq	.L570
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L611
	ldr	r3, [fp, #-12]
	cmp	r3, #3
	beq	.L612
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	beq	.L613
.L570:
	mov	r3, #0
	str	r3, [fp, #-120]
	mov	r3, #1
	str	r3, [fp, #-116]
	b	.L576
.L611:
	nop
.L572:
	mov	r3, #0
	str	r3, [fp, #-120]
	mov	r3, #0
	str	r3, [fp, #-116]
	b	.L576
.L612:
	nop
.L574:
	mov	r3, #1
	str	r3, [fp, #-120]
	mov	r3, #1
	str	r3, [fp, #-116]
	b	.L576
.L613:
	nop
.L575:
	mov	r3, #1
	str	r3, [fp, #-120]
	mov	r3, #0
	str	r3, [fp, #-116]
.L576:
	ldr	r3, [fp, #-168]
	and	r3, r3, #2
	cmp	r3, #0
	bne	.L577
	ldr	r3, [fp, #-116]
	cmp	r3, #0
	bne	.L578
.L577:
	ldr	r3, [fp, #-116]
	cmp	r3, #0
	bne	.L579
	ldr	r3, [fp, #-168]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L579
.L578:
	ldr	r3, [fp, #-84]
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	ldr	r2, [fp, #-32]
	mul	r3, r2, r3
	ldr	r2, [fp, #-96]
	mul	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-84]
	add	r3, r3, r2
	str	r3, [fp, #-140]
	mov	r3, #0
	str	r3, [fp, #-124]
	b	.L580
.L585:
	mov	r3, #0
	str	r3, [fp, #-128]
	b	.L581
.L584:
	mov	r3, #0
	str	r3, [fp, #-132]
	b	.L582
.L583:
	ldr	r3, [fp, #-144]
	ldrb	r3, [r3]
	strb	r3, [fp, #-149]
	ldr	r3, [fp, #-144]
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-144]
	add	r3, r3, #1
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-140]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-80]
	strb	r2, [r3]
	ldr	r3, [fp, #-140]
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-140]
	add	r3, r3, #1
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-76]
	ldrb	r2, [fp, #-149]
	strb	r2, [r3]
	ldr	r3, [fp, #-132]
	add	r3, r3, #1
	str	r3, [fp, #-132]
.L582:
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-96]
	cmp	r2, r3
	blt	.L583
	ldr	r3, [fp, #-128]
	add	r3, r3, #1
	str	r3, [fp, #-128]
.L581:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-128]
	cmp	r2, r3
	blt	.L584
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-96]
	mul	r3, r2, r3
	lsl	r3, r3, #1
	rsb	r3, r3, #0
	ldr	r2, [fp, #-140]
	add	r3, r2, r3
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-124]
	add	r3, r3, #1
	str	r3, [fp, #-124]
.L580:
	ldr	r3, [fp, #-28]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-124]
	cmp	r3, r2
	blt	.L585
.L579:
	ldr	r3, [fp, #-120]
	cmp	r3, #0
	beq	.L586
	ldr	r3, [fp, #-84]
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	ldr	r2, [fp, #-96]
	mul	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-84]
	add	r3, r3, r2
	str	r3, [fp, #-140]
	mov	r3, #0
	str	r3, [fp, #-124]
	b	.L587
.L592:
	mov	r3, #0
	str	r3, [fp, #-128]
	b	.L588
.L591:
	mov	r3, #0
	str	r3, [fp, #-132]
	b	.L589
.L590:
	ldr	r3, [fp, #-144]
	ldrb	r3, [r3]
	strb	r3, [fp, #-149]
	ldr	r3, [fp, #-144]
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-144]
	add	r3, r3, #1
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-140]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-72]
	strb	r2, [r3]
	ldr	r3, [fp, #-140]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-140]
	add	r3, r3, #1
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-68]
	ldrb	r2, [fp, #-149]
	strb	r2, [r3]
	ldr	r3, [fp, #-132]
	add	r3, r3, #1
	str	r3, [fp, #-132]
.L589:
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-96]
	cmp	r2, r3
	blt	.L590
	ldr	r3, [fp, #-96]
	lsl	r3, r3, #1
	rsb	r3, r3, #0
	ldr	r2, [fp, #-140]
	add	r3, r2, r3
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-128]
	add	r3, r3, #1
	str	r3, [fp, #-128]
.L588:
	ldr	r3, [fp, #-32]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-128]
	cmp	r3, r2
	blt	.L591
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-96]
	mul	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-144]
	add	r3, r3, r2
	str	r3, [fp, #-144]
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r3, r3, #1
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-96]
	mul	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-140]
	add	r3, r3, r2
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-124]
	add	r3, r3, #1
	str	r3, [fp, #-124]
.L587:
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-124]
	cmp	r2, r3
	blt	.L592
.L586:
	ldr	r3, [fp, #-148]
	cmp	r3, #0
	beq	.L593
	ldr	r3, [fp, #-136]
	cmp	r3, #3
	beq	.L594
	ldr	r3, [fp, #-136]
	cmp	r3, #4
	bne	.L595
.L594:
	mov	r3, #0
	str	r3, [fp, #-124]
	b	.L596
.L597:
	ldr	r3, [fp, #-124]
	ldr	r2, [fp, #-136]
	mul	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-148]
	add	r3, r3, r2
	ldrb	r3, [r3]
	strb	r3, [fp, #-149]
	ldr	r3, [fp, #-124]
	ldr	r2, [fp, #-136]
	mul	r3, r2, r3
	add	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-148]
	add	r2, r3, r2
	ldr	r3, [fp, #-124]
	ldr	r1, [fp, #-136]
	mul	r3, r1, r3
	mov	r1, r3
	ldr	r3, [fp, #-148]
	add	r3, r3, r1
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-124]
	ldr	r2, [fp, #-136]
	mul	r3, r2, r3
	add	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-148]
	add	r3, r3, r2
	ldrb	r2, [fp, #-149]
	strb	r2, [r3]
	ldr	r3, [fp, #-124]
	add	r3, r3, #1
	str	r3, [fp, #-124]
.L596:
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-124]
	cmp	r2, r3
	blt	.L597
.L595:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-28]
	mul	r3, r2, r3
	sub	r3, r3, #1
	str	r3, [fp, #-128]
	b	.L598
.L601:
	ldr	r3, [fp, #-128]
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-124]
	mov	r3, #0
	str	r3, [fp, #-132]
	b	.L599
.L600:
	ldr	r3, [fp, #-124]
	ldr	r2, [fp, #-136]
	mul	r2, r3, r2
	ldr	r3, [fp, #-132]
	add	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-148]
	add	r2, r3, r2
	ldr	r3, [fp, #-128]
	ldr	r1, [fp, #-136]
	mul	r1, r3, r1
	ldr	r3, [fp, #-132]
	add	r3, r1, r3
	mov	r1, r3
	ldr	r3, [fp, #-84]
	add	r3, r3, r1
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-132]
	add	r3, r3, #1
	str	r3, [fp, #-132]
.L599:
	ldr	r2, [fp, #-132]
	ldr	r3, [fp, #-136]
	cmp	r2, r3
	blt	.L600
	ldr	r3, [fp, #-128]
	sub	r3, r3, #1
	str	r3, [fp, #-128]
.L598:
	ldr	r3, [fp, #-128]
	cmp	r3, #0
	bge	.L601
	ldr	r0, [fp, #-148]
	bl	free
	b	.L602
.L593:
	ldr	r3, [fp, #-136]
	cmp	r3, #3
	beq	.L603
	ldr	r3, [fp, #-136]
	cmp	r3, #4
	bne	.L602
.L603:
	ldr	r3, [fp, #-84]
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-84]
	add	r3, r3, #2
	str	r3, [fp, #-140]
	mov	r3, #0
	str	r3, [fp, #-124]
	b	.L604
.L605:
	ldr	r3, [fp, #-144]
	ldrb	r3, [r3]
	strb	r3, [fp, #-149]
	ldr	r3, [fp, #-140]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-144]
	strb	r2, [r3]
	ldr	r3, [fp, #-140]
	ldrb	r2, [fp, #-149]
	strb	r2, [r3]
	ldr	r3, [fp, #-136]
	ldr	r2, [fp, #-144]
	add	r3, r2, r3
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-136]
	ldr	r2, [fp, #-140]
	add	r3, r2, r3
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-124]
	add	r3, r3, #1
	str	r3, [fp, #-124]
.L604:
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-32]
	mul	r3, r2, r3
	ldr	r2, [fp, #-124]
	cmp	r2, r3
	blt	.L605
.L602:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-164]
	str	r2, [r3]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-164]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-164]
	ldr	r2, [fp, #-136]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-164]
	ldr	r2, [fp, #-84]
	str	r2, [r3, #16]
	mov	r3, #1
.L606:
	ldr	r2, .L614
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L607
	bl	__stack_chk_fail
.L607:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L615:
	.align	2
.L614:
	.word	.LC16
	.size	_glfwReadTGA, .-_glfwReadTGA
	.section	.rodata
	.align	2
.LC17:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	_glfwRefreshContextParams
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwRefreshContextParams, %function
_glfwRefreshContextParams:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r3, .L625
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r2, .L625+4
	ldr	r1, .L625+8
	ldr	r0, .L625+12
	bl	_glfwParseGLVersion
	ldr	r3, .L625+16
	mov	r2, #0
	str	r2, [r3, #160]
	ldr	r3, .L625+16
	mov	r2, #0
	str	r2, [r3, #152]
	ldr	r3, .L625+16
	ldr	r3, [r3, #140]
	cmp	r3, #2
	ble	.L617
	sub	r3, fp, #12
	mov	r1, r3
	ldr	r0, .L625+20
	bl	glGetIntegerv
	ldr	r3, [fp, #-12]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L617
	ldr	r3, .L625+16
	mov	r2, #1
	str	r2, [r3, #152]
.L617:
	ldr	r3, .L625+16
	ldr	r3, [r3, #140]
	cmp	r3, #3
	bgt	.L619
	ldr	r3, .L625+16
	ldr	r3, [r3, #140]
	cmp	r3, #3
	bne	.L624
	ldr	r3, .L625+16
	ldr	r3, [r3, #144]
	cmp	r3, #1
	ble	.L624
.L619:
	sub	r3, fp, #12
	mov	r1, r3
	ldr	r0, .L625+24
	bl	glGetIntegerv
	ldr	r3, [fp, #-12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L621
	ldr	r3, .L625+16
	ldr	r2, .L625+28
	str	r2, [r3, #160]
	b	.L624
.L621:
	ldr	r3, [fp, #-12]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L624
	ldr	r3, .L625+16
	ldr	r2, .L625+32
	str	r2, [r3, #160]
.L624:
	nop
	ldr	r3, .L625
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L623
	bl	__stack_chk_fail
.L623:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L626:
	.align	2
.L625:
	.word	.LC17
	.word	_glfwWin+148
	.word	_glfwWin+144
	.word	_glfwWin+140
	.word	_glfwWin
	.word	33310
	.word	37158
	.word	327682
	.word	327681
	.size	_glfwRefreshContextParams, .-_glfwRefreshContextParams
	.align	2
	.global	_glfwRemoveThread
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwRemoveThread, %function
_glfwRemoveThread:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L628
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #4]
	str	r2, [r3, #4]
.L628:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L629
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2]
	str	r2, [r3]
.L629:
	ldr	r0, [fp, #-8]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	_glfwRemoveThread, .-_glfwRemoveThread
	.align	2
	.global	_glfwRestoreVideoMode
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwRestoreVideoMode, %function
_glfwRestoreVideoMode:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, .L634
	ldr	r3, [r3, #284]
	cmp	r3, #0
	beq	.L633
	ldr	r3, .L634+4
	ldr	r3, [r3, #108]
	cmp	r3, #0
	beq	.L632
	ldr	r3, .L634+4
	ldr	r3, [r3, #76]
	ldr	r2, .L634
	ldr	r2, [r2, #176]
	mov	r1, r2
	mov	r0, r3
	bl	XRRGetScreenInfo
	str	r0, [fp, #-8]
	ldr	r3, .L634+4
	ldr	r0, [r3, #76]
	ldr	r3, .L634
	ldr	r2, [r3, #176]
	ldr	r3, .L634
	add	r3, r3, #288
	ldrh	r3, [r3]
	mov	ip, r3
	ldr	r3, .L634
	add	r3, r3, #300
	ldrh	r3, [r3]
	mov	r1, #0
	str	r1, [sp, #4]
	str	r3, [sp]
	mov	r3, ip
	ldr	r1, [fp, #-8]
	bl	XRRSetScreenConfig
	ldr	r0, [fp, #-8]
	bl	XRRFreeScreenConfigInfo
.L632:
	ldr	r3, .L634
	mov	r2, #0
	str	r2, [r3, #284]
.L633:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L635:
	.align	2
.L634:
	.word	_glfwWin
	.word	_glfwLibrary
	.size	_glfwRestoreVideoMode, .-_glfwRestoreVideoMode
	.align	2
	.global	_glfwSeekStream
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwSeekStream, %function
_glfwSeekStream:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L637
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	fseek
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L638
	mov	r3, #0
	b	.L639
.L638:
	mov	r3, #1
	b	.L639
.L637:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L640
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	bne	.L641
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	b	.L642
.L641:
	ldr	r3, [fp, #-24]
	cmp	r3, #2
	bne	.L643
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	b	.L642
.L643:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L642
	mov	r3, #0
	b	.L639
.L642:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	ble	.L644
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	b	.L645
.L644:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bge	.L646
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #8]
	b	.L645
.L646:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #8]
.L645:
	mov	r3, #1
	b	.L639
.L640:
	mov	r3, #0
.L639:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	_glfwSeekStream, .-_glfwSeekStream
	.align	2
	.global	_glfwSetVideoMode
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwSetVideoMode, %function
_glfwSetVideoMode:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	_glfwGetClosestVideoMode
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	_glfwSetVideoModeMODE
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	_glfwSetVideoMode, .-_glfwSetVideoMode
	.align	2
	.global	_glfwSetVideoModeMODE
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwSetVideoModeMODE, %function
_glfwSetVideoModeMODE:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, .L654
	ldr	r3, [r3, #108]
	cmp	r3, #0
	beq	.L653
	ldr	r3, .L654
	ldr	r3, [r3, #76]
	ldr	r1, [r3, #140]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #4
	add	r3, r1, r3
	ldr	r3, [r3, #8]
	str	r3, [fp, #-12]
	ldr	r3, .L654
	ldr	r3, [r3, #76]
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	XRRGetScreenInfo
	str	r0, [fp, #-8]
	ldr	r3, .L654+4
	ldr	r3, [r3, #284]
	cmp	r3, #0
	bne	.L650
	ldr	r1, .L654+8
	ldr	r0, [fp, #-8]
	bl	XRRConfigCurrentConfiguration
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L654+4
	add	r3, r3, #288
	strh	r2, [r3]	@ movhi
	ldr	r3, .L654
	ldr	r3, [r3, #76]
	ldr	r1, [r3, #140]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #4
	add	r3, r1, r3
	ldr	r3, [r3, #12]
	ldr	r2, .L654+4
	str	r3, [r2, #292]
	ldr	r3, .L654
	ldr	r3, [r3, #76]
	ldr	r1, [r3, #140]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #4
	add	r3, r1, r3
	ldr	r3, [r3, #16]
	ldr	r2, .L654+4
	str	r3, [r2, #296]
	ldr	r3, .L654+4
	mov	r2, #1
	str	r2, [r3, #284]
.L650:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	ble	.L651
	ldr	r3, .L654
	ldr	r0, [r3, #76]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #16
	asr	r3, r3, #16
	mov	r2, #0
	str	r2, [sp, #8]
	str	r3, [sp, #4]
	mov	r3, #1
	str	r3, [sp]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-8]
	bl	XRRSetScreenConfigAndRate
	b	.L652
.L651:
	ldr	r3, .L654
	ldr	r0, [r3, #76]
	mov	r3, #0
	str	r3, [sp, #4]
	mov	r3, #1
	str	r3, [sp]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-8]
	bl	XRRSetScreenConfig
.L652:
	ldr	r0, [fp, #-8]
	bl	XRRFreeScreenConfigInfo
.L653:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L655:
	.align	2
.L654:
	.word	_glfwLibrary
	.word	_glfwWin
	.word	_glfwWin+300
	.size	_glfwSetVideoModeMODE, .-_glfwSetVideoModeMODE
	.align	2
	.global	_glfwStringInExtensionString
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwStringInExtensionString, %function
_glfwStringInExtensionString:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-24]
.L665:
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-24]
	bl	strstr
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L657
	mov	r3, #0
	b	.L658
.L657:
	ldr	r0, [fp, #-32]
	bl	strlen
	str	r0, [fp, #-12]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	bne	.L659
	mov	r3, #1
	strb	r3, [fp, #-26]
	b	.L660
.L659:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	moveq	r3, #1
	movne	r3, #0
	strb	r3, [fp, #-26]
.L660:
	ldrb	r3, [fp, #-26]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L661
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	bne	.L662
	mov	r3, #1
	strb	r3, [fp, #-25]
	b	.L663
.L662:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	strb	r3, [fp, #-25]
.L663:
	ldrb	r3, [fp, #-25]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L667
.L661:
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-24]
	b	.L665
.L667:
	nop
	mov	r3, #1
.L658:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	_glfwStringInExtensionString, .-_glfwStringInExtensionString
	.align	2
	.global	_glfwTellStream
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwTellStream, %function
_glfwTellStream:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L669
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r0, r3
	bl	ftell
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L670
.L669:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L671
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	b	.L670
.L671:
	mov	r3, #0
.L670:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	_glfwTellStream, .-_glfwTellStream
	.align	2
	.global	_glfwTerminateJoysticks
	.syntax unified
	.arm
	.fpu softvfp
	.type	_glfwTerminateJoysticks, %function
_glfwTerminateJoysticks:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L673
.L675:
	ldr	r1, .L676
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L674
	ldr	r1, .L676
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r0, r3
	bl	close
	ldr	r1, .L676
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #16
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r1, .L676
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #20
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r1, .L676
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	mov	r2, #0
	str	r2, [r3]
.L674:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L673:
	ldr	r3, [fp, #-8]
	cmp	r3, #15
	ble	.L675
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L677:
	.align	2
.L676:
	.word	_glfwJoy
	.size	_glfwTerminateJoysticks, .-_glfwTerminateJoysticks
	.section	.rodata
	.align	2
.LC18:
	.ascii	"_NET_SUPPORTING_WM_CHECK\000"
	.align	2
.LC19:
	.ascii	"_NET_SUPPORTED\000"
	.align	2
.LC20:
	.ascii	"_NET_WM_STATE\000"
	.align	2
.LC21:
	.ascii	"_NET_WM_STATE_FULLSCREEN\000"
	.align	2
.LC22:
	.ascii	"_NET_WM_PING\000"
	.align	2
.LC23:
	.ascii	"_NET_ACTIVE_WINDOW\000"
	.align	2
.LC24:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	checkForEWMH, %function
checkForEWMH:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	ldr	r3, .L687
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-36]
	ldr	r3, .L687+4
	ldr	r3, [r3, #76]
	mov	r2, #1
	ldr	r1, .L687+8
	mov	r0, r3
	bl	XInternAtom
	str	r0, [fp, #-28]
	ldr	r3, .L687+4
	ldr	r3, [r3, #76]
	mov	r2, #1
	ldr	r1, .L687+12
	mov	r0, r3
	bl	XInternAtom
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L679
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L680
.L679:
	mov	r3, #0
	b	.L685
.L680:
	ldr	r3, .L687+16
	ldr	r0, [r3, #176]
	sub	r3, fp, #40
	mov	r2, #33
	ldr	r1, [fp, #-28]
	bl	getWindowProperty
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	beq	.L682
	ldr	r3, [fp, #-40]
	mov	r0, r3
	bl	XFree
	mov	r3, #0
	b	.L685
.L682:
	ldr	r3, [fp, #-40]
	ldr	r0, [r3]
	sub	r3, fp, #36
	mov	r2, #33
	ldr	r1, [fp, #-28]
	bl	getWindowProperty
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	beq	.L683
	ldr	r3, [fp, #-40]
	mov	r0, r3
	bl	XFree
	ldr	r3, [fp, #-36]
	mov	r0, r3
	bl	XFree
	mov	r3, #0
	b	.L685
.L683:
	ldr	r3, [fp, #-40]
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L684
	ldr	r3, [fp, #-40]
	mov	r0, r3
	bl	XFree
	ldr	r3, [fp, #-36]
	mov	r0, r3
	bl	XFree
	mov	r3, #0
	b	.L685
.L684:
	ldr	r3, [fp, #-40]
	mov	r0, r3
	bl	XFree
	ldr	r3, [fp, #-36]
	mov	r0, r3
	bl	XFree
	ldr	r3, .L687+16
	ldr	r0, [r3, #176]
	sub	r3, fp, #32
	mov	r2, #4
	ldr	r1, [fp, #-24]
	bl	getWindowProperty
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-32]
	ldr	r2, .L687+20
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	getSupportedAtom
	mov	r3, r0
	ldr	r2, .L687+16
	str	r3, [r2, #204]
	ldr	r3, [fp, #-32]
	ldr	r2, .L687+24
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	getSupportedAtom
	mov	r3, r0
	ldr	r2, .L687+16
	str	r3, [r2, #208]
	ldr	r3, [fp, #-32]
	ldr	r2, .L687+28
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	getSupportedAtom
	mov	r3, r0
	ldr	r2, .L687+16
	str	r3, [r2, #200]
	ldr	r3, [fp, #-32]
	ldr	r2, .L687+32
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	getSupportedAtom
	mov	r3, r0
	ldr	r2, .L687+16
	str	r3, [r2, #212]
	ldr	r3, [fp, #-32]
	mov	r0, r3
	bl	XFree
	mov	r3, #1
.L685:
	ldr	r2, .L687
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L686
	bl	__stack_chk_fail
.L686:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L688:
	.align	2
.L687:
	.word	.LC24
	.word	_glfwLibrary
	.word	.LC18
	.word	.LC19
	.word	_glfwWin
	.word	.LC20
	.word	.LC21
	.word	.LC22
	.word	.LC23
	.size	checkForEWMH, .-checkForEWMH
	.section	.rodata
	.align	2
.LC25:
	.ascii	"Unable to retrieve the selected GLXFBConfig\012\000"
	.align	2
.LC26:
	.ascii	"Unable to retrieve visual for GLXFBconfig\012\000"
	.align	2
.LC27:
	.ascii	"OpenGL profile requested but GLX_ARB_create_context"
	.ascii	"_profile is unavailable\012\000"
	.align	2
.LC28:
	.ascii	"Unable to create OpenGL context\012\000"
	.align	2
.LC29:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	createContext, %function
createContext:
	@ args = 0, pretend = 0, frame = 248
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #260
	str	r0, [fp, #-256]
	str	r1, [fp, #-260]
	ldr	r3, .L715
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-240]
	ldr	r3, [fp, #-240]
	str	r3, [fp, #-232]
	ldr	r3, [fp, #-240]
	add	r3, r3, #1
	str	r3, [fp, #-240]
	ldr	r3, [fp, #-232]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r2, .L715+4
	str	r2, [r3, #-164]
	ldr	r3, [fp, #-240]
	str	r3, [fp, #-228]
	ldr	r3, [fp, #-240]
	add	r3, r3, #1
	str	r3, [fp, #-240]
	ldr	r2, [fp, #-260]
	ldr	r3, [fp, #-228]
	lsl	r3, r3, #2
	sub	r1, fp, #12
	add	r3, r1, r3
	str	r2, [r3, #-164]
	ldr	r3, [fp, #-240]
	str	r3, [fp, #-224]
	ldr	r3, [fp, #-240]
	add	r3, r3, #1
	str	r3, [fp, #-240]
	ldr	r3, [fp, #-224]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3, #-164]
	ldr	r3, [fp, #-240]
	str	r3, [fp, #-220]
	ldr	r3, [fp, #-240]
	add	r3, r3, #1
	str	r3, [fp, #-240]
	ldr	r3, [fp, #-220]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3, #-164]
	ldr	r3, .L715+8
	ldrb	r3, [r3, #252]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L690
	ldr	r3, .L715+8
	ldr	r4, [r3, #236]
	ldr	r3, .L715+12
	ldr	r0, [r3, #76]
	ldr	r3, .L715+8
	ldr	r1, [r3, #180]
	sub	r3, fp, #248
	sub	r2, fp, #176
	blx	r4
	str	r0, [fp, #-236]
	b	.L691
.L690:
	ldr	r3, .L715+12
	ldr	r0, [r3, #76]
	ldr	r3, .L715+8
	ldr	r1, [r3, #180]
	sub	r3, fp, #248
	sub	r2, fp, #176
	bl	glXChooseFBConfig
	str	r0, [fp, #-236]
.L691:
	ldr	r3, [fp, #-236]
	cmp	r3, #0
	bne	.L692
	ldr	r3, .L715+16
	ldr	r3, [r3]
	mov	r2, #44
	mov	r1, #1
	ldr	r0, .L715+20
	bl	fwrite
	mov	r3, #0
	b	.L713
.L692:
	ldr	r3, .L715+8
	ldrb	r3, [r3, #252]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L694
	ldr	r3, .L715+8
	ldr	r3, [r3, #244]
	ldr	r2, .L715+12
	ldr	r0, [r2, #76]
	ldr	r2, [fp, #-236]
	ldr	r2, [r2]
	mov	r1, r2
	blx	r3
	mov	r3, r0
	ldr	r2, .L715+8
	str	r3, [r2, #184]
	b	.L695
.L694:
	ldr	r3, .L715+12
	ldr	r2, [r3, #76]
	ldr	r3, [fp, #-236]
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, r2
	bl	glXGetVisualFromFBConfig
	mov	r3, r0
	ldr	r2, .L715+8
	str	r3, [r2, #184]
.L695:
	ldr	r3, .L715+8
	ldr	r3, [r3, #184]
	cmp	r3, #0
	bne	.L696
	ldr	r0, [fp, #-236]
	bl	XFree
	ldr	r3, .L715+16
	ldr	r3, [r3]
	mov	r2, #42
	mov	r1, #1
	ldr	r0, .L715+24
	bl	fwrite
	mov	r3, #0
	b	.L713
.L696:
	ldr	r3, .L715+8
	ldrb	r3, [r3, #257]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L697
	mov	r3, #0
	str	r3, [fp, #-240]
	ldr	r3, [fp, #-256]
	ldr	r3, [r3, #12]
	cmp	r3, #1
	beq	.L698
	mov	r3, #1
	strb	r3, [fp, #-250]
	b	.L699
.L698:
	ldr	r3, [fp, #-256]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	strb	r3, [fp, #-250]
.L699:
	ldrb	r3, [fp, #-250]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L700
	ldr	r3, [fp, #-240]
	str	r3, [fp, #-216]
	ldr	r3, [fp, #-240]
	add	r3, r3, #1
	str	r3, [fp, #-240]
	ldr	r3, [fp, #-216]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r2, .L715+28
	str	r2, [r3, #-164]
	ldr	r3, [fp, #-240]
	str	r3, [fp, #-212]
	ldr	r3, [fp, #-240]
	add	r3, r3, #1
	str	r3, [fp, #-240]
	ldr	r3, [fp, #-256]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-212]
	lsl	r3, r3, #2
	sub	r1, fp, #12
	add	r3, r1, r3
	str	r2, [r3, #-164]
	ldr	r3, [fp, #-240]
	str	r3, [fp, #-208]
	ldr	r3, [fp, #-240]
	add	r3, r3, #1
	str	r3, [fp, #-240]
	ldr	r3, [fp, #-208]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r2, .L715+32
	str	r2, [r3, #-164]
	ldr	r3, [fp, #-240]
	str	r3, [fp, #-204]
	ldr	r3, [fp, #-240]
	add	r3, r3, #1
	str	r3, [fp, #-240]
	ldr	r3, [fp, #-256]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-204]
	lsl	r3, r3, #2
	sub	r1, fp, #12
	add	r3, r1, r3
	str	r2, [r3, #-164]
.L700:
	ldr	r3, [fp, #-256]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L701
	mov	r3, #1
	strb	r3, [fp, #-249]
	b	.L702
.L701:
	ldr	r3, [fp, #-256]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	strb	r3, [fp, #-249]
.L702:
	ldrb	r3, [fp, #-249]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L703
	mov	r3, #0
	str	r3, [fp, #-244]
	ldr	r3, [fp, #-256]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L704
	ldr	r3, [fp, #-244]
	orr	r3, r3, #2
	str	r3, [fp, #-244]
.L704:
	ldr	r3, [fp, #-256]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	beq	.L705
	ldr	r3, [fp, #-244]
	orr	r3, r3, #1
	str	r3, [fp, #-244]
.L705:
	ldr	r3, [fp, #-240]
	str	r3, [fp, #-200]
	ldr	r3, [fp, #-240]
	add	r3, r3, #1
	str	r3, [fp, #-240]
	ldr	r3, [fp, #-200]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r2, .L715+36
	str	r2, [r3, #-164]
	ldr	r3, [fp, #-240]
	str	r3, [fp, #-196]
	ldr	r3, [fp, #-240]
	add	r3, r3, #1
	str	r3, [fp, #-240]
	ldr	r3, [fp, #-196]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r2, [fp, #-244]
	str	r2, [r3, #-164]
.L703:
	ldr	r3, [fp, #-256]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	beq	.L706
	ldr	r3, .L715+8
	ldrb	r3, [r3, #258]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L707
	ldr	r3, .L715+16
	ldr	r3, [r3]
	mov	r2, #75
	mov	r1, #1
	ldr	r0, .L715+40
	bl	fwrite
	mov	r3, #0
	b	.L713
.L707:
	ldr	r3, [fp, #-256]
	ldr	r3, [r3, #28]
	ldr	r2, .L715+44
	cmp	r3, r2
	bne	.L708
	mov	r3, #1
	str	r3, [fp, #-244]
	b	.L709
.L708:
	mov	r3, #2
	str	r3, [fp, #-244]
.L709:
	ldr	r3, [fp, #-240]
	str	r3, [fp, #-192]
	ldr	r3, [fp, #-240]
	add	r3, r3, #1
	str	r3, [fp, #-240]
	ldr	r3, [fp, #-192]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r2, .L715+48
	str	r2, [r3, #-164]
	ldr	r3, [fp, #-240]
	str	r3, [fp, #-188]
	ldr	r3, [fp, #-240]
	add	r3, r3, #1
	str	r3, [fp, #-240]
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r2, [fp, #-244]
	str	r2, [r3, #-164]
.L706:
	ldr	r3, [fp, #-240]
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-240]
	add	r3, r3, #1
	str	r3, [fp, #-240]
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3, #-164]
	ldr	r3, [fp, #-240]
	str	r3, [fp, #-180]
	ldr	r3, [fp, #-240]
	add	r3, r3, #1
	str	r3, [fp, #-240]
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3, #-164]
	ldr	r0, .L715+52
	bl	XSetErrorHandler
	ldr	r3, .L715+8
	ldr	r4, [r3, #248]
	ldr	r3, .L715+12
	ldr	r0, [r3, #76]
	ldr	r3, [fp, #-236]
	ldr	r1, [r3]
	sub	r3, fp, #176
	str	r3, [sp]
	mov	r3, #1
	mov	r2, #0
	blx	r4
	mov	r3, r0
	ldr	r2, .L715+8
	str	r3, [r2, #192]
	mov	r0, #0
	bl	XSetErrorHandler
	ldr	r3, .L715+8
	ldr	r3, [r3, #192]
	cmp	r3, #0
	bne	.L710
	ldr	r3, .L715+12
	ldr	r3, [r3, #92]
	add	r3, r3, #13
	mov	r2, r3
	ldr	r3, .L715+56
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L710
	ldr	r3, [fp, #-256]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	bne	.L710
	ldr	r3, [fp, #-256]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	bne	.L710
	ldr	r3, [fp, #-236]
	ldr	r3, [r3]
	mov	r0, r3
	bl	createLegacyContext
	mov	r3, r0
	ldr	r2, .L715+8
	str	r3, [r2, #192]
.L710:
	ldr	r3, [fp, #-256]
	ldr	r3, [r3, #24]
	ldr	r2, .L715+8
	str	r3, [r2, #156]
	b	.L711
.L697:
	ldr	r3, [fp, #-236]
	ldr	r3, [r3]
	mov	r0, r3
	bl	createLegacyContext
	mov	r3, r0
	ldr	r2, .L715+8
	str	r3, [r2, #192]
.L711:
	ldr	r0, [fp, #-236]
	bl	XFree
	ldr	r3, .L715+8
	ldr	r3, [r3, #192]
	cmp	r3, #0
	bne	.L712
	ldr	r3, .L715+16
	ldr	r3, [r3]
	mov	r2, #32
	mov	r1, #1
	ldr	r0, .L715+60
	bl	fwrite
	mov	r3, #0
	b	.L713
.L712:
	ldr	r2, .L715+8
	ldr	r3, [fp, #-260]
	str	r3, [r2, #188]
	mov	r3, #1
.L713:
	ldr	r2, .L715
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L714
	bl	__stack_chk_fail
.L714:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L716:
	.align	2
.L715:
	.word	.LC29
	.word	32787
	.word	_glfwWin
	.word	_glfwLibrary
	.word	stderr
	.word	.LC25
	.word	.LC26
	.word	8337
	.word	8338
	.word	8340
	.word	.LC27
	.word	327681
	.word	37158
	.word	errorHandler
	.word	_glfwErrorCode
	.word	.LC28
	.size	createContext, .-createContext
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	createLegacyContext, %function
createLegacyContext:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	ldr	r3, .L720
	ldrb	r3, [r3, #252]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L718
	ldr	r3, .L720
	ldr	r4, [r3, #240]
	ldr	r3, .L720+4
	ldr	r0, [r3, #76]
	mov	r3, #1
	str	r3, [sp]
	mov	r3, #0
	ldr	r2, .L720+8
	ldr	r1, [fp, #-24]
	blx	r4
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	b	.L719
.L718:
	ldr	r3, .L720+4
	ldr	r0, [r3, #76]
	mov	r3, #1
	str	r3, [sp]
	mov	r3, #0
	ldr	r2, .L720+8
	ldr	r1, [fp, #-24]
	bl	glXCreateNewContext
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
.L719:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L721:
	.align	2
.L720:
	.word	_glfwWin
	.word	_glfwLibrary
	.word	32788
	.size	createLegacyContext, .-createLegacyContext
	.section	.rodata
	.align	2
.LC30:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	createNULLCursor, %function
createNULLCursor:
	@ args = 0, pretend = 0, frame = 128
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #144
	str	r0, [fp, #-128]
	str	r1, [fp, #-132]
	ldr	r3, .L725
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #1
	str	r3, [sp]
	mov	r3, #1
	mov	r2, #1
	ldr	r1, [fp, #-132]
	ldr	r0, [fp, #-128]
	bl	XCreatePixmap
	str	r0, [fp, #-124]
	mov	r3, #0
	str	r3, [fp, #-100]
	sub	r3, fp, #100
	mov	r2, #1
	ldr	r1, [fp, #-124]
	ldr	r0, [fp, #-128]
	bl	XCreateGC
	str	r0, [fp, #-120]
	mov	r3, #1
	str	r3, [sp, #8]
	mov	r3, #1
	str	r3, [sp, #4]
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r2, [fp, #-120]
	ldr	r1, [fp, #-124]
	ldr	r0, [fp, #-128]
	bl	XFillRectangle
	mov	r3, #0
	str	r3, [fp, #-112]
	mov	r3, #0
	strh	r3, [fp, #-108]	@ movhi
	mov	r3, #4
	strb	r3, [fp, #-102]
	sub	r2, fp, #112
	mov	r3, #0
	str	r3, [sp, #8]
	mov	r3, #0
	str	r3, [sp, #4]
	sub	r3, fp, #112
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-124]
	ldr	r1, [fp, #-124]
	ldr	r0, [fp, #-128]
	bl	XCreatePixmapCursor
	str	r0, [fp, #-116]
	ldr	r1, [fp, #-124]
	ldr	r0, [fp, #-128]
	bl	XFreePixmap
	ldr	r1, [fp, #-120]
	ldr	r0, [fp, #-128]
	bl	XFreeGC
	ldr	r3, [fp, #-116]
	ldr	r2, .L725
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L724
	bl	__stack_chk_fail
.L724:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L726:
	.align	2
.L725:
	.word	.LC30
	.size	createNULLCursor, .-createNULLCursor
	.section	.rodata
	.align	2
.LC31:
	.ascii	"WM_DELETE_WINDOW\000"
	.align	2
.LC32:
	.ascii	"GLFW Window\000"
	.align	2
.LC33:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	createWindow, %function
createWindow:
	@ args = 0, pretend = 0, frame = 272
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #308
	str	r0, [fp, #-272]
	str	r1, [fp, #-276]
	str	r2, [fp, #-280]
	ldr	r3, .L741
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, .L741+4
	ldr	r0, [r3, #76]
	ldr	r3, .L741+8
	ldr	r1, [r3, #176]
	ldr	r3, .L741+8
	ldr	r3, [r3, #184]
	ldr	r2, [r3]
	mov	r3, #0
	bl	XCreateColormap
	mov	r3, r0
	ldr	r2, .L741+8
	str	r3, [r2, #168]
	ldr	r3, .L741+12
	str	r3, [fp, #-264]
	ldr	r3, .L741+8
	ldr	r3, [r3, #168]
	str	r3, [fp, #-188]
	mov	r3, #0
	str	r3, [fp, #-228]
	ldr	r3, .L741+16
	str	r3, [fp, #-200]
	ldr	r3, [fp, #-280]
	ldr	r3, [r3]
	ldr	r2, .L741+20
	cmp	r3, r2
	bne	.L728
	ldr	r3, .L741+4
	ldr	r3, [r3, #76]
	ldr	r2, [r3, #140]
	ldr	r3, .L741+8
	ldr	r3, [r3, #180]
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #56]
	str	r3, [fp, #-236]
	ldr	r3, [fp, #-264]
	orr	r3, r3, #2
	str	r3, [fp, #-264]
.L728:
	ldr	r3, .L741+4
	ldr	r0, [r3, #76]
	ldr	r3, .L741+8
	ldr	ip, [r3, #176]
	ldr	r3, .L741+8
	ldr	r3, [r3, #68]
	mov	lr, r3
	ldr	r3, .L741+8
	ldr	r3, [r3, #72]
	mov	r4, r3
	ldr	r3, .L741+8
	ldr	r3, [r3, #184]
	ldr	r3, [r3, #12]
	ldr	r2, .L741+8
	ldr	r2, [r2, #184]
	ldr	r2, [r2]
	sub	r1, fp, #240
	str	r1, [sp, #28]
	ldr	r1, [fp, #-264]
	str	r1, [sp, #24]
	str	r2, [sp, #20]
	mov	r2, #1
	str	r2, [sp, #16]
	str	r3, [sp, #12]
	mov	r3, #0
	str	r3, [sp, #8]
	str	r4, [sp, #4]
	str	lr, [sp]
	mov	r3, #0
	mov	r2, #0
	mov	r1, ip
	bl	XCreateWindow
	mov	r3, r0
	ldr	r2, .L741+8
	str	r3, [r2, #172]
	ldr	r3, .L741+8
	ldr	r3, [r3, #172]
	cmp	r3, #0
	bne	.L729
	bl	_glfwPlatformCloseWindow
	mov	r3, #0
	b	.L739
.L729:
	bl	checkForEWMH
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L741+8
	strb	r2, [r3, #259]
	ldr	r3, .L741+8
	ldrb	r3, [r3, #259]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L731
	ldr	r3, .L741+8
	ldr	r3, [r3, #32]
	cmp	r3, #0
	beq	.L731
	mov	r3, #1
	str	r3, [fp, #-132]
	ldr	r3, .L741+4
	ldr	r0, [r3, #76]
	ldr	r3, .L741+8
	ldr	r1, [r3, #172]
	sub	r3, fp, #180
	mov	r2, #512
	bl	XChangeWindowAttributes
	ldr	r3, .L741+8
	mov	r2, #1
	strb	r2, [r3, #260]
.L731:
	ldr	r3, .L741+4
	ldr	r3, [r3, #76]
	mov	r2, #0
	ldr	r1, .L741+24
	mov	r0, r3
	bl	XInternAtom
	mov	r3, r0
	ldr	r2, .L741+8
	str	r3, [r2, #196]
	mov	r3, #0
	str	r3, [fp, #-260]
	ldr	r3, .L741+8
	ldr	r3, [r3, #196]
	cmp	r3, #0
	beq	.L732
	ldr	r3, [fp, #-260]
	str	r3, [fp, #-256]
	ldr	r3, [fp, #-260]
	add	r3, r3, #1
	str	r3, [fp, #-260]
	ldr	r3, .L741+8
	ldr	r2, [r3, #196]
	ldr	r3, [fp, #-256]
	lsl	r3, r3, #2
	sub	r1, fp, #12
	add	r3, r1, r3
	str	r2, [r3, #-108]
.L732:
	ldr	r3, .L741+8
	ldr	r3, [r3, #200]
	cmp	r3, #0
	beq	.L733
	ldr	r3, [fp, #-260]
	str	r3, [fp, #-252]
	ldr	r3, [fp, #-260]
	add	r3, r3, #1
	str	r3, [fp, #-260]
	ldr	r3, .L741+8
	ldr	r2, [r3, #200]
	ldr	r3, [fp, #-252]
	lsl	r3, r3, #2
	sub	r1, fp, #12
	add	r3, r1, r3
	str	r2, [r3, #-108]
.L733:
	ldr	r3, [fp, #-260]
	cmp	r3, #0
	ble	.L734
	ldr	r3, .L741+4
	ldr	r0, [r3, #76]
	ldr	r3, .L741+8
	ldr	r1, [r3, #172]
	sub	r2, fp, #120
	ldr	r3, [fp, #-260]
	bl	XSetWMProtocols
.L734:
	bl	XAllocWMHints
	str	r0, [fp, #-248]
	ldr	r3, [fp, #-248]
	cmp	r3, #0
	bne	.L735
	bl	_glfwPlatformCloseWindow
	mov	r3, #0
	b	.L739
.L735:
	ldr	r3, [fp, #-248]
	mov	r2, #2
	str	r2, [r3]
	ldr	r3, [fp, #-248]
	mov	r2, #1
	str	r2, [r3, #8]
	ldr	r3, .L741+4
	ldr	r3, [r3, #76]
	ldr	r2, .L741+8
	ldr	r1, [r2, #172]
	ldr	r2, [fp, #-248]
	mov	r0, r3
	bl	XSetWMHints
	ldr	r0, [fp, #-248]
	bl	XFree
	bl	XAllocSizeHints
	str	r0, [fp, #-244]
	ldr	r3, [fp, #-244]
	cmp	r3, #0
	bne	.L737
	bl	_glfwPlatformCloseWindow
	mov	r3, #0
	b	.L739
.L737:
	ldr	r3, [fp, #-244]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-280]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L738
	ldr	r3, .L741+8
	ldr	r3, [r3, #32]
	cmp	r3, #0
	bne	.L738
	ldr	r3, [fp, #-244]
	ldr	r3, [r3]
	orr	r2, r3, #48
	ldr	r3, [fp, #-244]
	str	r2, [r3]
	ldr	r3, .L741+8
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-244]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-244]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-244]
	str	r2, [r3, #20]
	ldr	r3, .L741+8
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-244]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-244]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-244]
	str	r2, [r3, #24]
.L738:
	ldr	r3, .L741+4
	ldr	r3, [r3, #76]
	ldr	r2, .L741+8
	ldr	r1, [r2, #172]
	ldr	r2, [fp, #-244]
	mov	r0, r3
	bl	XSetWMNormalHints
	ldr	r0, [fp, #-244]
	bl	XFree
	ldr	r0, .L741+28
	bl	_glfwPlatformSetWindowTitle
	ldr	r3, .L741+4
	ldr	r3, [r3, #76]
	ldr	r2, .L741+8
	ldr	r2, [r2, #172]
	mov	r1, r2
	mov	r0, r3
	bl	XMapWindow
	ldr	r3, .L741+4
	ldr	r0, [r3, #76]
	ldr	r3, .L741+8
	ldr	r3, [r3, #172]
	sub	r1, fp, #112
	ldr	r2, .L741+32
	bl	XPeekIfEvent
	mov	r3, #1
.L739:
	ldr	r2, .L741
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L740
	bl	__stack_chk_fail
.L740:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L742:
	.align	2
.L741:
	.word	.LC33
	.word	_glfwLibrary
	.word	_glfwWin
	.word	10248
	.word	2326607
	.word	65537
	.word	.LC31
	.word	.LC32
	.word	isMapNotify
	.size	createWindow, .-createWindow
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	disableAutoPollEvents, %function
disableAutoPollEvents:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L744
	mov	r2, #0
	str	r2, [r3, #40]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L745:
	.align	2
.L744:
	.word	_glfwWin
	.size	disableAutoPollEvents, .-disableAutoPollEvents
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	disableKeyRepeat, %function
disableKeyRepeat:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L747
	mov	r2, #0
	str	r2, [r3, #360]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L748:
	.align	2
.L747:
	.word	_glfwInput
	.size	disableKeyRepeat, .-disableKeyRepeat
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	disableMouseCursor, %function
disableMouseCursor:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L753
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L752
	ldr	r3, .L753
	ldr	r3, [r3, #36]
	cmp	r3, #0
	bne	.L752
	ldr	r3, .L753
	ldr	r3, [r3, #60]
	cmp	r3, #0
	beq	.L751
	bl	_glfwPlatformHideMouseCursor
.L751:
	ldr	r3, .L753
	mov	r2, #1
	str	r2, [r3, #36]
.L752:
	nop
	pop	{fp, pc}
.L754:
	.align	2
.L753:
	.word	_glfwWin
	.size	disableMouseCursor, .-disableMouseCursor
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	disableStickyKeys, %function
disableStickyKeys:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	ldr	r3, .L759
	mov	r2, #0
	str	r2, [r3, #352]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L756
.L758:
	ldr	r2, .L759
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	add	r3, r3, #20
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #2
	bne	.L757
	ldr	r2, .L759
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	add	r3, r3, #20
	mov	r2, #0
	strb	r2, [r3]
.L757:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L756:
	ldr	r3, [fp, #-8]
	ldr	r2, .L759+4
	cmp	r3, r2
	ble	.L758
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L760:
	.align	2
.L759:
	.word	_glfwInput
	.word	325
	.size	disableStickyKeys, .-disableStickyKeys
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	disableStickyMouseButtons, %function
disableStickyMouseButtons:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	ldr	r3, .L765
	mov	r2, #0
	str	r2, [r3, #356]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L762
.L764:
	ldr	r2, .L765
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	add	r3, r3, #12
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #2
	bne	.L763
	ldr	r2, .L765
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	add	r3, r3, #12
	mov	r2, #0
	strb	r2, [r3]
.L763:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L762:
	ldr	r3, [fp, #-8]
	cmp	r3, #7
	ble	.L764
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L766:
	.align	2
.L765:
	.word	_glfwInput
	.size	disableStickyMouseButtons, .-disableStickyMouseButtons
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	disableSystemKeys, %function
disableSystemKeys:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L770
	ldr	r3, [r3, #44]
	cmp	r3, #0
	bne	.L769
	bl	_glfwPlatformDisableSystemKeys
	ldr	r3, .L770
	mov	r2, #1
	str	r2, [r3, #44]
.L769:
	nop
	pop	{fp, pc}
.L771:
	.align	2
.L770:
	.word	_glfwWin
	.size	disableSystemKeys, .-disableSystemKeys
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	enableAutoPollEvents, %function
enableAutoPollEvents:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L773
	mov	r2, #1
	str	r2, [r3, #40]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L774:
	.align	2
.L773:
	.word	_glfwWin
	.size	enableAutoPollEvents, .-enableAutoPollEvents
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	enableKeyRepeat, %function
enableKeyRepeat:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L776
	mov	r2, #1
	str	r2, [r3, #360]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L777:
	.align	2
.L776:
	.word	_glfwInput
	.size	enableKeyRepeat, .-enableKeyRepeat
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	enableMouseCursor, %function
enableMouseCursor:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r3, .L783
	ldr	r3, [r3, #36]
	cmp	r3, #0
	beq	.L782
	ldr	r3, .L783
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L782
	ldr	r3, .L783
	ldr	r3, [r3, #60]
	cmp	r3, #0
	beq	.L780
	bl	_glfwPlatformShowMouseCursor
	ldr	r3, .L783
	ldr	r3, [r3, #68]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, .L783
	ldr	r3, [r3, #72]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, .L783+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bne	.L781
	ldr	r3, .L783+4
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	beq	.L780
.L781:
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-12]
	bl	_glfwPlatformSetMouseCursorPos
	ldr	r2, .L783+4
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	ldr	r2, .L783+4
	ldr	r3, [fp, #-8]
	str	r3, [r2, #4]
	ldr	r3, .L783
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L780
	ldr	r3, .L783
	ldr	r3, [r3, #16]
	ldr	r2, .L783+4
	ldr	r2, [r2]
	ldr	r1, .L783+4
	ldr	r1, [r1, #4]
	mov	r0, r2
	blx	r3
.L780:
	ldr	r3, .L783
	mov	r2, #0
	str	r2, [r3, #36]
.L782:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L784:
	.align	2
.L783:
	.word	_glfwWin
	.word	_glfwInput
	.size	enableMouseCursor, .-enableMouseCursor
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	enableStickyKeys, %function
enableStickyKeys:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L786
	mov	r2, #1
	str	r2, [r3, #352]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L787:
	.align	2
.L786:
	.word	_glfwInput
	.size	enableStickyKeys, .-enableStickyKeys
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	enableStickyMouseButtons, %function
enableStickyMouseButtons:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L789
	mov	r2, #1
	str	r2, [r3, #356]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L790:
	.align	2
.L789:
	.word	_glfwInput
	.size	enableStickyMouseButtons, .-enableStickyMouseButtons
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	enableSystemKeys, %function
enableSystemKeys:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L794
	ldr	r3, [r3, #44]
	cmp	r3, #0
	beq	.L793
	bl	_glfwPlatformEnableSystemKeys
	ldr	r3, .L794
	mov	r2, #0
	str	r2, [r3, #44]
.L793:
	nop
	pop	{fp, pc}
.L795:
	.align	2
.L794:
	.word	_glfwWin
	.size	enableSystemKeys, .-enableSystemKeys
	.section	.rodata
	.align	2
.LC34:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	enterFullscreenMode, %function
enterFullscreenMode:
	@ args = 0, pretend = 0, frame = 104
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #128
	ldr	r3, .L803
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L803+4
	ldr	r3, [r3, #264]
	cmp	r3, #0
	bne	.L797
	ldr	r3, .L803+8
	ldr	r0, [r3, #76]
	ldr	r3, .L803+12
	str	r3, [sp]
	ldr	r3, .L803+16
	ldr	r2, .L803+20
	ldr	r1, .L803+24
	bl	XGetScreenSaver
	ldr	r3, .L803+8
	ldr	r0, [r3, #76]
	mov	r3, #2
	str	r3, [sp]
	mov	r3, #0
	mov	r2, #0
	mov	r1, #0
	bl	XSetScreenSaver
	ldr	r3, .L803+4
	mov	r2, #1
	str	r2, [r3, #264]
.L797:
	ldr	r3, .L803+4
	ldr	r0, [r3, #180]
	ldr	r3, .L803+28
	ldr	r2, .L803+32
	ldr	r1, .L803+36
	bl	_glfwSetVideoMode
	ldr	r3, .L803+4
	ldr	r3, [r3, #204]
	cmp	r3, #0
	beq	.L798
	ldr	r3, .L803+4
	ldr	r3, [r3, #208]
	cmp	r3, #0
	beq	.L798
	ldr	r3, .L803+4
	ldrb	r3, [r3, #259]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L798
	ldr	r3, .L803+4
	ldr	r3, [r3, #212]
	cmp	r3, #0
	beq	.L799
	sub	r3, fp, #104
	mov	r2, #96
	mov	r1, #0
	mov	r0, r3
	bl	memset
	mov	r3, #33
	str	r3, [fp, #-104]
	ldr	r3, .L803+4
	ldr	r3, [r3, #172]
	str	r3, [fp, #-88]
	mov	r3, #32
	str	r3, [fp, #-80]
	ldr	r3, .L803+4
	ldr	r3, [r3, #212]
	str	r3, [fp, #-84]
	mov	r3, #1
	str	r3, [fp, #-76]
	mov	r3, #0
	str	r3, [fp, #-72]
	ldr	r3, .L803+8
	ldr	r0, [r3, #76]
	ldr	r3, .L803+4
	ldr	r1, [r3, #176]
	sub	r3, fp, #104
	str	r3, [sp]
	mov	r3, #1572864
	mov	r2, #0
	bl	XSendEvent
.L799:
	sub	r3, fp, #104
	mov	r2, #96
	mov	r1, #0
	mov	r0, r3
	bl	memset
	mov	r3, #33
	str	r3, [fp, #-104]
	ldr	r3, .L803+4
	ldr	r3, [r3, #172]
	str	r3, [fp, #-88]
	mov	r3, #32
	str	r3, [fp, #-80]
	ldr	r3, .L803+4
	ldr	r3, [r3, #204]
	str	r3, [fp, #-84]
	mov	r3, #1
	str	r3, [fp, #-76]
	ldr	r3, .L803+4
	ldr	r3, [r3, #208]
	str	r3, [fp, #-72]
	mov	r3, #0
	str	r3, [fp, #-68]
	mov	r3, #1
	str	r3, [fp, #-64]
	ldr	r3, .L803+8
	ldr	r0, [r3, #76]
	ldr	r3, .L803+4
	ldr	r1, [r3, #176]
	sub	r3, fp, #104
	str	r3, [sp]
	mov	r3, #1572864
	mov	r2, #0
	bl	XSendEvent
	b	.L800
.L798:
	ldr	r3, .L803+4
	ldrb	r3, [r3, #260]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L800
	ldr	r3, .L803+8
	ldr	r3, [r3, #76]
	ldr	r2, .L803+4
	ldr	r2, [r2, #172]
	mov	r1, r2
	mov	r0, r3
	bl	XRaiseWindow
	ldr	r3, .L803+8
	ldr	r0, [r3, #76]
	ldr	r3, .L803+4
	ldr	r1, [r3, #172]
	mov	r3, #0
	mov	r2, #2
	bl	XSetInputFocus
	ldr	r3, .L803+8
	ldr	r0, [r3, #76]
	ldr	r3, .L803+4
	ldr	r1, [r3, #172]
	mov	r3, #0
	mov	r2, #0
	bl	XMoveWindow
	ldr	r3, .L803+8
	ldr	r0, [r3, #76]
	ldr	r3, .L803+4
	ldr	r1, [r3, #172]
	ldr	r3, .L803+4
	ldr	r3, [r3, #68]
	mov	r2, r3
	ldr	r3, .L803+4
	ldr	r3, [r3, #72]
	bl	XResizeWindow
.L800:
	ldr	r3, .L803+4
	ldr	r3, [r3, #36]
	cmp	r3, #0
	beq	.L801
	bl	_glfwPlatformHideMouseCursor
.L801:
	ldr	r3, .L803+8
	ldr	r0, [r3, #76]
	ldr	r3, .L803+4
	ldr	r2, [r3, #172]
	mov	r3, #0
	str	r3, [sp, #16]
	mov	r3, #0
	str	r3, [sp, #12]
	mov	r3, #0
	str	r3, [sp, #8]
	mov	r3, #0
	str	r3, [sp, #4]
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	mov	r1, #0
	bl	XWarpPointer
	ldr	r3, .L803+8
	ldr	r0, [r3, #76]
	ldr	r3, .L803+4
	ldr	r1, [r3, #172]
	ldr	r3, .L803+4
	ldr	r3, [r3, #68]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	mov	ip, r3
	ldr	r3, .L803+4
	ldr	r3, [r3, #72]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [sp, #16]
	str	ip, [sp, #12]
	mov	r3, #0
	str	r3, [sp, #8]
	mov	r3, #0
	str	r3, [sp, #4]
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	mov	r2, r1
	mov	r1, #0
	bl	XWarpPointer
	nop
	ldr	r3, .L803
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L802
	bl	__stack_chk_fail
.L802:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L804:
	.align	2
.L803:
	.word	.LC34
	.word	_glfwWin
	.word	_glfwLibrary
	.word	_glfwWin+280
	.word	_glfwWin+276
	.word	_glfwWin+272
	.word	_glfwWin+268
	.word	_glfwWin+52
	.word	_glfwWin+72
	.word	_glfwWin+68
	.size	enterFullscreenMode, .-enterFullscreenMode
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	errorHandler, %function
errorHandler:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3, #16]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L807
	str	r2, [r3]
	mov	r3, #0
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L808:
	.align	2
.L807:
	.word	_glfwErrorCode
	.size	errorHandler, .-errorHandler
	.section	.rodata
	.align	2
.LC35:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	getFBConfigAttrib, %function
getFBConfigAttrib:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #20
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, .L814
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, .L814+4
	ldrb	r3, [r3, #252]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L810
	ldr	r3, .L814+4
	ldr	r4, [r3, #232]
	ldr	r3, .L814+8
	ldr	r0, [r3, #76]
	sub	r3, fp, #20
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-24]
	blx	r4
	b	.L811
.L810:
	ldr	r3, .L814+8
	ldr	r0, [r3, #76]
	sub	r3, fp, #20
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-24]
	bl	glXGetFBConfigAttrib
.L811:
	ldr	r3, [fp, #-20]
	ldr	r2, .L814
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L813
	bl	__stack_chk_fail
.L813:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L815:
	.align	2
.L814:
	.word	.LC35
	.word	_glfwWin
	.word	_glfwLibrary
	.size	getFBConfigAttrib, .-getFBConfigAttrib
	.section	.rodata
	.align	2
.LC36:
	.ascii	"GLXFBConfigs are not supported by the X server\012\000"
	.align	2
.LC37:
	.ascii	"Chromium\000"
	.align	2
.LC38:
	.ascii	"No GLXFBConfigs returned\012\000"
	.align	2
.LC39:
	.ascii	"Out of memory\012\000"
	.align	2
.LC40:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	getFBConfigs, %function
getFBConfigs:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #68
	str	r0, [fp, #-72]
	ldr	r3, .L837
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-64]
	mov	r3, #1
	strb	r3, [fp, #-66]
	ldr	r3, [fp, #-72]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L837+4
	ldr	r3, [r3, #80]
	cmp	r3, #1
	bne	.L834
	ldr	r3, .L837+4
	ldr	r3, [r3, #84]
	cmp	r3, #2
	bgt	.L834
	ldr	r3, .L837+8
	ldrb	r3, [r3, #252]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L835
	ldr	r3, .L837+12
	ldr	r3, [r3]
	mov	r2, #47
	mov	r1, #1
	ldr	r0, .L837+16
	bl	fwrite
	mov	r3, #0
	b	.L832
.L834:
	nop
	b	.L817
.L835:
	nop
.L817:
	ldr	r3, .L837+4
	ldr	r3, [r3, #76]
	mov	r1, #1
	mov	r0, r3
	bl	glXGetClientString
	str	r0, [fp, #-52]
	ldr	r1, .L837+20
	ldr	r0, [fp, #-52]
	bl	strcmp
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L820
	mov	r3, #0
	strb	r3, [fp, #-66]
.L820:
	ldr	r3, .L837+8
	ldrb	r3, [r3, #252]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L821
	ldr	r3, .L837+8
	ldr	r4, [r3, #236]
	ldr	r3, .L837+4
	ldr	r0, [r3, #76]
	ldr	r3, .L837+8
	ldr	r1, [r3, #180]
	sub	r3, fp, #64
	mov	r2, #0
	blx	r4
	str	r0, [fp, #-60]
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	bne	.L822
	ldr	r3, .L837+12
	ldr	r3, [r3]
	mov	r2, #25
	mov	r1, #1
	ldr	r0, .L837+24
	bl	fwrite
	mov	r3, #0
	b	.L832
.L821:
	ldr	r3, .L837+4
	ldr	r3, [r3, #76]
	ldr	r2, .L837+8
	ldr	r1, [r2, #180]
	sub	r2, fp, #64
	mov	r0, r3
	bl	glXGetFBConfigs
	str	r0, [fp, #-60]
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	bne	.L822
	ldr	r3, .L837+12
	ldr	r3, [r3]
	mov	r2, #25
	mov	r1, #1
	ldr	r0, .L837+24
	bl	fwrite
	mov	r3, #0
	b	.L832
.L822:
	ldr	r3, [fp, #-64]
	mov	r2, r3
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L823
	ldr	r3, .L837+12
	ldr	r3, [r3]
	mov	r2, #14
	mov	r1, #1
	ldr	r0, .L837+28
	bl	fwrite
	mov	r3, #0
	b	.L832
.L823:
	mov	r3, #0
	str	r3, [fp, #-56]
	b	.L824
.L831:
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, #5
	mov	r0, r3
	bl	getFBConfigAttrib
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L825
	mov	r3, #1
	strb	r3, [fp, #-65]
	b	.L826
.L825:
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L837+32
	mov	r0, r3
	bl	getFBConfigAttrib
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	strb	r3, [fp, #-65]
.L826:
	ldrb	r3, [fp, #-65]
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L827
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L837+36
	mov	r0, r3
	bl	getFBConfigAttrib
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L827
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L837+40
	mov	r0, r3
	bl	getFBConfigAttrib
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L836
	ldrb	r3, [fp, #-66]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L827
	b	.L828
.L836:
	nop
.L828:
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-72]
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r4, r3, r2
	mov	r1, #8
	bl	getFBConfigAttrib
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-72]
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r4, r3, r2
	mov	r1, #9
	bl	getFBConfigAttrib
	mov	r3, r0
	str	r3, [r4, #4]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-72]
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r4, r3, r2
	mov	r1, #10
	bl	getFBConfigAttrib
	mov	r3, r0
	str	r3, [r4, #8]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-72]
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r4, r3, r2
	mov	r1, #11
	bl	getFBConfigAttrib
	mov	r3, r0
	str	r3, [r4, #12]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-72]
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r4, r3, r2
	mov	r1, #12
	bl	getFBConfigAttrib
	mov	r3, r0
	str	r3, [r4, #16]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-72]
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r4, r3, r2
	mov	r1, #13
	bl	getFBConfigAttrib
	mov	r3, r0
	str	r3, [r4, #20]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-72]
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r4, r3, r2
	mov	r1, #14
	bl	getFBConfigAttrib
	mov	r3, r0
	str	r3, [r4, #24]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-72]
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r4, r3, r2
	mov	r1, #15
	bl	getFBConfigAttrib
	mov	r3, r0
	str	r3, [r4, #28]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-72]
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r4, r3, r2
	mov	r1, #16
	bl	getFBConfigAttrib
	mov	r3, r0
	str	r3, [r4, #32]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-72]
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r4, r3, r2
	mov	r1, #17
	bl	getFBConfigAttrib
	mov	r3, r0
	str	r3, [r4, #36]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-72]
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r4, r3, r2
	mov	r1, #7
	bl	getFBConfigAttrib
	mov	r3, r0
	str	r3, [r4, #40]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-72]
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r4, r3, r2
	mov	r1, #6
	bl	getFBConfigAttrib
	mov	r3, r0
	str	r3, [r4, #44]
	ldr	r3, .L837+8
	ldrb	r3, [r3, #256]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L829
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-72]
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r4, r3, r2
	ldr	r1, .L837+44
	bl	getFBConfigAttrib
	mov	r3, r0
	str	r3, [r4, #48]
	b	.L830
.L829:
	ldr	r3, [fp, #-72]
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r3, r3, r2
	mov	r2, #0
	str	r2, [r3, #48]
.L830:
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L837+48
	mov	r0, r3
	bl	getFBConfigAttrib
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-72]
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r3, r3, r2
	ldr	r2, [fp, #-20]
	str	r2, [r3, #52]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-72]
	str	r2, [r3]
.L827:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L824:
	ldr	r3, [fp, #-64]
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	blt	.L831
	ldr	r0, [fp, #-60]
	bl	XFree
	ldr	r3, [fp, #-40]
.L832:
	ldr	r2, .L837
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L833
	bl	__stack_chk_fail
.L833:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L838:
	.align	2
.L837:
	.word	.LC40
	.word	_glfwLibrary
	.word	_glfwWin
	.word	stderr
	.word	.LC36
	.word	.LC37
	.word	.LC38
	.word	.LC39
	.word	32779
	.word	32785
	.word	32784
	.word	100001
	.word	32787
	.size	getFBConfigs, .-getFBConfigs
	.section	.rodata
	.align	2
.LC41:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	getRawTime, %function
getRawTime:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, .L843
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L843+4
	ldrb	r3, [r3, #120]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L840
	sub	r3, fp, #16
	mov	r1, r3
	mov	r0, #1
	bl	clock_gettime
	ldr	r3, [fp, #-16]
	mov	r2, r3
	ldr	r3, .L843+8
	mul	r3, r2, r3
	ldr	r2, [fp, #-12]
	add	r3, r3, r2
	b	.L841
.L840:
	sub	r3, fp, #16
	mov	r1, #0
	mov	r0, r3
	bl	gettimeofday
	ldr	r3, [fp, #-16]
	mov	r1, r3
	mov	r2, r1
	lsl	r2, r2, #5
	sub	r2, r2, r1
	lsl	r3, r2, #6
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #6
	mov	r2, r3
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
.L841:
	ldr	r2, .L843
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L842
	bl	__stack_chk_fail
.L842:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L844:
	.align	2
.L843:
	.word	.LC41
	.word	_glfwLibrary
	.word	1000000000
	.size	getRawTime, .-getRawTime
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	getSupportedAtom, %function
getSupportedAtom:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, .L851
	ldr	r3, [r3, #76]
	mov	r2, #1
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	XInternAtom
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L846
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L847
.L850:
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bne	.L848
	ldr	r3, [fp, #-8]
	b	.L849
.L848:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L847:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bcc	.L850
.L846:
	mov	r3, #0
.L849:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L852:
	.align	2
.L851:
	.word	_glfwLibrary
	.size	getSupportedAtom, .-getSupportedAtom
	.section	.rodata
	.align	2
.LC42:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	getWindowProperty, %function
getWindowProperty:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #72
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	str	r3, [fp, #-44]
	ldr	r3, .L858
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L858+4
	ldr	r0, [r3, #76]
	ldr	r3, [fp, #-44]
	str	r3, [sp, #28]
	sub	r3, fp, #12
	str	r3, [sp, #24]
	sub	r3, fp, #16
	str	r3, [sp, #20]
	sub	r3, fp, #20
	str	r3, [sp, #16]
	sub	r3, fp, #24
	str	r3, [sp, #12]
	ldr	r3, [fp, #-40]
	str	r3, [sp, #8]
	mov	r3, #0
	str	r3, [sp, #4]
	mvn	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r2, [fp, #-36]
	ldr	r1, [fp, #-32]
	bl	XGetWindowProperty
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	beq	.L854
	mov	r3, #0
	b	.L856
.L854:
	ldr	r3, [fp, #-16]
.L856:
	ldr	r2, .L858
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L857
	bl	__stack_chk_fail
.L857:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L859:
	.align	2
.L858:
	.word	.LC42
	.word	_glfwLibrary
	.size	getWindowProperty, .-getWindowProperty
	.align	2
	.global	glfwBroadcastCond
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwBroadcastCond, %function
glfwBroadcastCond:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L862
	ldr	r3, .L863
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L862
	ldr	r0, [fp, #-8]
	bl	_glfwPlatformBroadcastCond
.L862:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L864:
	.align	2
.L863:
	.word	_glfwInitialized
	.size	glfwBroadcastCond, .-glfwBroadcastCond
	.align	2
	.global	glfwCloseWindow
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwCloseWindow, %function
glfwCloseWindow:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L868
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L867
	ldr	r0, .L868+4
	bl	glfwEnable
	bl	_glfwPlatformCloseWindow
	mov	r2, #304
	mov	r1, #0
	ldr	r0, .L868+8
	bl	memset
.L867:
	nop
	pop	{fp, pc}
.L869:
	.align	2
.L868:
	.word	_glfwInitialized
	.word	196609
	.word	_glfwWin
	.size	glfwCloseWindow, .-glfwCloseWindow
	.align	2
	.global	glfwCreateCond
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwCreateCond, %function
glfwCreateCond:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r3, .L873
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L871
	mov	r3, #0
	b	.L872
.L871:
	bl	_glfwPlatformCreateCond
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
.L872:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L874:
	.align	2
.L873:
	.word	_glfwInitialized
	.size	glfwCreateCond, .-glfwCreateCond
	.align	2
	.global	glfwCreateMutex
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwCreateMutex, %function
glfwCreateMutex:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r3, .L878
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L876
	mov	r3, #0
	b	.L877
.L876:
	bl	_glfwPlatformCreateMutex
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
.L877:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L879:
	.align	2
.L878:
	.word	_glfwInitialized
	.size	glfwCreateMutex, .-glfwCreateMutex
	.align	2
	.global	glfwCreateThread
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwCreateThread, %function
glfwCreateThread:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, .L883
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L881
	mvn	r3, #0
	b	.L882
.L881:
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	_glfwPlatformCreateThread
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
.L882:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L884:
	.align	2
.L883:
	.word	_glfwInitialized
	.size	glfwCreateThread, .-glfwCreateThread
	.align	2
	.global	glfwDestroyCond
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwDestroyCond, %function
glfwDestroyCond:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L887
	ldr	r3, .L888
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L887
	ldr	r0, [fp, #-8]
	bl	_glfwPlatformDestroyCond
.L887:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L889:
	.align	2
.L888:
	.word	_glfwInitialized
	.size	glfwDestroyCond, .-glfwDestroyCond
	.align	2
	.global	glfwDestroyMutex
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwDestroyMutex, %function
glfwDestroyMutex:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L892
	ldr	r3, .L893
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L892
	ldr	r0, [fp, #-8]
	bl	_glfwPlatformDestroyMutex
.L892:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L894:
	.align	2
.L893:
	.word	_glfwInitialized
	.size	glfwDestroyMutex, .-glfwDestroyMutex
	.align	2
	.global	glfwDestroyThread
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwDestroyThread, %function
glfwDestroyThread:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L898
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L897
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	ble	.L897
	ldr	r0, [fp, #-8]
	bl	_glfwPlatformDestroyThread
.L897:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L899:
	.align	2
.L898:
	.word	_glfwInitialized
	.size	glfwDestroyThread, .-glfwDestroyThread
	.align	2
	.global	glfwDisable
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwDisable, %function
glfwDisable:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L910
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L909
	ldr	r3, [fp, #-8]
	sub	r3, r3, #196608
	sub	r3, r3, #1
	cmp	r3, #5
	ldrls	pc, [pc, r3, asl #2]
	b	.L909
.L903:
	.word	.L908
	.word	.L907
	.word	.L906
	.word	.L905
	.word	.L904
	.word	.L902
.L908:
	bl	disableMouseCursor
	b	.L901
.L907:
	bl	disableStickyKeys
	b	.L901
.L906:
	bl	disableStickyMouseButtons
	b	.L901
.L905:
	bl	disableSystemKeys
	b	.L901
.L904:
	bl	disableKeyRepeat
	b	.L901
.L902:
	bl	disableAutoPollEvents
	b	.L909
.L901:
.L909:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L911:
	.align	2
.L910:
	.word	_glfwInitialized
	.size	glfwDisable, .-glfwDisable
	.align	2
	.global	glfwEnable
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwEnable, %function
glfwEnable:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L922
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L921
	ldr	r3, [fp, #-8]
	sub	r3, r3, #196608
	sub	r3, r3, #1
	cmp	r3, #5
	ldrls	pc, [pc, r3, asl #2]
	b	.L921
.L915:
	.word	.L920
	.word	.L919
	.word	.L918
	.word	.L917
	.word	.L916
	.word	.L914
.L920:
	bl	enableMouseCursor
	b	.L913
.L919:
	bl	enableStickyKeys
	b	.L913
.L918:
	bl	enableStickyMouseButtons
	b	.L913
.L917:
	bl	enableSystemKeys
	b	.L913
.L916:
	bl	enableKeyRepeat
	b	.L913
.L914:
	bl	enableAutoPollEvents
	b	.L921
.L913:
.L921:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L923:
	.align	2
.L922:
	.word	_glfwInitialized
	.size	glfwEnable, .-glfwEnable
	.section	.rodata
	.align	2
.LC43:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	glfwExtensionSupported
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwExtensionSupported, %function
glfwExtensionSupported:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	ldr	r3, .L937
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L937+4
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L925
	ldr	r3, .L937+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L926
.L925:
	mov	r3, #0
	b	.L927
.L926:
	mov	r1, #32
	ldr	r0, [fp, #-56]
	bl	strchr
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L928
	mov	r3, #1
	strb	r3, [fp, #-45]
	b	.L929
.L928:
	ldr	r3, [fp, #-56]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	strb	r3, [fp, #-45]
.L929:
	ldrb	r3, [fp, #-45]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L930
	mov	r3, #0
	b	.L927
.L930:
	ldr	r3, .L937+4
	ldr	r3, [r3, #140]
	cmp	r3, #2
	bgt	.L931
	ldr	r0, .L937+12
	bl	glGetString
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L932
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-56]
	bl	_glfwStringInExtensionString
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L932
	mov	r3, #1
	b	.L927
.L931:
	sub	r3, fp, #44
	mov	r1, r3
	ldr	r0, .L937+16
	bl	glGetIntegerv
	mov	r3, #0
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	bge	.L932
	ldr	r3, .L937+4
	ldr	r3, [r3, #164]
	ldr	r2, [fp, #-32]
	mov	r1, r2
	ldr	r0, .L937+12
	blx	r3
	str	r0, [fp, #-28]
	ldr	r1, [fp, #-56]
	ldr	r0, [fp, #-28]
	bl	strcmp
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L934
	mov	r3, #1
	b	.L927
.L934:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L932:
	ldr	r0, [fp, #-56]
	bl	_glfwPlatformExtensionSupported
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L935
	mov	r3, #1
	b	.L927
.L935:
	mov	r3, #0
.L927:
	ldr	r2, .L937
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L936
	bl	__stack_chk_fail
.L936:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L938:
	.align	2
.L937:
	.word	.LC43
	.word	_glfwWin
	.word	_glfwInitialized
	.word	7939
	.word	33309
	.size	glfwExtensionSupported, .-glfwExtensionSupported
	.align	2
	.global	glfwFreeImage
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwFreeImage, %function
glfwFreeImage:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L943
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L942
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L941
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #16]
.L941:
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #12]
.L942:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L944:
	.align	2
.L943:
	.word	_glfwInitialized
	.size	glfwFreeImage, .-glfwFreeImage
	.align	2
	.global	glfwGetDesktopMode
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwGetDesktopMode, %function
glfwGetDesktopMode:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L947
	ldr	r3, .L948
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L947
	ldr	r2, [fp, #-8]
	ldr	r3, .L948+4
	mov	lr, r2
	add	ip, r3, #56
	ldmia	ip!, {r0, r1, r2, r3}
	stmia	lr!, {r0, r1, r2, r3}
	ldr	r3, [ip]
	str	r3, [lr]
.L947:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L949:
	.align	2
.L948:
	.word	_glfwInitialized
	.word	_glfwLibrary
	.size	glfwGetDesktopMode, .-glfwGetDesktopMode
	.align	2
	.global	glfwGetGLVersion
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwGetGLVersion, %function
glfwGetGLVersion:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, .L955
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L954
	ldr	r3, .L955+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L954
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L952
	ldr	r3, .L955
	ldr	r2, [r3, #140]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
.L952:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L953
	ldr	r3, .L955
	ldr	r2, [r3, #144]
	ldr	r3, [fp, #-12]
	str	r2, [r3]
.L953:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L954
	ldr	r3, .L955
	ldr	r2, [r3, #148]
	ldr	r3, [fp, #-16]
	str	r2, [r3]
.L954:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L956:
	.align	2
.L955:
	.word	_glfwWin
	.word	_glfwInitialized
	.size	glfwGetGLVersion, .-glfwGetGLVersion
	.align	2
	.global	glfwGetJoystickButtons
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwGetJoystickButtons, %function
glfwGetJoystickButtons:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, .L962
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L958
	mov	r3, #0
	b	.L959
.L958:
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L960
.L961:
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L960:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L961
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	_glfwPlatformGetJoystickButtons
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
.L959:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L963:
	.align	2
.L962:
	.word	_glfwInitialized
	.size	glfwGetJoystickButtons, .-glfwGetJoystickButtons
	.align	2
	.global	glfwGetJoystickParam
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwGetJoystickParam, %function
glfwGetJoystickParam:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, .L967
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L965
	mov	r3, #0
	b	.L966
.L965:
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	_glfwPlatformGetJoystickParam
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
.L966:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L968:
	.align	2
.L967:
	.word	_glfwInitialized
	.size	glfwGetJoystickParam, .-glfwGetJoystickParam
	.align	2
	.global	glfwGetJoystickPos
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwGetJoystickPos, %function
glfwGetJoystickPos:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, .L974
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L970
	mov	r3, #0
	b	.L971
.L970:
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L972
.L973:
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L972:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L973
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	_glfwPlatformGetJoystickPos
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
.L971:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L975:
	.align	2
.L974:
	.word	_glfwInitialized
	.size	glfwGetJoystickPos, .-glfwGetJoystickPos
	.align	2
	.global	glfwGetKey
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwGetKey, %function
glfwGetKey:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, .L983
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L977
	ldr	r3, .L983+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L978
.L977:
	mov	r3, #0
	b	.L979
.L978:
	ldr	r3, [fp, #-8]
	ldr	r2, .L983+8
	cmp	r3, r2
	bgt	.L980
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L981
.L980:
	mov	r3, #0
	b	.L979
.L981:
	ldr	r2, .L983+12
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	add	r3, r3, #20
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #2
	bne	.L982
	ldr	r2, .L983+12
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	add	r3, r3, #20
	mov	r2, #0
	strb	r2, [r3]
	mov	r3, #1
	b	.L979
.L982:
	ldr	r2, .L983+12
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	add	r3, r3, #20
	ldrb	r3, [r3]	@ zero_extendqisi2
.L979:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L984:
	.align	2
.L983:
	.word	_glfwWin
	.word	_glfwInitialized
	.word	325
	.word	_glfwInput
	.size	glfwGetKey, .-glfwGetKey
	.align	2
	.global	glfwGetMouseButton
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwGetMouseButton, %function
glfwGetMouseButton:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, .L992
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L986
	ldr	r3, .L992+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L987
.L986:
	mov	r3, #0
	b	.L988
.L987:
	ldr	r3, [fp, #-8]
	cmp	r3, #7
	bgt	.L989
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L990
.L989:
	mov	r3, #0
	b	.L988
.L990:
	ldr	r2, .L992+8
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	add	r3, r3, #12
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #2
	bne	.L991
	ldr	r2, .L992+8
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	add	r3, r3, #12
	mov	r2, #0
	strb	r2, [r3]
	mov	r3, #1
	b	.L988
.L991:
	ldr	r2, .L992+8
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	add	r3, r3, #12
	ldrb	r3, [r3]	@ zero_extendqisi2
.L988:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L993:
	.align	2
.L992:
	.word	_glfwWin
	.word	_glfwInitialized
	.word	_glfwInput
	.size	glfwGetMouseButton, .-glfwGetMouseButton
	.align	2
	.global	glfwGetMousePos
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwGetMousePos, %function
glfwGetMousePos:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, .L998
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L997
	ldr	r3, .L998+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L997
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L996
	ldr	r3, .L998+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
.L996:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L997
	ldr	r3, .L998+8
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	str	r2, [r3]
.L997:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L999:
	.align	2
.L998:
	.word	_glfwWin
	.word	_glfwInitialized
	.word	_glfwInput
	.size	glfwGetMousePos, .-glfwGetMousePos
	.align	2
	.global	glfwGetMouseWheel
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwGetMouseWheel, %function
glfwGetMouseWheel:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L1004
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1001
	ldr	r3, .L1004+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1002
.L1001:
	mov	r3, #0
	b	.L1003
.L1002:
	ldr	r3, .L1004+8
	ldr	r3, [r3, #8]
.L1003:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1005:
	.align	2
.L1004:
	.word	_glfwWin
	.word	_glfwInitialized
	.word	_glfwInput
	.size	glfwGetMouseWheel, .-glfwGetMouseWheel
	.align	2
	.global	glfwGetNumberOfProcessors
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwGetNumberOfProcessors, %function
glfwGetNumberOfProcessors:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r3, .L1009
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1007
	mov	r3, #0
	b	.L1008
.L1007:
	bl	_glfwPlatformGetNumberOfProcessors
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
.L1008:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1010:
	.align	2
.L1009:
	.word	_glfwInitialized
	.size	glfwGetNumberOfProcessors, .-glfwGetNumberOfProcessors
	.align	2
	.global	glfwGetProcAddress
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwGetProcAddress, %function
glfwGetProcAddress:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, .L1015
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1012
	ldr	r3, .L1015+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1013
.L1012:
	mov	r3, #0
	b	.L1014
.L1013:
	ldr	r0, [fp, #-16]
	bl	_glfwPlatformGetProcAddress
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
.L1014:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1016:
	.align	2
.L1015:
	.word	_glfwWin
	.word	_glfwInitialized
	.size	glfwGetProcAddress, .-glfwGetProcAddress
	.align	2
	.global	glfwGetThreadID
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwGetThreadID, %function
glfwGetThreadID:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r3, .L1020
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1018
	mov	r3, #0
	b	.L1019
.L1018:
	bl	_glfwPlatformGetThreadID
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
.L1019:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1021:
	.align	2
.L1020:
	.word	_glfwInitialized
	.size	glfwGetThreadID, .-glfwGetThreadID
	.align	2
	.global	glfwGetTime
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwGetTime, %function
glfwGetTime:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r3, .L1025
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1023
	mov	r2, #0
	mov	r3, #0
	b	.L1024
.L1023:
	bl	_glfwPlatformGetTime
	str	r0, [fp, #-12]
	str	r1, [fp, #-8]
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
.L1024:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1026:
	.align	2
.L1025:
	.word	_glfwInitialized
	.size	glfwGetTime, .-glfwGetTime
	.align	2
	.global	glfwGetVersion
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwGetVersion, %function
glfwGetVersion:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1028
	ldr	r3, [fp, #-8]
	mov	r2, #2
	str	r2, [r3]
.L1028:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1029
	ldr	r3, [fp, #-12]
	mov	r2, #7
	str	r2, [r3]
.L1029:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L1031
	ldr	r3, [fp, #-16]
	mov	r2, #9
	str	r2, [r3]
.L1031:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	glfwGetVersion, .-glfwGetVersion
	.align	2
	.global	glfwGetVideoModes
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwGetVideoModes, %function
glfwGetVideoModes:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	beq	.L1033
	ldr	r3, .L1043
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1033
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	bgt	.L1034
.L1033:
	mov	r3, #0
	b	.L1042
.L1034:
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-56]
	bl	_glfwPlatformGetVideoModes
	str	r0, [fp, #-44]
.L1041:
	mov	r3, #0
	str	r3, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L1036
.L1040:
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, r2
	ldr	r1, [r3]
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, r2
	ldr	r3, [r3, #4]
	mul	r3, r1, r3
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, r2
	ldr	r1, [r3, #8]
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, r2
	ldr	r3, [r3, #16]
	add	r1, r1, r3
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, r2
	ldr	r3, [r3, #12]
	add	r3, r1, r3
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	mov	r2, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, r2
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, r1
	ldr	r3, [r3, #4]
	mul	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	mov	r2, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, r2
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, r1
	ldr	r3, [r3, #16]
	add	r2, r2, r3
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, r1
	ldr	r3, [r3, #12]
	add	r3, r2, r3
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	bne	.L1037
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	blt	.L1038
.L1037:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	bge	.L1039
.L1038:
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, r2
	sub	ip, fp, #24
	mov	lr, r3
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldr	r3, [lr]
	str	r3, [ip]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	mov	r2, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-56]
	add	r1, r3, r2
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, r2
	mov	ip, r3
	mov	lr, r1
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldr	r3, [lr]
	str	r3, [ip]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	mov	r2, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, r2
	mov	lr, r3
	sub	ip, fp, #24
	ldmia	ip!, {r0, r1, r2, r3}
	stmia	lr!, {r0, r1, r2, r3}
	ldr	r3, [ip]
	str	r3, [lr]
	mov	r3, #1
	str	r3, [fp, #-48]
.L1039:
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L1036:
	ldr	r3, [fp, #-44]
	sub	r3, r3, #1
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	blt	.L1040
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L1041
	ldr	r3, [fp, #-44]
.L1042:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1044:
	.align	2
.L1043:
	.word	_glfwInitialized
	.size	glfwGetVideoModes, .-glfwGetVideoModes
	.align	2
	.global	glfwGetWindowParam
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwGetWindowParam, %function
glfwGetWindowParam:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, .L1076
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1046
	mov	r3, #0
	b	.L1047
.L1046:
	ldr	r3, .L1076+4
	ldr	r3, [r3, #56]
	cmp	r3, #0
	bne	.L1048
	ldr	r3, [fp, #-8]
	ldr	r2, .L1076+8
	cmp	r3, r2
	bne	.L1049
	mov	r3, #0
	b	.L1047
.L1049:
	mov	r3, #0
	b	.L1047
.L1048:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #131072
	sub	r3, r3, #1
	cmp	r3, #23
	ldrls	pc, [pc, r3, asl #2]
	b	.L1050
.L1052:
	.word	.L1075
	.word	.L1074
	.word	.L1073
	.word	.L1072
	.word	.L1071
	.word	.L1070
	.word	.L1069
	.word	.L1068
	.word	.L1067
	.word	.L1066
	.word	.L1065
	.word	.L1064
	.word	.L1063
	.word	.L1062
	.word	.L1061
	.word	.L1060
	.word	.L1059
	.word	.L1058
	.word	.L1057
	.word	.L1056
	.word	.L1055
	.word	.L1054
	.word	.L1053
	.word	.L1051
.L1075:
	mov	r3, #1
	b	.L1047
.L1074:
	ldr	r3, .L1076+4
	ldr	r3, [r3, #60]
	b	.L1047
.L1073:
	ldr	r3, .L1076+4
	ldr	r3, [r3, #64]
	b	.L1047
.L1072:
	ldr	r3, .L1076+4
	ldr	r3, [r3, #76]
	b	.L1047
.L1071:
	ldr	r3, .L1076+4
	ldr	r3, [r3, #80]
	b	.L1047
.L1070:
	ldr	r3, .L1076+4
	ldr	r3, [r3, #84]
	b	.L1047
.L1069:
	ldr	r3, .L1076+4
	ldr	r3, [r3, #88]
	b	.L1047
.L1068:
	ldr	r3, .L1076+4
	ldr	r3, [r3, #92]
	b	.L1047
.L1067:
	ldr	r3, .L1076+4
	ldr	r3, [r3, #96]
	b	.L1047
.L1066:
	ldr	r3, .L1076+4
	ldr	r3, [r3, #100]
	b	.L1047
.L1064:
	ldr	r3, .L1076+4
	ldr	r3, [r3, #104]
	b	.L1047
.L1063:
	ldr	r3, .L1076+4
	ldr	r3, [r3, #108]
	b	.L1047
.L1062:
	ldr	r3, .L1076+4
	ldr	r3, [r3, #112]
	b	.L1047
.L1061:
	ldr	r3, .L1076+4
	ldr	r3, [r3, #116]
	b	.L1047
.L1060:
	ldr	r3, .L1076+4
	ldr	r3, [r3, #120]
	b	.L1047
.L1059:
	ldr	r3, .L1076+4
	ldr	r3, [r3, #124]
	b	.L1047
.L1065:
	ldr	r3, .L1076+4
	ldr	r3, [r3, #52]
	b	.L1047
.L1058:
	ldr	r3, .L1076+4
	ldr	r3, [r3, #48]
	b	.L1047
.L1057:
	ldr	r3, .L1076+4
	ldr	r3, [r3, #128]
	b	.L1047
.L1056:
	ldr	r3, .L1076+4
	ldr	r3, [r3, #140]
	b	.L1047
.L1055:
	ldr	r3, .L1076+4
	ldr	r3, [r3, #144]
	b	.L1047
.L1054:
	ldr	r3, .L1076+4
	ldr	r3, [r3, #152]
	b	.L1047
.L1053:
	ldr	r3, .L1076+4
	ldr	r3, [r3, #156]
	b	.L1047
.L1051:
	ldr	r3, .L1076+4
	ldr	r3, [r3, #160]
	b	.L1047
.L1050:
	mov	r3, #0
.L1047:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1077:
	.align	2
.L1076:
	.word	_glfwInitialized
	.word	_glfwWin
	.word	131073
	.size	glfwGetWindowParam, .-glfwGetWindowParam
	.align	2
	.global	glfwGetWindowSize
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwGetWindowSize, %function
glfwGetWindowSize:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, .L1082
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1081
	ldr	r3, .L1082+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1081
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1080
	ldr	r3, .L1082
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
.L1080:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1081
	ldr	r3, .L1082
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-12]
	str	r2, [r3]
.L1081:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1083:
	.align	2
.L1082:
	.word	_glfwWin
	.word	_glfwInitialized
	.size	glfwGetWindowSize, .-glfwGetWindowSize
	.align	2
	.global	glfwIconifyWindow
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwIconifyWindow, %function
glfwIconifyWindow:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L1087
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1086
	ldr	r3, .L1087+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1086
	ldr	r3, .L1087
	ldr	r3, [r3, #64]
	cmp	r3, #0
	bne	.L1086
	bl	_glfwPlatformIconifyWindow
.L1086:
	nop
	pop	{fp, pc}
.L1088:
	.align	2
.L1087:
	.word	_glfwWin
	.word	_glfwInitialized
	.size	glfwIconifyWindow, .-glfwIconifyWindow
	.align	2
	.global	glfwInit
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwInit, %function
glfwInit:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r3, .L1093
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1090
	mov	r3, #1
	b	.L1091
.L1090:
	mov	r2, #144
	mov	r1, #0
	ldr	r0, .L1093+4
	bl	memset
	mov	r2, #304
	mov	r1, #0
	ldr	r0, .L1093+8
	bl	memset
	ldr	r3, .L1093+8
	mov	r2, #0
	str	r2, [r3, #56]
	ldr	r3, .L1093+8
	mov	r2, #0
	str	r2, [r3, #44]
	bl	_glfwClearWindowHints
	bl	_glfwPlatformInit
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1092
	mov	r3, #0
	b	.L1091
.L1092:
	ldr	r3, .L1093
	mov	r2, #1
	str	r2, [r3]
	mov	r3, #1
.L1091:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1094:
	.align	2
.L1093:
	.word	_glfwInitialized
	.word	_glfwLibrary
	.word	_glfwWin
	.size	glfwInit, .-glfwInit
	.section	.rodata
	.align	2
.LC44:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	glfwLoadMemoryTexture2D
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwLoadMemoryTexture2D, %function
glfwLoadMemoryTexture2D:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	ldr	r3, .L1104
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L1104+4
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1096
	ldr	r3, .L1104+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1097
.L1096:
	mov	r3, #0
	b	.L1102
.L1097:
	ldr	r3, .L1104+4
	ldr	r3, [r3, #136]
	cmp	r3, #0
	bne	.L1099
	ldr	r3, [fp, #-48]
	bic	r3, r3, #1
	str	r3, [fp, #-48]
.L1099:
	sub	r2, fp, #28
	ldr	r3, [fp, #-48]
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-40]
	bl	glfwReadMemoryImage
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L1100
	mov	r3, #0
	b	.L1102
.L1100:
	sub	r3, fp, #28
	ldr	r1, [fp, #-48]
	mov	r0, r3
	bl	glfwLoadTextureImage2D
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L1101
	mov	r3, #0
	b	.L1102
.L1101:
	sub	r3, fp, #28
	mov	r0, r3
	bl	glfwFreeImage
	mov	r3, #1
.L1102:
	ldr	r2, .L1104
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1103
	bl	__stack_chk_fail
.L1103:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1105:
	.align	2
.L1104:
	.word	.LC44
	.word	_glfwWin
	.word	_glfwInitialized
	.size	glfwLoadMemoryTexture2D, .-glfwLoadMemoryTexture2D
	.section	.rodata
	.align	2
.LC45:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	glfwLoadTexture2D
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwLoadTexture2D, %function
glfwLoadTexture2D:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	ldr	r3, .L1115
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L1115+4
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1107
	ldr	r3, .L1115+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1108
.L1107:
	mov	r3, #0
	b	.L1113
.L1108:
	ldr	r3, .L1115+4
	ldr	r3, [r3, #136]
	cmp	r3, #0
	bne	.L1110
	ldr	r3, [fp, #-44]
	bic	r3, r3, #1
	str	r3, [fp, #-44]
.L1110:
	sub	r3, fp, #28
	ldr	r2, [fp, #-44]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	glfwReadImage
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L1111
	mov	r3, #0
	b	.L1113
.L1111:
	sub	r3, fp, #28
	ldr	r1, [fp, #-44]
	mov	r0, r3
	bl	glfwLoadTextureImage2D
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L1112
	mov	r3, #0
	b	.L1113
.L1112:
	sub	r3, fp, #28
	mov	r0, r3
	bl	glfwFreeImage
	mov	r3, #1
.L1113:
	ldr	r2, .L1115
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1114
	bl	__stack_chk_fail
.L1114:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1116:
	.align	2
.L1115:
	.word	.LC45
	.word	_glfwWin
	.word	_glfwInitialized
	.size	glfwLoadTexture2D, .-glfwLoadTexture2D
	.section	.rodata
	.align	2
.LC46:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	glfwLoadTextureImage2D
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwLoadTextureImage2D, %function
glfwLoadTextureImage2D:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #96
	str	r0, [fp, #-72]
	str	r1, [fp, #-76]
	ldr	r3, .L1137
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L1137+4
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1118
	ldr	r3, .L1137+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1119
.L1118:
	mov	r3, #0
	b	.L1135
.L1119:
	ldr	r3, .L1137+4
	ldr	r3, [r3, #140]
	cmp	r3, #1
	bne	.L1121
	ldr	r3, .L1137+4
	ldr	r3, [r3, #144]
	cmp	r3, #0
	bne	.L1121
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #8]
	ldr	r2, .L1137+12
	cmp	r3, r2
	bne	.L1121
	ldr	r3, [fp, #-72]
	mov	r2, #4
	str	r2, [r3, #12]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	ldr	r2, [fp, #-72]
	ldr	r2, [r2, #4]
	mul	r3, r2, r3
	ldr	r2, [fp, #-72]
	ldr	r2, [r2, #12]
	mul	r3, r2, r3
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L1122
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	free
	mov	r3, #0
	b	.L1135
.L1122:
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L1123
.L1124:
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-32]
	mvn	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-28]
	mvn	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-24]
	mvn	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-72]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-52]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-20]
	strb	r2, [r3]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L1123:
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-72]
	ldr	r2, [r2]
	mul	r3, r2, r3
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	blt	.L1124
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-72]
	ldr	r2, [fp, #-36]
	str	r2, [r3, #16]
.L1121:
	sub	r3, fp, #68
	mov	r1, r3
	ldr	r0, .L1137+16
	bl	glGetIntegerv
	mov	r1, #1
	ldr	r0, .L1137+16
	bl	glPixelStorei
	ldr	r3, [fp, #-76]
	and	r3, r3, #4
	cmp	r3, #0
	beq	.L1125
	ldr	r3, .L1137+4
	ldr	r3, [r3, #132]
	cmp	r3, #0
	beq	.L1125
	mov	r3, #1
	b	.L1126
.L1125:
	mov	r3, #0
.L1126:
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L1127
	sub	r3, fp, #64
	mov	r2, r3
	ldr	r1, .L1137+20
	ldr	r0, .L1137+24
	bl	glGetTexParameteriv
	mov	r2, #1
	ldr	r1, .L1137+20
	ldr	r0, .L1137+24
	bl	glTexParameteri
.L1127:
	ldr	r3, .L1137+4
	ldr	r3, [r3, #140]
	cmp	r3, #1
	bne	.L1128
	ldr	r3, .L1137+4
	ldr	r3, [r3, #144]
	cmp	r3, #0
	bne	.L1128
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-56]
	b	.L1129
.L1128:
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-56]
.L1129:
	mov	r3, #0
	str	r3, [fp, #-60]
.L1133:
	ldr	r3, [fp, #-72]
	ldr	r0, [r3]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-56]
	ldr	r1, [fp, #-72]
	ldr	r1, [r1, #16]
	str	r1, [sp, #16]
	ldr	r1, .L1137+28
	str	r1, [sp, #12]
	str	r2, [sp, #8]
	mov	r2, #0
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, r0
	ldr	r2, [fp, #-56]
	ldr	r1, [fp, #-60]
	ldr	r0, .L1137+24
	bl	glTexImage2D
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L1130
	ldr	r3, [fp, #-76]
	and	r3, r3, #4
	cmp	r3, #0
	beq	.L1130
	ldr	r3, [fp, #-72]
	ldr	r0, [r3, #16]
	ldr	r1, [fp, #-72]
	ldr	r3, [fp, #-72]
	add	r2, r3, #4
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #12]
	bl	HalveImage
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1131
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	b	.L1132
.L1131:
	mov	r3, #0
.L1132:
	str	r3, [fp, #-60]
.L1130:
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	bne	.L1133
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L1134
	ldr	r3, [fp, #-64]
	mov	r2, r3
	ldr	r1, .L1137+20
	ldr	r0, .L1137+24
	bl	glTexParameteri
.L1134:
	ldr	r3, [fp, #-68]
	mov	r1, r3
	ldr	r0, .L1137+16
	bl	glPixelStorei
	mov	r3, #1
.L1135:
	ldr	r2, .L1137
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1136
	bl	__stack_chk_fail
.L1136:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1138:
	.align	2
.L1137:
	.word	.LC46
	.word	_glfwWin
	.word	_glfwInitialized
	.word	6406
	.word	3317
	.word	33169
	.word	3553
	.word	5121
	.size	glfwLoadTextureImage2D, .-glfwLoadTextureImage2D
	.align	2
	.global	glfwLockMutex
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwLockMutex, %function
glfwLockMutex:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1140
	ldr	r3, .L1143
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1142
.L1140:
	ldr	r0, [fp, #-8]
	bl	_glfwPlatformLockMutex
.L1142:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1144:
	.align	2
.L1143:
	.word	_glfwInitialized
	.size	glfwLockMutex, .-glfwLockMutex
	.section	.rodata
	.align	2
.LC47:
	.ascii	"GL_ARB_texture_non_power_of_two\000"
	.align	2
.LC48:
	.ascii	"GL_SGIS_generate_mipmap\000"
	.align	2
.LC49:
	.ascii	"glGetStringi\000"
	.align	2
.LC50:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	glfwOpenWindow
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwOpenWindow, %function
glfwOpenWindow:
	@ args = 20, pretend = 0, frame = 128
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #128
	str	r0, [fp, #-120]
	str	r1, [fp, #-124]
	str	r2, [fp, #-128]
	str	r3, [fp, #-132]
	ldr	r3, .L1173
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L1173+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1146
	ldr	r3, .L1173+8
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1147
.L1146:
	mov	r3, #0
	b	.L1171
.L1147:
	mov	r1, #0
	ldr	r0, [fp, #-128]
	bl	Max
	mov	r3, r0
	str	r3, [fp, #-64]
	mov	r1, #0
	ldr	r0, [fp, #-132]
	bl	Max
	mov	r3, r0
	str	r3, [fp, #-60]
	mov	r1, #0
	ldr	r0, [fp, #4]
	bl	Max
	mov	r3, r0
	str	r3, [fp, #-56]
	mov	r1, #0
	ldr	r0, [fp, #8]
	bl	Max
	mov	r3, r0
	str	r3, [fp, #-52]
	mov	r1, #0
	ldr	r0, [fp, #12]
	bl	Max
	mov	r3, r0
	str	r3, [fp, #-48]
	mov	r1, #0
	ldr	r0, [fp, #16]
	bl	Max
	mov	r3, r0
	str	r3, [fp, #-44]
	ldr	r3, .L1173+12
	ldr	r3, [r3, #4]
	mov	r1, #0
	mov	r0, r3
	bl	Max
	mov	r3, r0
	str	r3, [fp, #-40]
	ldr	r3, .L1173+12
	ldr	r3, [r3, #8]
	mov	r1, #0
	mov	r0, r3
	bl	Max
	mov	r3, r0
	str	r3, [fp, #-36]
	ldr	r3, .L1173+12
	ldr	r3, [r3, #12]
	mov	r1, #0
	mov	r0, r3
	bl	Max
	mov	r3, r0
	str	r3, [fp, #-32]
	ldr	r3, .L1173+12
	ldr	r3, [r3, #16]
	mov	r1, #0
	mov	r0, r3
	bl	Max
	mov	r3, r0
	str	r3, [fp, #-28]
	ldr	r3, .L1173+12
	ldr	r3, [r3, #20]
	mov	r1, #0
	mov	r0, r3
	bl	Max
	mov	r3, r0
	str	r3, [fp, #-24]
	ldr	r3, .L1173+12
	ldr	r3, [r3, #24]
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-20]
	ldr	r3, .L1173+12
	ldr	r3, [r3, #32]
	mov	r1, #0
	mov	r0, r3
	bl	Max
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #20]
	str	r3, [fp, #-96]
	ldr	r3, .L1173+12
	ldr	r3, [r3]
	mov	r1, #0
	mov	r0, r3
	bl	Max
	mov	r3, r0
	str	r3, [fp, #-92]
	ldr	r3, .L1173+12
	ldr	r3, [r3, #28]
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-88]
	ldr	r3, .L1173+12
	ldr	r3, [r3, #36]
	mov	r1, #1
	mov	r0, r3
	bl	Max
	mov	r3, r0
	str	r3, [fp, #-84]
	ldr	r3, .L1173+12
	ldr	r3, [r3, #40]
	mov	r1, #0
	mov	r0, r3
	bl	Max
	mov	r3, r0
	str	r3, [fp, #-80]
	ldr	r3, .L1173+12
	ldr	r3, [r3, #44]
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-76]
	ldr	r3, .L1173+12
	ldr	r3, [r3, #48]
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-72]
	ldr	r3, .L1173+12
	ldr	r3, [r3, #52]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-84]
	cmp	r3, #1
	bne	.L1149
	ldr	r3, [fp, #-80]
	cmp	r3, #5
	ble	.L1149
	mov	r3, #0
	b	.L1171
.L1149:
	ldr	r3, [fp, #-84]
	cmp	r3, #2
	bne	.L1150
	ldr	r3, [fp, #-80]
	cmp	r3, #1
	ble	.L1150
	mov	r3, #0
	b	.L1171
.L1150:
	ldr	r3, [fp, #-84]
	cmp	r3, #3
	bne	.L1151
	ldr	r3, [fp, #-80]
	cmp	r3, #3
	ble	.L1151
	mov	r3, #0
	b	.L1171
.L1151:
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	beq	.L1152
	ldr	r3, [fp, #-84]
	cmp	r3, #3
	bne	.L1153
	ldr	r3, [fp, #-80]
	cmp	r3, #1
	ble	.L1154
.L1153:
	ldr	r3, [fp, #-84]
	cmp	r3, #2
	bgt	.L1152
.L1154:
	mov	r3, #0
	b	.L1171
.L1152:
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	beq	.L1155
	ldr	r3, [fp, #-84]
	cmp	r3, #2
	bgt	.L1155
	mov	r3, #0
	b	.L1171
.L1155:
	bl	_glfwClearWindowHints
	ldr	r3, [fp, #20]
	ldr	r2, .L1173+16
	cmp	r3, r2
	beq	.L1156
	ldr	r3, [fp, #20]
	ldr	r2, .L1173+20
	cmp	r3, r2
	beq	.L1156
	mov	r3, #0
	b	.L1171
.L1156:
	ldr	r3, .L1173+8
	mov	r2, #1
	str	r2, [r3, #60]
	ldr	r3, .L1173+8
	mov	r2, #0
	str	r2, [r3, #64]
	ldr	r3, .L1173+8
	mov	r2, #0
	str	r2, [r3, #36]
	ldr	r3, .L1173+8
	mov	r2, #1
	str	r2, [r3, #40]
	bl	_glfwClearInput
	ldr	r3, .L1173+8
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L1173+8
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, .L1173+8
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, .L1173+8
	mov	r2, #0
	str	r2, [r3, #24]
	ldr	r3, .L1173+8
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, .L1173+8
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r3, .L1173+8
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, .L1173+8
	mov	r2, #0
	str	r2, [r3, #20]
	ldr	r3, [fp, #-120]
	cmp	r3, #0
	ble	.L1157
	ldr	r3, [fp, #-124]
	cmp	r3, #0
	bgt	.L1157
	ldr	r2, [fp, #-120]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	add	r2, r3, #3
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #2
	str	r3, [fp, #-124]
	b	.L1158
.L1157:
	ldr	r3, [fp, #-124]
	cmp	r3, #0
	ble	.L1159
	ldr	r3, [fp, #-120]
	cmp	r3, #0
	bgt	.L1159
	ldr	r3, [fp, #-124]
	lsl	r3, r3, #2
	ldr	r2, .L1173+24
	smull	r1, r2, r3, r2
	asr	r3, r3, #31
	sub	r3, r2, r3
	str	r3, [fp, #-120]
	b	.L1158
.L1159:
	ldr	r3, [fp, #-124]
	cmp	r3, #0
	bgt	.L1158
	ldr	r3, [fp, #-120]
	cmp	r3, #0
	bgt	.L1158
	mov	r3, #640
	str	r3, [fp, #-120]
	mov	r3, #480
	str	r3, [fp, #-124]
.L1158:
	ldr	r2, .L1173+8
	ldr	r3, [fp, #-120]
	str	r3, [r2, #68]
	ldr	r2, .L1173+8
	ldr	r3, [fp, #-124]
	str	r3, [r2, #72]
	ldr	r3, [fp, #20]
	ldr	r2, .L1173+20
	cmp	r3, r2
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, .L1173+8
	str	r2, [r3, #32]
	sub	r3, fp, #64
	sub	r2, fp, #96
	ldr	r1, [fp, #-124]
	ldr	r0, [fp, #-120]
	bl	_glfwPlatformOpenWindow
	str	r0, [fp, #-112]
	ldr	r3, [fp, #-112]
	cmp	r3, #0
	bne	.L1160
	bl	glfwCloseWindow
	mov	r3, #0
	b	.L1171
.L1160:
	ldr	r3, .L1173+8
	mov	r2, #1
	str	r2, [r3, #56]
	bl	_glfwPlatformRefreshWindowParams
	bl	_glfwRefreshContextParams
	ldr	r3, .L1173+8
	ldr	r2, [r3, #140]
	ldr	r3, [fp, #-84]
	cmp	r2, r3
	bne	.L1161
	ldr	r3, .L1173+8
	ldr	r2, [r3, #144]
	ldr	r3, [fp, #-80]
	cmp	r2, r3
	blt	.L1162
.L1161:
	ldr	r3, .L1173+8
	ldr	r2, [r3, #140]
	ldr	r3, [fp, #-84]
	cmp	r2, r3
	bge	.L1163
.L1162:
	bl	glfwCloseWindow
	mov	r3, #0
	b	.L1171
.L1163:
	ldr	r3, .L1173+8
	ldr	r3, [r3, #140]
	cmp	r3, #1
	ble	.L1164
	mov	r3, #1
	strb	r3, [fp, #-114]
	b	.L1165
.L1164:
	ldr	r0, .L1173+28
	bl	glfwExtensionSupported
	str	r0, [fp, #-108]
	ldr	r3, [fp, #-108]
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	strb	r3, [fp, #-114]
.L1165:
	ldrb	r3, [fp, #-114]	@ zero_extendqisi2
	ldr	r2, .L1173+8
	str	r3, [r2, #136]
	ldr	r3, .L1173+8
	ldr	r3, [r3, #140]
	cmp	r3, #1
	bgt	.L1166
	ldr	r3, .L1173+8
	ldr	r3, [r3, #144]
	cmp	r3, #3
	ble	.L1167
.L1166:
	mov	r3, #1
	strb	r3, [fp, #-113]
	b	.L1168
.L1167:
	ldr	r0, .L1173+32
	bl	glfwExtensionSupported
	str	r0, [fp, #-104]
	ldr	r3, [fp, #-104]
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	strb	r3, [fp, #-113]
.L1168:
	ldrb	r3, [fp, #-113]	@ zero_extendqisi2
	ldr	r2, .L1173+8
	str	r3, [r2, #132]
	ldr	r3, .L1173+8
	ldr	r3, [r3, #140]
	cmp	r3, #2
	ble	.L1169
	ldr	r0, .L1173+36
	bl	glfwGetProcAddress
	str	r0, [fp, #-100]
	ldr	r3, [fp, #-100]
	ldr	r2, .L1173+8
	str	r3, [r2, #164]
	ldr	r3, .L1173+8
	ldr	r3, [r3, #164]
	cmp	r3, #0
	bne	.L1169
	bl	glfwCloseWindow
	mov	r3, #0
	b	.L1171
.L1169:
	ldr	r3, [fp, #20]
	ldr	r2, .L1173+20
	cmp	r3, r2
	bne	.L1170
	ldr	r0, .L1173+40
	bl	glfwDisable
.L1170:
	mov	r0, #16384
	bl	glClear
	bl	_glfwPlatformSwapBuffers
	mov	r3, #1
.L1171:
	ldr	r2, .L1173
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1172
	bl	__stack_chk_fail
.L1172:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1174:
	.align	2
.L1173:
	.word	.LC50
	.word	_glfwInitialized
	.word	_glfwWin
	.word	_glfwLibrary
	.word	65537
	.word	65538
	.word	1431655766
	.word	.LC47
	.word	.LC48
	.word	.LC49
	.word	196609
	.size	glfwOpenWindow, .-glfwOpenWindow
	.align	2
	.global	glfwOpenWindowHint
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwOpenWindowHint, %function
glfwOpenWindowHint:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, .L1193
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1192
	ldr	r3, [fp, #-8]
	sub	r3, r3, #131072
	sub	r3, r3, #11
	cmp	r3, #13
	ldrls	pc, [pc, r3, asl #2]
	b	.L1192
.L1178:
	.word	.L1191
	.word	.L1190
	.word	.L1189
	.word	.L1188
	.word	.L1187
	.word	.L1186
	.word	.L1185
	.word	.L1184
	.word	.L1183
	.word	.L1182
	.word	.L1181
	.word	.L1180
	.word	.L1179
	.word	.L1177
.L1191:
	ldr	r2, .L1193+4
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	b	.L1176
.L1190:
	ldr	r2, .L1193+4
	ldr	r3, [fp, #-12]
	str	r3, [r2, #4]
	b	.L1176
.L1189:
	ldr	r2, .L1193+4
	ldr	r3, [fp, #-12]
	str	r3, [r2, #8]
	b	.L1176
.L1188:
	ldr	r2, .L1193+4
	ldr	r3, [fp, #-12]
	str	r3, [r2, #12]
	b	.L1176
.L1187:
	ldr	r2, .L1193+4
	ldr	r3, [fp, #-12]
	str	r3, [r2, #16]
	b	.L1176
.L1186:
	ldr	r2, .L1193+4
	ldr	r3, [fp, #-12]
	str	r3, [r2, #20]
	b	.L1176
.L1185:
	ldr	r2, .L1193+4
	ldr	r3, [fp, #-12]
	str	r3, [r2, #24]
	b	.L1176
.L1184:
	ldr	r2, .L1193+4
	ldr	r3, [fp, #-12]
	str	r3, [r2, #28]
	b	.L1176
.L1183:
	ldr	r2, .L1193+4
	ldr	r3, [fp, #-12]
	str	r3, [r2, #32]
	b	.L1176
.L1182:
	ldr	r2, .L1193+4
	ldr	r3, [fp, #-12]
	str	r3, [r2, #36]
	b	.L1176
.L1181:
	ldr	r2, .L1193+4
	ldr	r3, [fp, #-12]
	str	r3, [r2, #40]
	b	.L1176
.L1180:
	ldr	r2, .L1193+4
	ldr	r3, [fp, #-12]
	str	r3, [r2, #44]
	b	.L1176
.L1179:
	ldr	r2, .L1193+4
	ldr	r3, [fp, #-12]
	str	r3, [r2, #48]
	b	.L1176
.L1177:
	ldr	r2, .L1193+4
	ldr	r3, [fp, #-12]
	str	r3, [r2, #52]
	b	.L1192
.L1176:
.L1192:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1194:
	.align	2
.L1193:
	.word	_glfwInitialized
	.word	_glfwLibrary
	.size	glfwOpenWindowHint, .-glfwOpenWindowHint
	.align	2
	.global	glfwPollEvents
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwPollEvents, %function
glfwPollEvents:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L1198
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1197
	ldr	r3, .L1198+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1197
	bl	_glfwPlatformPollEvents
.L1197:
	nop
	pop	{fp, pc}
.L1199:
	.align	2
.L1198:
	.word	_glfwWin
	.word	_glfwInitialized
	.size	glfwPollEvents, .-glfwPollEvents
	.section	.rodata
	.align	2
.LC51:
	.ascii	"rb\000"
	.align	2
.LC52:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	glfwReadImage
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwReadImage, %function
glfwReadImage:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	ldr	r3, .L1219
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L1219+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1201
	mov	r3, #0
	b	.L1213
.L1201:
	ldr	r3, [fp, #-44]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-44]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-44]
	mov	r2, #0
	str	r2, [r3, #16]
	sub	r3, fp, #24
	ldr	r2, .L1219+8
	ldr	r1, [fp, #-40]
	mov	r0, r3
	bl	_glfwOpenFileStream
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L1203
	mov	r3, #0
	b	.L1213
.L1203:
	sub	r3, fp, #24
	ldr	r2, [fp, #-48]
	ldr	r1, [fp, #-44]
	mov	r0, r3
	bl	_glfwReadTGA
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L1204
	sub	r3, fp, #24
	mov	r0, r3
	bl	_glfwCloseStream
	mov	r3, #0
	b	.L1213
.L1204:
	sub	r3, fp, #24
	mov	r0, r3
	bl	_glfwCloseStream
	ldr	r3, [fp, #-48]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L1205
	ldr	r0, [fp, #-44]
	bl	RescaleImage
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L1205
	mov	r3, #0
	b	.L1213
.L1205:
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #12]
	cmp	r3, #1
	beq	.L1206
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #12]
	cmp	r3, #3
	beq	.L1217
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #12]
	cmp	r3, #4
	beq	.L1218
.L1206:
	ldr	r3, [fp, #-48]
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L1210
	ldr	r3, [fp, #-44]
	ldr	r2, .L1219+12
	str	r2, [r3, #8]
	b	.L1212
.L1210:
	ldr	r3, [fp, #-44]
	ldr	r2, .L1219+16
	str	r2, [r3, #8]
	b	.L1212
.L1217:
	nop
.L1208:
	ldr	r3, [fp, #-44]
	ldr	r2, .L1219+20
	str	r2, [r3, #8]
	b	.L1212
.L1218:
	nop
.L1209:
	ldr	r3, [fp, #-44]
	ldr	r2, .L1219+24
	str	r2, [r3, #8]
.L1212:
	mov	r3, #1
.L1213:
	ldr	r2, .L1219
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1214
	bl	__stack_chk_fail
.L1214:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1220:
	.align	2
.L1219:
	.word	.LC52
	.word	_glfwInitialized
	.word	.LC51
	.word	6406
	.word	6409
	.word	6407
	.word	6408
	.size	glfwReadImage, .-glfwReadImage
	.section	.rodata
	.align	2
.LC53:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	glfwReadMemoryImage
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwReadMemoryImage, %function
glfwReadMemoryImage:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	str	r3, [fp, #-52]
	ldr	r3, .L1240
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L1240+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1222
	mov	r3, #0
	b	.L1234
.L1222:
	ldr	r3, [fp, #-48]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-48]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-48]
	mov	r2, #0
	str	r2, [r3, #16]
	sub	r3, fp, #24
	ldr	r2, [fp, #-44]
	ldr	r1, [fp, #-40]
	mov	r0, r3
	bl	_glfwOpenBufferStream
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L1224
	mov	r3, #0
	b	.L1234
.L1224:
	sub	r3, fp, #24
	ldr	r2, [fp, #-52]
	ldr	r1, [fp, #-48]
	mov	r0, r3
	bl	_glfwReadTGA
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L1225
	sub	r3, fp, #24
	mov	r0, r3
	bl	_glfwCloseStream
	mov	r3, #0
	b	.L1234
.L1225:
	sub	r3, fp, #24
	mov	r0, r3
	bl	_glfwCloseStream
	ldr	r3, [fp, #-52]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L1226
	ldr	r0, [fp, #-48]
	bl	RescaleImage
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L1226
	mov	r3, #0
	b	.L1234
.L1226:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #12]
	cmp	r3, #1
	beq	.L1227
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #12]
	cmp	r3, #3
	beq	.L1238
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #12]
	cmp	r3, #4
	beq	.L1239
.L1227:
	ldr	r3, [fp, #-52]
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L1231
	ldr	r3, [fp, #-48]
	ldr	r2, .L1240+8
	str	r2, [r3, #8]
	b	.L1233
.L1231:
	ldr	r3, [fp, #-48]
	ldr	r2, .L1240+12
	str	r2, [r3, #8]
	b	.L1233
.L1238:
	nop
.L1229:
	ldr	r3, [fp, #-48]
	ldr	r2, .L1240+16
	str	r2, [r3, #8]
	b	.L1233
.L1239:
	nop
.L1230:
	ldr	r3, [fp, #-48]
	ldr	r2, .L1240+20
	str	r2, [r3, #8]
.L1233:
	mov	r3, #1
.L1234:
	ldr	r2, .L1240
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1235
	bl	__stack_chk_fail
.L1235:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1241:
	.align	2
.L1240:
	.word	.LC53
	.word	_glfwInitialized
	.word	6406
	.word	6409
	.word	6407
	.word	6408
	.size	glfwReadMemoryImage, .-glfwReadMemoryImage
	.align	2
	.global	glfwRestoreWindow
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwRestoreWindow, %function
glfwRestoreWindow:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L1245
	ldr	r3, [r3, #64]
	cmp	r3, #0
	beq	.L1244
	ldr	r3, .L1245
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1244
	ldr	r3, .L1245+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1244
	bl	_glfwPlatformRestoreWindow
	bl	_glfwPlatformRefreshWindowParams
.L1244:
	nop
	pop	{fp, pc}
.L1246:
	.align	2
.L1245:
	.word	_glfwWin
	.word	_glfwInitialized
	.size	glfwRestoreWindow, .-glfwRestoreWindow
	.align	2
	.global	glfwSetCharCallback
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwSetCharCallback, %function
glfwSetCharCallback:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, .L1250
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1249
	ldr	r3, .L1250+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1249
	ldr	r2, .L1250
	ldr	r3, [fp, #-8]
	str	r3, [r2, #28]
.L1249:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1251:
	.align	2
.L1250:
	.word	_glfwWin
	.word	_glfwInitialized
	.size	glfwSetCharCallback, .-glfwSetCharCallback
	.align	2
	.global	glfwSetKeyCallback
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwSetKeyCallback, %function
glfwSetKeyCallback:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, .L1255
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1254
	ldr	r3, .L1255+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1254
	ldr	r2, .L1255
	ldr	r3, [fp, #-8]
	str	r3, [r2, #24]
.L1254:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1256:
	.align	2
.L1255:
	.word	_glfwWin
	.word	_glfwInitialized
	.size	glfwSetKeyCallback, .-glfwSetKeyCallback
	.align	2
	.global	glfwSetMouseButtonCallback
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwSetMouseButtonCallback, %function
glfwSetMouseButtonCallback:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, .L1260
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1259
	ldr	r3, .L1260+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1259
	ldr	r2, .L1260
	ldr	r3, [fp, #-8]
	str	r3, [r2, #12]
.L1259:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1261:
	.align	2
.L1260:
	.word	_glfwWin
	.word	_glfwInitialized
	.size	glfwSetMouseButtonCallback, .-glfwSetMouseButtonCallback
	.align	2
	.global	glfwSetMousePos
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwSetMousePos, %function
glfwSetMousePos:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, .L1266
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1265
	ldr	r3, .L1266+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1265
	ldr	r3, .L1266+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bne	.L1264
	ldr	r3, .L1266+8
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	beq	.L1265
.L1264:
	ldr	r2, .L1266+8
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	ldr	r2, .L1266+8
	ldr	r3, [fp, #-12]
	str	r3, [r2, #4]
	ldr	r3, .L1266
	ldr	r3, [r3, #36]
	cmp	r3, #0
	bne	.L1265
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	_glfwPlatformSetMouseCursorPos
.L1265:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1267:
	.align	2
.L1266:
	.word	_glfwWin
	.word	_glfwInitialized
	.word	_glfwInput
	.size	glfwSetMousePos, .-glfwSetMousePos
	.align	2
	.global	glfwSetMousePosCallback
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwSetMousePosCallback, %function
glfwSetMousePosCallback:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L1271
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1270
	ldr	r3, .L1271+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1270
	ldr	r2, .L1271
	ldr	r3, [fp, #-8]
	str	r3, [r2, #16]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1270
	ldr	r3, .L1271+8
	ldr	r2, [r3]
	ldr	r3, .L1271+8
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r0, r2
	blx	r3
.L1270:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1272:
	.align	2
.L1271:
	.word	_glfwWin
	.word	_glfwInitialized
	.word	_glfwInput
	.size	glfwSetMousePosCallback, .-glfwSetMousePosCallback
	.align	2
	.global	glfwSetMouseWheel
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwSetMouseWheel, %function
glfwSetMouseWheel:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, .L1276
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1275
	ldr	r3, .L1276+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1275
	ldr	r2, .L1276+8
	ldr	r3, [fp, #-8]
	str	r3, [r2, #8]
.L1275:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1277:
	.align	2
.L1276:
	.word	_glfwWin
	.word	_glfwInitialized
	.word	_glfwInput
	.size	glfwSetMouseWheel, .-glfwSetMouseWheel
	.align	2
	.global	glfwSetMouseWheelCallback
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwSetMouseWheelCallback, %function
glfwSetMouseWheelCallback:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L1281
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1280
	ldr	r3, .L1281+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1280
	ldr	r2, .L1281
	ldr	r3, [fp, #-8]
	str	r3, [r2, #20]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1280
	ldr	r3, .L1281+8
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r0, r2
	blx	r3
.L1280:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1282:
	.align	2
.L1281:
	.word	_glfwWin
	.word	_glfwInitialized
	.word	_glfwInput
	.size	glfwSetMouseWheelCallback, .-glfwSetMouseWheelCallback
	.align	2
	.global	glfwSetTime
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwSetTime, %function
glfwSetTime:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-12]
	str	r1, [fp, #-8]
	ldr	r3, .L1286
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1285
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	_glfwPlatformSetTime
.L1285:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1287:
	.align	2
.L1286:
	.word	_glfwInitialized
	.size	glfwSetTime, .-glfwSetTime
	.align	2
	.global	glfwSetWindowCloseCallback
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwSetWindowCloseCallback, %function
glfwSetWindowCloseCallback:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, .L1291
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1290
	ldr	r3, .L1291+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1290
	ldr	r2, .L1291
	ldr	r3, [fp, #-8]
	str	r3, [r2, #4]
.L1290:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1292:
	.align	2
.L1291:
	.word	_glfwWin
	.word	_glfwInitialized
	.size	glfwSetWindowCloseCallback, .-glfwSetWindowCloseCallback
	.align	2
	.global	glfwSetWindowPos
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwSetWindowPos, %function
glfwSetWindowPos:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, .L1296
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1295
	ldr	r3, .L1296+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1295
	ldr	r3, .L1296
	ldr	r3, [r3, #32]
	cmp	r3, #0
	bne	.L1295
	ldr	r3, .L1296
	ldr	r3, [r3, #64]
	cmp	r3, #0
	bne	.L1295
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	_glfwPlatformSetWindowPos
.L1295:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1297:
	.align	2
.L1296:
	.word	_glfwWin
	.word	_glfwInitialized
	.size	glfwSetWindowPos, .-glfwSetWindowPos
	.align	2
	.global	glfwSetWindowRefreshCallback
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwSetWindowRefreshCallback, %function
glfwSetWindowRefreshCallback:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, .L1301
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1300
	ldr	r3, .L1301+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1300
	ldr	r2, .L1301
	ldr	r3, [fp, #-8]
	str	r3, [r2, #8]
.L1300:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1302:
	.align	2
.L1301:
	.word	_glfwWin
	.word	_glfwInitialized
	.size	glfwSetWindowRefreshCallback, .-glfwSetWindowRefreshCallback
	.align	2
	.global	glfwSetWindowSize
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwSetWindowSize, %function
glfwSetWindowSize:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, .L1307
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1306
	ldr	r3, .L1307+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1306
	ldr	r3, .L1307
	ldr	r3, [r3, #64]
	cmp	r3, #0
	bne	.L1306
	ldr	r3, .L1307
	ldr	r3, [r3, #72]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bne	.L1305
	ldr	r3, .L1307
	ldr	r3, [r3, #68]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	beq	.L1306
.L1305:
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	_glfwPlatformSetWindowSize
	bl	_glfwPlatformRefreshWindowParams
.L1306:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1308:
	.align	2
.L1307:
	.word	_glfwWin
	.word	_glfwInitialized
	.size	glfwSetWindowSize, .-glfwSetWindowSize
	.align	2
	.global	glfwSetWindowSizeCallback
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwSetWindowSizeCallback, %function
glfwSetWindowSizeCallback:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L1312
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1311
	ldr	r3, .L1312+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1311
	ldr	r2, .L1312
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1311
	ldr	r3, .L1312
	ldr	r2, [r3, #68]
	ldr	r3, .L1312
	ldr	r1, [r3, #72]
	ldr	r3, [fp, #-8]
	mov	r0, r2
	blx	r3
.L1311:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1313:
	.align	2
.L1312:
	.word	_glfwWin
	.word	_glfwInitialized
	.size	glfwSetWindowSizeCallback, .-glfwSetWindowSizeCallback
	.align	2
	.global	glfwSetWindowTitle
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwSetWindowTitle, %function
glfwSetWindowTitle:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L1317
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1316
	ldr	r3, .L1317+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1316
	ldr	r0, [fp, #-8]
	bl	_glfwPlatformSetWindowTitle
.L1316:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1318:
	.align	2
.L1317:
	.word	_glfwWin
	.word	_glfwInitialized
	.size	glfwSetWindowTitle, .-glfwSetWindowTitle
	.align	2
	.global	glfwSignalCond
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwSignalCond, %function
glfwSignalCond:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1321
	ldr	r3, .L1322
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1321
	ldr	r0, [fp, #-8]
	bl	_glfwPlatformSignalCond
.L1321:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1323:
	.align	2
.L1322:
	.word	_glfwInitialized
	.size	glfwSignalCond, .-glfwSignalCond
	.align	2
	.global	glfwSleep
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwSleep, %function
glfwSleep:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-12]
	str	r1, [fp, #-8]
	ldr	r3, .L1327
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1326
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	_glfwPlatformSleep
.L1326:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1328:
	.align	2
.L1327:
	.word	_glfwInitialized
	.size	glfwSleep, .-glfwSleep
	.align	2
	.global	glfwSwapBuffers
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwSwapBuffers, %function
glfwSwapBuffers:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L1332
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1331
	ldr	r3, .L1332+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1331
	bl	_glfwPlatformSwapBuffers
	ldr	r3, .L1332
	ldr	r3, [r3, #40]
	cmp	r3, #0
	beq	.L1331
	bl	glfwPollEvents
.L1331:
	nop
	pop	{fp, pc}
.L1333:
	.align	2
.L1332:
	.word	_glfwWin
	.word	_glfwInitialized
	.size	glfwSwapBuffers, .-glfwSwapBuffers
	.align	2
	.global	glfwSwapInterval
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwSwapInterval, %function
glfwSwapInterval:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L1337
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1336
	ldr	r3, .L1337+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1336
	ldr	r0, [fp, #-8]
	bl	_glfwPlatformSwapInterval
.L1336:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1338:
	.align	2
.L1337:
	.word	_glfwWin
	.word	_glfwInitialized
	.size	glfwSwapInterval, .-glfwSwapInterval
	.align	2
	.global	glfwTerminate
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwTerminate, %function
glfwTerminate:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r3, .L1342
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1341
	bl	_glfwPlatformTerminate
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1341
	ldr	r3, .L1342
	mov	r2, #0
	str	r2, [r3]
.L1341:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1343:
	.align	2
.L1342:
	.word	_glfwInitialized
	.size	glfwTerminate, .-glfwTerminate
	.align	2
	.global	glfwUnlockMutex
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwUnlockMutex, %function
glfwUnlockMutex:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1345
	ldr	r3, .L1348
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1347
.L1345:
	ldr	r0, [fp, #-8]
	bl	_glfwPlatformUnlockMutex
.L1347:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1349:
	.align	2
.L1348:
	.word	_glfwInitialized
	.size	glfwUnlockMutex, .-glfwUnlockMutex
	.align	2
	.global	glfwWaitCond
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwWaitCond, %function
glfwWaitCond:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1352
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1352
	ldr	r3, .L1353
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1352
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	_glfwPlatformWaitCond
.L1352:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1354:
	.align	2
.L1353:
	.word	_glfwInitialized
	.size	glfwWaitCond, .-glfwWaitCond
	.align	2
	.global	glfwWaitEvents
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwWaitEvents, %function
glfwWaitEvents:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L1358
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L1357
	ldr	r3, .L1358+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1357
	bl	_glfwPlatformWaitEvents
.L1357:
	nop
	pop	{fp, pc}
.L1359:
	.align	2
.L1358:
	.word	_glfwWin
	.word	_glfwInitialized
	.size	glfwWaitEvents, .-glfwWaitEvents
	.align	2
	.global	glfwWaitThread
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfwWaitThread, %function
glfwWaitThread:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, .L1364
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1361
	mov	r3, #1
	b	.L1362
.L1361:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bgt	.L1363
	mov	r3, #1
	b	.L1362
.L1363:
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	_glfwPlatformWaitThread
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
.L1362:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1365:
	.align	2
.L1364:
	.word	_glfwInitialized
	.size	glfwWaitThread, .-glfwWaitThread
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	glfw_atexit, %function
glfw_atexit:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	bl	glfwTerminate
	nop
	pop	{fp, pc}
	.size	glfw_atexit, .-glfw_atexit
	.section	.rodata
	.align	2
.LC54:
	.ascii	"Failed to open X display\012\000"
	.align	2
.LC55:
	.ascii	"GLX not supported\012\000"
	.align	2
.LC56:
	.ascii	"Unable to query GLX version\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	initDisplay, %function
initDisplay:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r0, #0
	bl	XOpenDisplay
	mov	r3, r0
	ldr	r2, .L1372
	str	r3, [r2, #76]
	ldr	r3, .L1372
	ldr	r3, [r3, #76]
	cmp	r3, #0
	bne	.L1368
	ldr	r3, .L1372+4
	ldr	r3, [r3]
	mov	r2, #25
	mov	r1, #1
	ldr	r0, .L1372+8
	bl	fwrite
	mov	r3, #0
	b	.L1369
.L1368:
	ldr	r3, .L1372
	mov	r2, #0
	str	r2, [r3, #96]
	ldr	r3, .L1372
	ldr	r3, [r3, #76]
	ldr	r2, .L1372+12
	ldr	r1, .L1372+16
	mov	r0, r3
	bl	XRRQueryExtension
	mov	r3, r0
	ldr	r2, .L1372
	str	r3, [r2, #108]
	ldr	r3, .L1372
	ldr	r3, [r3, #76]
	ldr	r2, .L1372+20
	ldr	r1, .L1372+24
	mov	r0, r3
	bl	glXQueryExtension
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1370
	ldr	r3, .L1372+4
	ldr	r3, [r3]
	mov	r2, #18
	mov	r1, #1
	ldr	r0, .L1372+28
	bl	fwrite
	mov	r3, #0
	b	.L1369
.L1370:
	ldr	r3, .L1372
	ldr	r3, [r3, #76]
	ldr	r2, .L1372+32
	ldr	r1, .L1372+36
	mov	r0, r3
	bl	glXQueryVersion
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1371
	ldr	r3, .L1372+4
	ldr	r3, [r3]
	mov	r2, #28
	mov	r1, #1
	ldr	r0, .L1372+40
	bl	fwrite
	mov	r3, #0
	b	.L1369
.L1371:
	mov	r3, #1
.L1369:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1373:
	.align	2
.L1372:
	.word	_glfwLibrary
	.word	stderr
	.word	.LC54
	.word	_glfwLibrary+116
	.word	_glfwLibrary+112
	.word	_glfwLibrary+88
	.word	_glfwLibrary+92
	.word	.LC55
	.word	_glfwLibrary+84
	.word	_glfwLibrary+80
	.word	.LC56
	.size	initDisplay, .-initDisplay
	.section	.rodata
	.align	2
.LC57:
	.ascii	"GLX_EXT_swap_control\000"
	.align	2
.LC58:
	.ascii	"glXSwapIntervalEXT\000"
	.align	2
.LC59:
	.ascii	"GLX_MESA_swap_control\000"
	.align	2
.LC60:
	.ascii	"glXSwapIntervalMESA\000"
	.align	2
.LC61:
	.ascii	"GLX_SGI_swap_control\000"
	.align	2
.LC62:
	.ascii	"glXSwapIntervalSGI\000"
	.align	2
.LC63:
	.ascii	"GLX_SGIX_fbconfig\000"
	.align	2
.LC64:
	.ascii	"glXGetFBConfigAttribSGIX\000"
	.align	2
.LC65:
	.ascii	"glXChooseFBConfigSGIX\000"
	.align	2
.LC66:
	.ascii	"glXCreateContextWithConfigSGIX\000"
	.align	2
.LC67:
	.ascii	"glXGetVisualFromFBConfigSGIX\000"
	.align	2
.LC68:
	.ascii	"GLX_ARB_multisample\000"
	.align	2
.LC69:
	.ascii	"GLX_ARB_create_context\000"
	.align	2
.LC70:
	.ascii	"glXCreateContextAttribsARB\000"
	.align	2
.LC71:
	.ascii	"GLX_ARB_create_context_profile\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	initGLXExtensions, %function
initGLXExtensions:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	ldr	r3, .L1383
	mov	r2, #0
	str	r2, [r3, #220]
	ldr	r3, .L1383
	mov	r2, #0
	str	r2, [r3, #224]
	ldr	r3, .L1383
	mov	r2, #0
	str	r2, [r3, #228]
	ldr	r3, .L1383
	mov	r2, #0
	str	r2, [r3, #232]
	ldr	r3, .L1383
	mov	r2, #0
	str	r2, [r3, #236]
	ldr	r3, .L1383
	mov	r2, #0
	str	r2, [r3, #240]
	ldr	r3, .L1383
	mov	r2, #0
	str	r2, [r3, #244]
	ldr	r3, .L1383
	mov	r2, #0
	str	r2, [r3, #248]
	ldr	r3, .L1383
	mov	r2, #0
	strb	r2, [r3, #252]
	ldr	r3, .L1383
	mov	r2, #0
	strb	r2, [r3, #253]
	ldr	r3, .L1383
	mov	r2, #0
	strb	r2, [r3, #254]
	ldr	r3, .L1383
	mov	r2, #0
	strb	r2, [r3, #255]
	ldr	r3, .L1383
	mov	r2, #0
	strb	r2, [r3, #256]
	ldr	r3, .L1383
	mov	r2, #0
	strb	r2, [r3, #257]
	ldr	r3, .L1383
	mov	r2, #0
	strb	r2, [r3, #258]
	ldr	r0, .L1383+4
	bl	_glfwPlatformExtensionSupported
	str	r0, [fp, #-64]
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L1375
	ldr	r0, .L1383+8
	bl	_glfwPlatformGetProcAddress
	str	r0, [fp, #-60]
	ldr	r3, [fp, #-60]
	ldr	r2, .L1383
	str	r3, [r2, #220]
	ldr	r3, .L1383
	ldr	r3, [r3, #220]
	cmp	r3, #0
	beq	.L1375
	ldr	r3, .L1383
	mov	r2, #1
	strb	r2, [r3, #253]
.L1375:
	ldr	r0, .L1383+12
	bl	_glfwPlatformExtensionSupported
	str	r0, [fp, #-56]
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	beq	.L1376
	ldr	r0, .L1383+16
	bl	_glfwPlatformGetProcAddress
	str	r0, [fp, #-52]
	ldr	r3, [fp, #-52]
	ldr	r2, .L1383
	str	r3, [r2, #224]
	ldr	r3, .L1383
	ldr	r3, [r3, #224]
	cmp	r3, #0
	beq	.L1376
	ldr	r3, .L1383
	mov	r2, #1
	strb	r2, [r3, #254]
.L1376:
	ldr	r0, .L1383+20
	bl	_glfwPlatformExtensionSupported
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L1377
	ldr	r0, .L1383+24
	bl	_glfwPlatformGetProcAddress
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-44]
	ldr	r2, .L1383
	str	r3, [r2, #228]
	ldr	r3, .L1383
	ldr	r3, [r3, #228]
	cmp	r3, #0
	beq	.L1377
	ldr	r3, .L1383
	mov	r2, #1
	strb	r2, [r3, #255]
.L1377:
	ldr	r0, .L1383+28
	bl	_glfwPlatformExtensionSupported
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L1378
	ldr	r0, .L1383+32
	bl	_glfwPlatformGetProcAddress
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	ldr	r2, .L1383
	str	r3, [r2, #232]
	ldr	r0, .L1383+36
	bl	_glfwPlatformGetProcAddress
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldr	r2, .L1383
	str	r3, [r2, #236]
	ldr	r0, .L1383+40
	bl	_glfwPlatformGetProcAddress
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r2, .L1383
	str	r3, [r2, #240]
	ldr	r0, .L1383+44
	bl	_glfwPlatformGetProcAddress
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r2, .L1383
	str	r3, [r2, #244]
	ldr	r3, .L1383
	ldr	r3, [r3, #236]
	cmp	r3, #0
	beq	.L1378
	ldr	r3, .L1383
	ldr	r3, [r3, #244]
	cmp	r3, #0
	beq	.L1378
	ldr	r3, .L1383
	ldr	r3, [r3, #240]
	cmp	r3, #0
	beq	.L1378
	ldr	r3, .L1383
	ldr	r3, [r3, #232]
	cmp	r3, #0
	beq	.L1378
	ldr	r3, .L1383
	mov	r2, #1
	strb	r2, [r3, #252]
.L1378:
	ldr	r0, .L1383+48
	bl	_glfwPlatformExtensionSupported
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L1379
	ldr	r3, .L1383
	mov	r2, #1
	strb	r2, [r3, #256]
.L1379:
	ldr	r0, .L1383+52
	bl	_glfwPlatformExtensionSupported
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L1380
	ldr	r0, .L1383+56
	bl	_glfwPlatformGetProcAddress
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r2, .L1383
	str	r3, [r2, #248]
	ldr	r3, .L1383
	ldr	r3, [r3, #248]
	cmp	r3, #0
	beq	.L1380
	ldr	r3, .L1383
	mov	r2, #1
	strb	r2, [r3, #257]
.L1380:
	ldr	r0, .L1383+60
	bl	_glfwPlatformExtensionSupported
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1382
	ldr	r3, .L1383
	mov	r2, #1
	strb	r2, [r3, #258]
.L1382:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1384:
	.align	2
.L1383:
	.word	_glfwWin
	.word	.LC57
	.word	.LC58
	.word	.LC59
	.word	.LC60
	.word	.LC61
	.word	.LC62
	.word	.LC63
	.word	.LC64
	.word	.LC65
	.word	.LC66
	.word	.LC67
	.word	.LC68
	.word	.LC69
	.word	.LC70
	.word	.LC71
	.size	initGLXExtensions, .-initGLXExtensions
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	initLibraries, %function
initLibraries:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	initLibraries, .-initLibraries
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	initThreads, %function
initThreads:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r1, #0
	ldr	r0, .L1387
	bl	pthread_mutex_init
	ldr	r3, .L1387+4
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L1387+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, .L1387+4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L1387+4
	str	r3, [r2]
	ldr	r2, .L1387+4
	ldr	r3, [fp, #-8]
	str	r3, [r2, #12]
	ldr	r3, .L1387+4
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r3, .L1387+4
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, .L1387+4
	mov	r2, #0
	str	r2, [r3, #8]
	bl	pthread_self
	mov	r3, r0
	ldr	r2, .L1387+4
	str	r3, [r2, #20]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1388:
	.align	2
.L1387:
	.word	_glfwThrd+24
	.word	_glfwThrd
	.size	initThreads, .-initThreads
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	isMapNotify, %function
isMapNotify:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	cmp	r3, #19
	bne	.L1390
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	moveq	r3, #1
	movne	r3, #0
	strb	r3, [fp, #-5]
	b	.L1391
.L1390:
	mov	r3, #0
	strb	r3, [fp, #-5]
.L1391:
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	isMapNotify, .-isMapNotify
	.section	.rodata
	.align	2
.LC72:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	leaveFullscreenMode, %function
leaveFullscreenMode:
	@ args = 0, pretend = 0, frame = 104
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #112
	ldr	r3, .L1399
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	bl	_glfwRestoreVideoMode
	ldr	r3, .L1399+4
	ldr	r3, [r3, #264]
	cmp	r3, #0
	beq	.L1394
	ldr	r3, .L1399+8
	ldr	r0, [r3, #76]
	ldr	r3, .L1399+4
	ldr	r1, [r3, #268]
	ldr	r3, .L1399+4
	ldr	r2, [r3, #272]
	ldr	r3, .L1399+4
	ldr	ip, [r3, #276]
	ldr	r3, .L1399+4
	ldr	r3, [r3, #280]
	str	r3, [sp]
	mov	r3, ip
	bl	XSetScreenSaver
	ldr	r3, .L1399+4
	mov	r2, #0
	str	r2, [r3, #264]
.L1394:
	ldr	r3, .L1399+4
	ldr	r3, [r3, #204]
	cmp	r3, #0
	beq	.L1395
	ldr	r3, .L1399+4
	ldr	r3, [r3, #208]
	cmp	r3, #0
	beq	.L1395
	ldr	r3, .L1399+4
	ldrb	r3, [r3, #259]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1395
	sub	r3, fp, #104
	mov	r2, #96
	mov	r1, #0
	mov	r0, r3
	bl	memset
	mov	r3, #33
	str	r3, [fp, #-104]
	ldr	r3, .L1399+4
	ldr	r3, [r3, #172]
	str	r3, [fp, #-88]
	mov	r3, #32
	str	r3, [fp, #-80]
	ldr	r3, .L1399+4
	ldr	r3, [r3, #204]
	str	r3, [fp, #-84]
	mov	r3, #0
	str	r3, [fp, #-76]
	ldr	r3, .L1399+4
	ldr	r3, [r3, #208]
	str	r3, [fp, #-72]
	mov	r3, #0
	str	r3, [fp, #-68]
	mov	r3, #1
	str	r3, [fp, #-64]
	ldr	r3, .L1399+8
	ldr	r0, [r3, #76]
	ldr	r3, .L1399+4
	ldr	r1, [r3, #176]
	sub	r3, fp, #104
	str	r3, [sp]
	mov	r3, #1572864
	mov	r2, #0
	bl	XSendEvent
.L1395:
	ldr	r3, .L1399+4
	ldr	r3, [r3, #36]
	cmp	r3, #0
	beq	.L1398
	bl	_glfwPlatformShowMouseCursor
.L1398:
	nop
	ldr	r3, .L1399
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1397
	bl	__stack_chk_fail
.L1397:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1400:
	.align	2
.L1399:
	.word	.LC72
	.word	_glfwWin
	.word	_glfwLibrary
	.size	leaveFullscreenMode, .-leaveFullscreenMode
	.section	.rodata
	.align	2
.LC73:
	.ascii	"Failed to initialize GLFW\012\000"
	.align	2
.LC74:
	.ascii	"Failed to open GLFW window\012\000"
	.align	2
.LC75:
	.ascii	"Cursor Inaccuracy Detector\000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #40
	bl	glfwInit
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L1402
	ldr	r3, .L1409
	ldr	r3, [r3]
	mov	r2, #26
	mov	r1, #1
	ldr	r0, .L1409+4
	bl	fwrite
	mov	r0, #1
	bl	exit
.L1402:
	ldr	r3, .L1409+8
	ldr	r0, [r3]
	ldr	r3, .L1409+12
	ldr	r1, [r3]
	ldr	r3, .L1409+16
	str	r3, [sp, #16]
	mov	r3, #0
	str	r3, [sp, #12]
	mov	r3, #0
	str	r3, [sp, #8]
	mov	r3, #0
	str	r3, [sp, #4]
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	mov	r2, #0
	bl	glfwOpenWindow
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L1403
	bl	glfwTerminate
	ldr	r3, .L1409
	ldr	r3, [r3]
	mov	r2, #27
	mov	r1, #1
	ldr	r0, .L1409+20
	bl	fwrite
	mov	r0, #1
	bl	exit
.L1403:
	ldr	r0, .L1409+24
	bl	glfwSetWindowTitle
	ldr	r0, .L1409+28
	bl	glfwSetMousePosCallback
	ldr	r0, .L1409+32
	bl	glfwSetWindowSizeCallback
	mov	r0, #1
	bl	glfwSwapInterval
	mov	r3, #0
	mov	r2, #0
	mov	r1, #0
	mov	r0, #0
	bl	glClearColor
	mov	r0, #5888
	bl	glMatrixMode
	bl	glLoadIdentity
.L1406:
	ldr	r0, .L1409+36
	bl	glfwGetWindowParam
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L1408
	mov	r0, #16384
	bl	glClear
	mov	r2, #1065353216
	mov	r1, #1065353216
	mov	r0, #1065353216
	bl	glColor3f
	mov	r0, #1
	bl	glBegin
	ldr	r3, .L1409+12
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r4, r0
	ldr	r3, .L1409+40
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fsub
	mov	r3, r0
	mov	r1, r3
	mov	r0, #0
	bl	glVertex2f
	ldr	r3, .L1409+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r4, r0
	ldr	r3, .L1409+12
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r5, r0
	ldr	r3, .L1409+40
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r1, r3
	mov	r0, r5
	bl	__aeabi_fsub
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	glVertex2f
	ldr	r3, .L1409+44
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r1, #0
	mov	r0, r3
	bl	glVertex2f
	ldr	r3, .L1409+44
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r4, r0
	ldr	r3, .L1409+12
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	glVertex2f
	bl	glEnd
	bl	glfwSwapBuffers
	b	.L1406
.L1408:
	nop
	bl	glfwTerminate
	mov	r0, #0
	bl	exit
.L1410:
	.align	2
.L1409:
	.word	stderr
	.word	.LC73
	.word	window_width
	.word	window_height
	.word	65537
	.word	.LC74
	.word	.LC75
	.word	mouse_position_callback
	.word	window_size_callback
	.word	131073
	.word	cursor_y
	.word	cursor_x
	.size	main, .-main
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mouse_position_callback, %function
mouse_position_callback:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r2, .L1412
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	ldr	r2, .L1412+4
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1413:
	.align	2
.L1412:
	.word	cursor_x
	.word	cursor_y
	.size	mouse_position_callback, .-mouse_position_callback
	.section	.rodata
	.align	2
.LC76:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	pollJoystickEvents, %function
pollJoystickEvents:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	ldr	r3, .L1428
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L1415
.L1424:
	ldr	r1, .L1428+4
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1416
.L1423:
	ldr	r1, .L1428+4
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r1, fp, #24
	mov	r2, #8
	mov	r0, r3
	bl	read
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	ble	.L1426
	ldrb	r3, [fp, #-18]	@ zero_extendqisi2
	and	r3, r3, #127
	and	r3, r3, #255
	strb	r3, [fp, #-18]
	ldrb	r3, [fp, #-18]	@ zero_extendqisi2
	cmp	r3, #1
	beq	.L1418
	cmp	r3, #2
	bne	.L1423
	ldrsh	r3, [fp, #-20]
	mov	r0, r3
	bl	__aeabi_i2f
	ldr	r1, .L1428+4
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #16
	ldr	r2, [r3]
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	lsl	r3, r3, #2
	add	r4, r2, r3
	ldr	r1, .L1428+8
	bl	__aeabi_fdiv
	mov	r3, r0
	str	r3, [r4]	@ float
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	and	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L1427
	ldr	r1, .L1428+4
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #16
	ldr	r2, [r3]
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]	@ float
	ldr	r0, .L1428+4
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r0, r3
	add	r3, r3, #16
	ldr	r2, [r3]
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	lsl	r3, r3, #2
	add	r3, r2, r3
	eor	r2, r1, #-2147483648
	str	r2, [r3]	@ float
	b	.L1427
.L1418:
	ldrsh	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L1421
	mov	r0, #1
	b	.L1422
.L1421:
	mov	r0, #0
.L1422:
	ldr	r1, .L1428+4
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #20
	ldr	r3, [r3]
	ldrb	r2, [fp, #-17]	@ zero_extendqisi2
	add	r3, r3, r2
	mov	r2, r0
	strb	r2, [r3]
	b	.L1423
.L1427:
	nop
	b	.L1423
.L1426:
	nop
.L1416:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L1415:
	ldr	r3, [fp, #-32]
	cmp	r3, #15
	ble	.L1424
	nop
	ldr	r3, .L1428
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1425
	bl	__stack_chk_fail
.L1425:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L1429:
	.align	2
.L1428:
	.word	.LC76
	.word	_glfwJoy
	.word	1191181824
	.size	pollJoystickEvents, .-pollJoystickEvents
	.section	.rodata
	.align	2
.LC77:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	processSingleEvent, %function
processSingleEvent:
	@ args = 0, pretend = 0, frame = 216
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #224
	ldr	r3, .L1484
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L1484+4
	ldr	r3, [r3, #76]
	sub	r2, fp, #200
	mov	r1, r2
	mov	r0, r3
	bl	XNextEvent
	ldr	r3, [fp, #-200]
	sub	r3, r3, #2
	cmp	r3, #31
	ldrls	pc, [pc, r3, asl #2]
	b	.L1431
.L1433:
	.word	.L1445
	.word	.L1444
	.word	.L1443
	.word	.L1442
	.word	.L1441
	.word	.L1431
	.word	.L1431
	.word	.L1440
	.word	.L1439
	.word	.L1431
	.word	.L1438
	.word	.L1431
	.word	.L1431
	.word	.L1431
	.word	.L1431
	.word	.L1437
	.word	.L1436
	.word	.L1435
	.word	.L1431
	.word	.L1431
	.word	.L1434
	.word	.L1431
	.word	.L1431
	.word	.L1431
	.word	.L1431
	.word	.L1431
	.word	.L1431
	.word	.L1431
	.word	.L1431
	.word	.L1431
	.word	.L1431
	.word	.L1432
.L1445:
	ldr	r3, [fp, #-148]
	mov	r0, r3
	bl	translateKey
	str	r0, [fp, #-208]
	mov	r1, #1
	ldr	r0, [fp, #-208]
	bl	_glfwInputKey
	ldr	r3, .L1484+8
	ldr	r3, [r3, #28]
	cmp	r3, #0
	beq	.L1473
	sub	r3, fp, #200
	mov	r0, r3
	bl	translateChar
	str	r0, [fp, #-204]
	mov	r1, #1
	ldr	r0, [fp, #-204]
	bl	_glfwInputChar
	b	.L1473
.L1444:
	ldr	r3, .L1484+4
	ldr	r3, [r3, #76]
	mov	r1, #1
	mov	r0, r3
	bl	XEventsQueued
	str	r0, [fp, #-220]
	ldr	r3, [fp, #-220]
	cmp	r3, #0
	beq	.L1448
	ldr	r3, .L1484+4
	ldr	r3, [r3, #76]
	sub	r2, fp, #104
	mov	r1, r2
	mov	r0, r3
	bl	XPeekEvent
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-148]
	cmp	r2, r3
	bne	.L1448
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-184]
	cmp	r2, r3
	bne	.L1448
	ldr	r3, [fp, #-104]
	cmp	r3, #2
	bne	.L1448
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-172]
	sub	r3, r2, r3
	cmp	r3, #19
	bls	.L1474
.L1448:
	ldr	r3, [fp, #-148]
	mov	r0, r3
	bl	translateKey
	str	r0, [fp, #-216]
	mov	r1, #0
	ldr	r0, [fp, #-216]
	bl	_glfwInputKey
	ldr	r3, .L1484+8
	ldr	r3, [r3, #28]
	cmp	r3, #0
	beq	.L1475
	sub	r3, fp, #200
	mov	r0, r3
	bl	translateChar
	str	r0, [fp, #-212]
	mov	r1, #0
	ldr	r0, [fp, #-212]
	bl	_glfwInputChar
	b	.L1475
.L1443:
	ldr	r3, [fp, #-148]
	cmp	r3, #1
	bne	.L1451
	mov	r1, #1
	mov	r0, #0
	bl	_glfwInputMouseClick
	b	.L1476
.L1451:
	ldr	r3, [fp, #-148]
	cmp	r3, #2
	bne	.L1453
	mov	r1, #1
	mov	r0, #2
	bl	_glfwInputMouseClick
	b	.L1476
.L1453:
	ldr	r3, [fp, #-148]
	cmp	r3, #3
	bne	.L1454
	mov	r1, #1
	mov	r0, #1
	bl	_glfwInputMouseClick
	b	.L1476
.L1454:
	ldr	r3, [fp, #-148]
	cmp	r3, #4
	bne	.L1455
	ldr	r3, .L1484+12
	ldr	r3, [r3, #8]
	add	r3, r3, #1
	ldr	r2, .L1484+12
	str	r3, [r2, #8]
	ldr	r3, .L1484+8
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L1476
	ldr	r3, .L1484+8
	ldr	r3, [r3, #20]
	ldr	r2, .L1484+12
	ldr	r2, [r2, #8]
	mov	r0, r2
	blx	r3
	b	.L1476
.L1455:
	ldr	r3, [fp, #-148]
	cmp	r3, #5
	bne	.L1476
	ldr	r3, .L1484+12
	ldr	r3, [r3, #8]
	sub	r3, r3, #1
	ldr	r2, .L1484+12
	str	r3, [r2, #8]
	ldr	r3, .L1484+8
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L1476
	ldr	r3, .L1484+8
	ldr	r3, [r3, #20]
	ldr	r2, .L1484+12
	ldr	r2, [r2, #8]
	mov	r0, r2
	blx	r3
	b	.L1476
.L1442:
	ldr	r3, [fp, #-148]
	cmp	r3, #1
	bne	.L1456
	mov	r1, #0
	mov	r0, #0
	bl	_glfwInputMouseClick
	b	.L1477
.L1456:
	ldr	r3, [fp, #-148]
	cmp	r3, #2
	bne	.L1458
	mov	r1, #0
	mov	r0, #2
	bl	_glfwInputMouseClick
	b	.L1477
.L1458:
	ldr	r3, [fp, #-148]
	cmp	r3, #3
	bne	.L1477
	mov	r1, #0
	mov	r0, #1
	bl	_glfwInputMouseClick
	b	.L1477
.L1441:
	ldr	r2, [fp, #-168]
	ldr	r3, .L1484+12
	ldr	r3, [r3, #368]
	cmp	r2, r3
	bne	.L1459
	ldr	r2, [fp, #-164]
	ldr	r3, .L1484+12
	ldr	r3, [r3, #372]
	cmp	r2, r3
	beq	.L1478
.L1459:
	ldr	r3, .L1484+8
	ldr	r3, [r3, #36]
	cmp	r3, #0
	beq	.L1461
	ldr	r3, .L1484+8
	ldrb	r3, [r3, #263]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1462
	ldr	r3, .L1484+12
	ldr	r2, [r3]
	ldr	r1, [fp, #-168]
	ldr	r3, .L1484+12
	ldr	r3, [r3, #368]
	sub	r3, r1, r3
	add	r3, r2, r3
	ldr	r2, .L1484+12
	str	r3, [r2]
	ldr	r3, .L1484+12
	ldr	r2, [r3, #4]
	ldr	r1, [fp, #-164]
	ldr	r3, .L1484+12
	ldr	r3, [r3, #372]
	sub	r3, r1, r3
	add	r3, r2, r3
	ldr	r2, .L1484+12
	str	r3, [r2, #4]
	b	.L1462
.L1461:
	ldr	r3, [fp, #-168]
	ldr	r2, .L1484+12
	str	r3, [r2]
	ldr	r3, [fp, #-164]
	ldr	r2, .L1484+12
	str	r3, [r2, #4]
.L1462:
	ldr	r3, [fp, #-168]
	ldr	r2, .L1484+12
	str	r3, [r2, #368]
	ldr	r3, [fp, #-164]
	ldr	r2, .L1484+12
	str	r3, [r2, #372]
	ldr	r3, .L1484+12
	mov	r2, #1
	str	r2, [r3, #364]
	ldr	r3, .L1484+8
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L1478
	ldr	r3, .L1484+8
	ldr	r3, [r3, #16]
	ldr	r2, .L1484+12
	ldr	r2, [r2]
	ldr	r1, .L1484+12
	ldr	r1, [r1, #4]
	mov	r0, r2
	blx	r3
	b	.L1478
.L1434:
	ldr	r2, [fp, #-164]
	ldr	r3, .L1484+8
	ldr	r3, [r3, #72]
	cmp	r2, r3
	bne	.L1463
	ldr	r2, [fp, #-168]
	ldr	r3, .L1484+8
	ldr	r3, [r3, #68]
	cmp	r2, r3
	beq	.L1479
.L1463:
	ldr	r3, [fp, #-168]
	ldr	r2, .L1484+8
	str	r3, [r2, #68]
	ldr	r3, [fp, #-164]
	ldr	r2, .L1484+8
	str	r3, [r2, #72]
	ldr	r3, .L1484+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1479
	ldr	r3, .L1484+8
	ldr	r3, [r3]
	ldr	r2, .L1484+8
	ldr	r2, [r2, #68]
	ldr	r1, .L1484+8
	ldr	r1, [r1, #72]
	mov	r0, r2
	blx	r3
	b	.L1479
.L1432:
	ldr	r3, [fp, #-172]
	mov	r2, r3
	ldr	r3, .L1484+8
	ldr	r3, [r3, #196]
	cmp	r2, r3
	bne	.L1465
	mov	r3, #1
	b	.L1471
.L1465:
	ldr	r3, .L1484+8
	ldr	r3, [r3, #200]
	cmp	r3, #0
	beq	.L1480
	ldr	r3, [fp, #-172]
	mov	r2, r3
	ldr	r3, .L1484+8
	ldr	r3, [r3, #200]
	cmp	r2, r3
	bne	.L1480
	ldr	r3, .L1484+8
	ldr	r3, [r3, #176]
	str	r3, [fp, #-184]
	ldr	r3, .L1484+4
	ldr	r0, [r3, #76]
	ldr	r1, [fp, #-184]
	sub	r3, fp, #200
	str	r3, [sp]
	mov	r3, #1572864
	mov	r2, #0
	bl	XSendEvent
	b	.L1480
.L1435:
	ldr	r3, .L1484+8
	mov	r2, #0
	str	r2, [r3, #64]
	b	.L1447
.L1436:
	ldr	r3, .L1484+8
	mov	r2, #1
	str	r2, [r3, #64]
	b	.L1447
.L1440:
	ldr	r3, .L1484+8
	mov	r2, #1
	str	r2, [r3, #60]
	ldr	r3, .L1484+8
	ldr	r3, [r3, #36]
	cmp	r3, #0
	beq	.L1481
	bl	_glfwPlatformHideMouseCursor
	b	.L1481
.L1439:
	ldr	r3, .L1484+8
	mov	r2, #0
	str	r2, [r3, #60]
	bl	_glfwInputDeactivation
	ldr	r3, .L1484+8
	ldr	r3, [r3, #36]
	cmp	r3, #0
	beq	.L1482
	bl	_glfwPlatformShowMouseCursor
	b	.L1482
.L1438:
	ldr	r3, .L1484+8
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L1483
	ldr	r3, .L1484+8
	ldr	r3, [r3, #8]
	blx	r3
	b	.L1483
.L1437:
	mov	r3, #0
	b	.L1471
.L1431:
	ldr	r2, [fp, #-200]
	ldr	r3, .L1484+4
	ldr	r3, [r3, #112]
	cmp	r2, r3
	bne	.L1447
	sub	r3, fp, #200
	mov	r0, r3
	bl	XRRUpdateConfiguration
	b	.L1447
.L1473:
	nop
	b	.L1447
.L1474:
	nop
	b	.L1447
.L1475:
	nop
	b	.L1447
.L1476:
	nop
	b	.L1447
.L1477:
	nop
	b	.L1447
.L1478:
	nop
	b	.L1447
.L1479:
	nop
	b	.L1447
.L1480:
	nop
	b	.L1447
.L1481:
	nop
	b	.L1447
.L1482:
	nop
	b	.L1447
.L1483:
	nop
.L1447:
	mov	r3, #0
.L1471:
	ldr	r2, .L1484
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1472
	bl	__stack_chk_fail
.L1472:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1485:
	.align	2
.L1484:
	.word	.LC77
	.word	_glfwLibrary
	.word	_glfwWin
	.word	_glfwInput
	.size	processSingleEvent, .-processSingleEvent
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	terminateDisplay, %function
terminateDisplay:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L1489
	ldr	r3, [r3, #76]
	cmp	r3, #0
	beq	.L1488
	ldr	r3, .L1489
	ldr	r3, [r3, #76]
	mov	r0, r3
	bl	XCloseDisplay
	ldr	r3, .L1489
	mov	r2, #0
	str	r2, [r3, #76]
.L1488:
	nop
	pop	{fp, pc}
.L1490:
	.align	2
.L1489:
	.word	_glfwLibrary
	.size	terminateDisplay, .-terminateDisplay
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	terminateThreads, %function
terminateThreads:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r0, .L1494
	bl	pthread_mutex_lock
	ldr	r3, .L1494+4
	ldr	r3, [r3, #8]
	str	r3, [fp, #-12]
	b	.L1492
.L1493:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	mov	r1, #9
	mov	r0, r3
	bl	pthread_kill
	ldr	r0, [fp, #-12]
	bl	free
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-12]
.L1492:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1493
	ldr	r0, .L1494
	bl	pthread_mutex_unlock
	ldr	r0, .L1494
	bl	pthread_mutex_destroy
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1495:
	.align	2
.L1494:
	.word	_glfwThrd+24
	.word	_glfwThrd
	.size	terminateThreads, .-terminateThreads
	.section	.rodata
	.align	2
.LC78:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	translateChar, %function
translateChar:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	ldr	r3, .L1499
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #16
	mov	r2, #0
	str	r2, [sp]
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-24]
	bl	XLookupString
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	_glfwKeySym2Unicode
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r2, .L1499
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1498
	bl	__stack_chk_fail
.L1498:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1500:
	.align	2
.L1499:
	.word	.LC78
	.size	translateChar, .-translateChar
	.section	.rodata
	.align	2
.LC79:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	translateKey, %function
translateKey:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	ldr	r3, .L1583
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L1583+4
	ldr	r0, [r3, #76]
	ldr	r3, [fp, #-24]
	and	r3, r3, #255
	mov	r2, #1
	mov	r1, r3
	bl	XKeycodeToKeysym
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #65280
	sub	r3, r3, #141
	cmp	r3, #48
	ldrls	pc, [pc, r3, asl #2]
	b	.L1502
.L1504:
	.word	.L1516
	.word	.L1502
	.word	.L1502
	.word	.L1502
	.word	.L1502
	.word	.L1502
	.word	.L1502
	.word	.L1502
	.word	.L1502
	.word	.L1502
	.word	.L1502
	.word	.L1502
	.word	.L1502
	.word	.L1502
	.word	.L1502
	.word	.L1502
	.word	.L1502
	.word	.L1502
	.word	.L1502
	.word	.L1502
	.word	.L1502
	.word	.L1502
	.word	.L1502
	.word	.L1502
	.word	.L1502
	.word	.L1502
	.word	.L1502
	.word	.L1502
	.word	.L1502
	.word	.L1502
	.word	.L1502
	.word	.L1515
	.word	.L1502
	.word	.L1515
	.word	.L1502
	.word	.L1514
	.word	.L1513
	.word	.L1512
	.word	.L1511
	.word	.L1510
	.word	.L1509
	.word	.L1508
	.word	.L1507
	.word	.L1506
	.word	.L1505
	.word	.L1502
	.word	.L1502
	.word	.L1502
	.word	.L1503
.L1514:
	ldr	r3, .L1583+8
	b	.L1581
.L1513:
	ldr	r3, .L1583+12
	b	.L1581
.L1512:
	mov	r3, #304
	b	.L1581
.L1511:
	ldr	r3, .L1583+16
	b	.L1581
.L1510:
	ldr	r3, .L1583+20
	b	.L1581
.L1509:
	ldr	r3, .L1583+24
	b	.L1581
.L1508:
	mov	r3, #308
	b	.L1581
.L1507:
	ldr	r3, .L1583+28
	b	.L1581
.L1506:
	ldr	r3, .L1583+32
	b	.L1581
.L1505:
	ldr	r3, .L1583+36
	b	.L1581
.L1515:
	mov	r3, #316
	b	.L1581
.L1503:
	ldr	r3, .L1583+40
	b	.L1581
.L1516:
	ldr	r3, .L1583+44
	b	.L1581
.L1502:
	ldr	r3, .L1583+4
	ldr	r0, [r3, #76]
	ldr	r3, [fp, #-24]
	and	r3, r3, #255
	mov	r2, #0
	mov	r1, r3
	bl	XKeycodeToKeysym
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #65024
	sub	r3, r3, #3
	cmp	r3, #508
	ldrls	pc, [pc, r3, asl #2]
	b	.L1518
.L1520:
	.word	.L1523
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1577
	.word	.L1576
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1575
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1574
	.word	.L1573
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1572
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1568
	.word	.L1567
	.word	.L1566
	.word	.L1565
	.word	.L1564
	.word	.L1563
	.word	.L1562
	.word	.L1561
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1560
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1571
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1523
	.word	.L1570
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1569
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1568
	.word	.L1567
	.word	.L1566
	.word	.L1565
	.word	.L1564
	.word	.L1563
	.word	.L1562
	.word	.L1561
	.word	.L1518
	.word	.L1560
	.word	.L1519
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1559
	.word	.L1558
	.word	.L1518
	.word	.L1557
	.word	.L1518
	.word	.L1556
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1555
	.word	.L1554
	.word	.L1553
	.word	.L1552
	.word	.L1551
	.word	.L1550
	.word	.L1549
	.word	.L1548
	.word	.L1547
	.word	.L1546
	.word	.L1545
	.word	.L1544
	.word	.L1543
	.word	.L1542
	.word	.L1541
	.word	.L1540
	.word	.L1539
	.word	.L1538
	.word	.L1537
	.word	.L1536
	.word	.L1535
	.word	.L1534
	.word	.L1533
	.word	.L1532
	.word	.L1531
	.word	.L1530
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1529
	.word	.L1528
	.word	.L1527
	.word	.L1526
	.word	.L1525
	.word	.L1518
	.word	.L1524
	.word	.L1523
	.word	.L1524
	.word	.L1523
	.word	.L1522
	.word	.L1521
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1518
	.word	.L1519
.L1572:
	ldr	r3, .L1583+48
	b	.L1581
.L1576:
	ldr	r3, .L1583+52
	b	.L1581
.L1529:
	ldr	r3, .L1583+56
	b	.L1581
.L1528:
	mov	r3, #288
	b	.L1581
.L1527:
	ldr	r3, .L1583+60
	b	.L1581
.L1526:
	ldr	r3, .L1583+64
	b	.L1581
.L1524:
	ldr	r3, .L1583+68
	b	.L1581
.L1523:
	mov	r3, #292
	b	.L1581
.L1522:
	ldr	r3, .L1583+72
	b	.L1581
.L1521:
	mov	r3, #324
	b	.L1581
.L1571:
	ldr	r3, .L1583+76
	b	.L1581
.L1570:
	ldr	r3, .L1583+80
	b	.L1581
.L1525:
	mov	r3, #320
	b	.L1581
.L1573:
	ldr	r3, .L1583+84
	b	.L1581
.L1574:
	ldr	r3, .L1583+88
	b	.L1581
.L1519:
	ldr	r3, .L1583+92
	b	.L1581
.L1577:
	ldr	r3, .L1583+96
	b	.L1581
.L1575:
	ldr	r3, .L1583+100
	b	.L1581
.L1568:
	mov	r3, #300
	b	.L1581
.L1561:
	ldr	r3, .L1583+104
	b	.L1581
.L1563:
	ldr	r3, .L1583+108
	b	.L1581
.L1562:
	ldr	r3, .L1583+112
	b	.L1581
.L1560:
	mov	r3, #296
	b	.L1581
.L1567:
	ldr	r3, .L1583+116
	b	.L1581
.L1565:
	ldr	r3, .L1583+120
	b	.L1581
.L1564:
	mov	r3, #284
	b	.L1581
.L1566:
	ldr	r3, .L1583+124
	b	.L1581
.L1554:
	ldr	r3, .L1583+128
	b	.L1581
.L1553:
	ldr	r3, .L1583+132
	b	.L1581
.L1552:
	mov	r3, #260
	b	.L1581
.L1551:
	ldr	r3, .L1583+136
	b	.L1581
.L1550:
	ldr	r3, .L1583+140
	b	.L1581
.L1549:
	ldr	r3, .L1583+144
	b	.L1581
.L1548:
	mov	r3, #264
	b	.L1581
.L1547:
	ldr	r3, .L1583+148
	b	.L1581
.L1546:
	ldr	r3, .L1583+152
	b	.L1581
.L1545:
	ldr	r3, .L1583+156
	b	.L1581
.L1544:
	mov	r3, #268
	b	.L1581
.L1543:
	ldr	r3, .L1583+160
	b	.L1581
.L1542:
	ldr	r3, .L1583+164
	b	.L1581
.L1541:
	ldr	r3, .L1583+168
	b	.L1581
.L1540:
	mov	r3, #272
	b	.L1581
.L1539:
	ldr	r3, .L1583+172
	b	.L1581
.L1538:
	ldr	r3, .L1583+176
	b	.L1581
.L1537:
	ldr	r3, .L1583+180
	b	.L1581
.L1536:
	mov	r3, #276
	b	.L1581
.L1535:
	ldr	r3, .L1583+184
	b	.L1581
.L1534:
	ldr	r3, .L1583+188
	b	.L1581
.L1533:
	ldr	r3, .L1583+192
	b	.L1581
.L1532:
	mov	r3, #280
	b	.L1581
.L1531:
	ldr	r3, .L1583+196
	b	.L1581
.L1530:
	ldr	r3, .L1583+200
	b	.L1581
.L1556:
	mov	r3, #312
	b	.L1581
.L1559:
	ldr	r3, .L1583+204
	b	.L1581
.L1557:
	ldr	r3, .L1583+208
	b	.L1581
.L1558:
	ldr	r3, .L1583+212
	b	.L1581
.L1555:
	ldr	r3, .L1583+40
	b	.L1581
.L1569:
	ldr	r3, .L1583+44
	b	.L1581
.L1518:
	sub	r2, fp, #16
	sub	r3, fp, #20
	mov	r1, r3
	ldr	r0, [fp, #-12]
	bl	XConvertCase
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #31
	bls	.L1578
	ldr	r3, [fp, #-12]
	cmp	r3, #126
	bls	.L1579
.L1578:
	ldr	r3, [fp, #-12]
	cmp	r3, #159
	bls	.L1580
	ldr	r3, [fp, #-12]
	cmp	r3, #255
	bhi	.L1580
.L1579:
	ldr	r3, [fp, #-12]
	b	.L1581
.L1580:
	mvn	r3, #0
.L1581:
	ldr	r2, .L1583
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1582
	bl	__stack_chk_fail
.L1582:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1584:
	.align	2
.L1583:
	.word	.LC79
	.word	_glfwLibrary
	.word	302
	.word	303
	.word	305
	.word	306
	.word	307
	.word	309
	.word	310
	.word	311
	.word	317
	.word	318
	.word	257
	.word	293
	.word	287
	.word	289
	.word	290
	.word	291
	.word	323
	.word	325
	.word	319
	.word	321
	.word	322
	.word	297
	.word	295
	.word	294
	.word	301
	.word	298
	.word	299
	.word	285
	.word	286
	.word	283
	.word	258
	.word	259
	.word	261
	.word	262
	.word	263
	.word	265
	.word	266
	.word	267
	.word	269
	.word	270
	.word	271
	.word	273
	.word	274
	.word	275
	.word	277
	.word	278
	.word	279
	.word	281
	.word	282
	.word	313
	.word	314
	.word	315
	.size	translateKey, .-translateKey
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	window_size_callback, %function
window_size_callback:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r2, .L1586
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	ldr	r2, .L1586+4
	ldr	r3, [fp, #-20]
	str	r3, [r2]
	ldr	r3, .L1586
	ldr	r2, [r3]
	ldr	r3, .L1586+4
	ldr	r3, [r3]
	mov	r1, #0
	mov	r0, #0
	bl	glViewport
	ldr	r0, .L1586+8
	bl	glMatrixMode
	bl	glLoadIdentity
	ldr	r3, .L1586
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r4, r0
	mov	r5, r1
	ldr	r3, .L1586+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	mov	r2, #0
	mov	r3, #0
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	mov	r0, #0
	mov	r1, #0
	bl	gluOrtho2D
	nop
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L1587:
	.align	2
.L1586:
	.word	window_width
	.word	window_height
	.word	5889
	.size	window_size_callback, .-window_size_callback
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
