5a1165:	e8 76 fe 00 00       	call   0x5b0fe0
5a116a:	83 c4 40             	add    $0x40,%esp
5a116d:	85 c0                	test   %eax,%eax
5a116f:	0f 8f 53 01 00 00    	jg     0x5a12c8
5a1175:	5f                   	pop    %edi
5a1176:	5e                   	pop    %esi
5a1177:	5d                   	pop    %ebp
5a1178:	33 c0                	xor    %eax,%eax
5a117a:	5b                   	pop    %ebx
5a117b:	8b 4c 24 64          	mov    0x64(%esp),%ecx
5a117f:	33 cc                	xor    %esp,%ecx
5a1181:	e8 a0 08 03 00       	call   0x5d1a26
5a1186:	83 c4 68             	add    $0x68,%esp
5a1189:	c3                   	ret
5a118a:	e8 81 9f f7 ff       	call   0x51b110
5a118f:	8b f0                	mov    %eax,%esi
5a1191:	85 f6                	test   %esi,%esi
5a1193:	0f 84 5c 01 00 00    	je     0x5a12f5
5a1199:	0f b6 4d 04          	movzbl 0x4(%ebp),%ecx
5a119d:	88 4c 24 13          	mov    %cl,0x13(%esp)
5a11a1:	0f b6 4d 09          	movzbl 0x9(%ebp),%ecx
5a11a5:	88 0b                	mov    %cl,(%ebx)
5a11a7:	0f b6 4d 08          	movzbl 0x8(%ebp),%ecx
5a11ab:	57                   	push   %edi
5a11ac:	56                   	push   %esi
5a11ad:	88 4b 01             	mov    %cl,0x1(%ebx)
5a11b0:	e8 ab 9d f7 ff       	call   0x51af60
5a11b5:	83 c4 08             	add    $0x8,%esp
5a11b8:	85 c0                	test   %eax,%eax
5a11ba:	0f 8e 2c 01 00 00    	jle    0x5a12ec
5a11c0:	ff 74 24 14          	push   0x14(%esp)
5a11c4:	ff 74 24 1c          	push   0x1c(%esp)
5a11c8:	56                   	push   %esi
5a11c9:	e8 02 9c f7 ff       	call   0x51add0
5a11ce:	83 c4 0c             	add    $0xc,%esp
5a11d1:	85 c0                	test   %eax,%eax
5a11d3:	0f 8e 13 01 00 00    	jle    0x5a12ec
5a11d9:	ff 74 24 1c          	push   0x1c(%esp)
5a11dd:	68 fc 7b 66 00       	push   $0x667bfc
5a11e2:	56                   	push   %esi
5a11e3:	e8 e8 9b f7 ff       	call   0x51add0
5a11e8:	83 c4 0c             	add    $0xc,%esp
5a11eb:	85 c0                	test   %eax,%eax
5a11ed:	0f 8e f9 00 00 00    	jle    0x5a12ec
5a11f3:	6a 08                	push   $0x8
5a11f5:	ff 74 24 24          	push   0x24(%esp)
5a11f9:	56                   	push   %esi
5a11fa:	e8 d1 9b f7 ff       	call   0x51add0
5a11ff:	83 c4 0c             	add    $0xc,%esp
5a1202:	85 c0                	test   %eax,%eax
5a1204:	0f 8e e2 00 00 00    	jle    0x5a12ec
5a120a:	6a 01                	push   $0x1
5a120c:	8d 44 24 17          	lea    0x17(%esp),%eax
5a1210:	50                   	push   %eax
5a1211:	56                   	push   %esi
5a1212:	e8 b9 9b f7 ff       	call   0x51add0
5a1217:	83 c4 0c             	add    $0xc,%esp
5a121a:	85 c0                	test   %eax,%eax
5a121c:	0f 8e ca 00 00 00    	jle    0x5a12ec
5a1222:	6a 02                	push   $0x2
5a1224:	53                   	push   %ebx
5a1225:	56                   	push   %esi
5a1226:	e8 a5 9b f7 ff       	call   0x51add0
5a122b:	83 c4 0c             	add    $0xc,%esp
5a122e:	85 c0                	test   %eax,%eax
5a1230:	0f 8e b6 00 00 00    	jle    0x5a12ec
5a1236:	ff 75 08             	push   0x8(%ebp)
5a1239:	ff 75 18             	push   0x18(%ebp)
5a123c:	56                   	push   %esi
5a123d:	e8 8e 9b f7 ff       	call   0x51add0
5a1242:	83 c4 0c             	add    $0xc,%esp
5a1245:	85 c0                	test   %eax,%eax
5a1247:	0f 8e 9f 00 00 00    	jle    0x5a12ec
5a124d:	6a 00                	push   $0x0
5a124f:	53                   	push   %ebx
5a1250:	56                   	push   %esi
5a1251:	e8 2a 99 f7 ff       	call   0x51ab80
5a1256:	83 c4 0c             	add    $0xc,%esp
5a1259:	85 c0                	test   %eax,%eax
5a125b:	0f 8e 8b 00 00 00    	jle    0x5a12ec
5a1261:	57                   	push   %edi
5a1262:	56                   	push   %esi
5a1263:	e8 f8 9c f7 ff       	call   0x51af60
5a1268:	83 c4 08             	add    $0x8,%esp
5a126b:	85 c0                	test   %eax,%eax
5a126d:	7e 7d                	jle    0x5a12ec
5a126f:	ff 74 24 14          	push   0x14(%esp)
5a1273:	ff 74 24 1c          	push   0x1c(%esp)
5a1277:	56                   	push   %esi
5a1278:	e8 53 9b f7 ff       	call   0x51add0
5a127d:	83 c4 0c             	add    $0xc,%esp
5a1280:	85 c0                	test   %eax,%eax
5a1282:	7e 68                	jle    0x5a12ec
5a1284:	ff 74 24 1c          	push   0x1c(%esp)
5a1288:	68 2c 7c 66 00       	push   $0x667c2c
5a128d:	56                   	push   %esi
5a128e:	e8 3d 9b f7 ff       	call   0x51add0
5a1293:	83 c4 0c             	add    $0xc,%esp
5a1296:	85 c0                	test   %eax,%eax
5a1298:	7e 52                	jle    0x5a12ec
5a129a:	ff 74 24 14          	push   0x14(%esp)
5a129e:	53                   	push   %ebx
5a129f:	56                   	push   %esi
5a12a0:	e8 2b 9b f7 ff       	call   0x51add0
5a12a5:	83 c4 0c             	add    $0xc,%esp
5a12a8:	85 c0                	test   %eax,%eax
5a12aa:	7e 40                	jle    0x5a12ec
5a12ac:	8d 44 24 24          	lea    0x24(%esp),%eax
5a12b0:	50                   	push   %eax
5a12b1:	53                   	push   %ebx
5a12b2:	56                   	push   %esi
5a12b3:	e8 c8 98 f7 ff       	call   0x51ab80
5a12b8:	83 c4 0c             	add    $0xc,%esp
5a12bb:	85 c0                	test   %eax,%eax
5a12bd:	7e 2d                	jle    0x5a12ec
5a12bf:	56                   	push   %esi
5a12c0:	e8 2b 9e f7 ff       	call   0x51b0f0
5a12c5:	83 c4 04             	add    $0x4,%esp
5a12c8:	ff 74 24 20          	push   0x20(%esp)
5a12cc:	e8 7f 19 ff ff       	call   0x592c50
5a12d1:	83 c4 04             	add    $0x4,%esp
5a12d4:	b8 01 00 00 00       	mov    $0x1,%eax
5a12d9:	5f                   	pop    %edi
5a12da:	5e                   	pop    %esi
5a12db:	5d                   	pop    %ebp
5a12dc:	5b                   	pop    %ebx
5a12dd:	8b 4c 24 64          	mov    0x64(%esp),%ecx
5a12e1:	33 cc                	xor    %esp,%ecx
5a12e3:	e8 3e 07 03 00       	call   0x5d1a26
5a12e8:	83 c4 68             	add    $0x68,%esp
5a12eb:	c3                   	ret
5a12ec:	56                   	push   %esi
5a12ed:	e8 fe 9d f7 ff       	call   0x51b0f0
5a12f2:	83 c4 04             	add    $0x4,%esp
5a12f5:	8b 4c 24 74          	mov    0x74(%esp),%ecx
5a12f9:	33 c0                	xor    %eax,%eax
5a12fb:	5f                   	pop    %edi
5a12fc:	5e                   	pop    %esi
5a12fd:	5d                   	pop    %ebp
5a12fe:	5b                   	pop    %ebx
5a12ff:	33 cc                	xor    %esp,%ecx
5a1301:	e8 20 07 03 00       	call   0x5d1a26
5a1306:	83 c4 68             	add    $0x68,%esp
5a1309:	c3                   	ret
5a130a:	cc                   	int3
5a130b:	cc                   	int3
5a130c:	cc                   	int3
5a130d:	cc                   	int3
5a130e:	cc                   	int3
5a130f:	cc                   	int3
5a1310:	b8 a0 00 00 00       	mov    $0xa0,%eax
5a1315:	e8 96 04 03 00       	call   0x5d17b0
5a131a:	a1 c0 14 69 00       	mov    0x6914c0,%eax
5a131f:	33 c4                	xor    %esp,%eax
5a1321:	89 84 24 9c 00 00 00 	mov    %eax,0x9c(%esp)
5a1328:	8b 84 24 a4 00 00 00 	mov    0xa4(%esp),%eax
5a132f:	89 44 24 18          	mov    %eax,0x18(%esp)
5a1333:	8b 84 24 a8 00 00 00 	mov    0xa8(%esp),%eax
5a133a:	53                   	push   %ebx
5a133b:	8b 9c 24 b0 00 00 00 	mov    0xb0(%esp),%ebx
5a1342:	55                   	push   %ebp
5a1343:	8b 48 08             	mov    0x8(%eax),%ecx
5a1346:	33 ed                	xor    %ebp,%ebp
5a1348:	2b cb                	sub    %ebx,%ecx
5a134a:	89 4c 24 14          	mov    %ecx,0x14(%esp)
5a134e:	8b 48 0c             	mov    0xc(%eax),%ecx
5a1351:	3b cb                	cmp    %ebx,%ecx
5a1353:	0f 82 45 01 00 00    	jb     0x5a149e
5a1359:	83 fb 40             	cmp    $0x40,%ebx
5a135c:	0f 87 3c 01 00 00    	ja     0x5a149e
5a1362:	8d 44 24 24          	lea    0x24(%esp),%eax
5a1366:	f7 d8                	neg    %eax
5a1368:	56                   	push   %esi
5a1369:	57                   	push   %edi
5a136a:	83 e0 3f             	and    $0x3f,%eax
5a136d:	8d 7c 24 2c          	lea    0x2c(%esp),%edi
5a1371:	03 f8                	add    %eax,%edi
5a1373:	8d 83 00 01 00 00    	lea    0x100(%ebx),%eax
5a1379:	89 7c 24 24          	mov    %edi,0x24(%esp)
5a137d:	3b c8                	cmp    %eax,%ecx
5a137f:	76 0a                	jbe    0x5a138b
5a1381:	8b e9                	mov    %ecx,%ebp
5a1383:	2b eb                	sub    %ebx,%ebp
5a1385:	81 ed 00 01 00 00    	sub    $0x100,%ebp
5a138b:	53                   	push   %ebx
5a138c:	33 f6                	xor    %esi,%esi
5a138e:	c7 44 24 14 00 00 00 	movl   $0x0,0x14(%esp)
5a1395:	00
5a1396:	56                   	push   %esi
5a1397:	57                   	push   %edi
5a1398:	e8 d3 18 03 00       	call   0x5d2c70
5a139d:	8b 84 24 c4 00 00 00 	mov    0xc4(%esp),%eax
5a13a4:	83 c4 0c             	add    $0xc,%esp
5a13a7:	89 74 24 14          	mov    %esi,0x14(%esp)
5a13ab:	3b 68 0c             	cmp    0xc(%eax),%ebp
5a13ae:	0f 83 98 00 00 00    	jae    0x5a144c
5a13b4:	8b 48 14             	mov    0x14(%eax),%ecx
5a13b7:	89 4c 24 20          	mov    %ecx,0x20(%esp)
5a13bb:	8b cd                	mov    %ebp,%ecx
5a13bd:	2b 48 08             	sub    0x8(%eax),%ecx
5a13c0:	89 4c 24 18          	mov    %ecx,0x18(%esp)
5a13c4:	8b c5                	mov    %ebp,%eax
5a13c6:	8b d1                	mov    %ecx,%edx
5a13c8:	33 44 24 1c          	xor    0x1c(%esp),%eax
5a13cc:	8d 78 ff             	lea    -0x1(%eax),%edi
5a13cf:	f7 d0                	not    %eax
5a13d1:	c1 e8 1f             	shr    $0x1f,%eax
5a13d4:	c1 ef 1f             	shr    $0x1f,%edi
5a13d7:	23 f8                	and    %eax,%edi
5a13d9:	8b 84 24 b8 00 00 00 	mov    0xb8(%esp),%eax
5a13e0:	f7 df                	neg    %edi
5a13e2:	8b 48 08             	mov    0x8(%eax),%ecx
5a13e5:	33 d1                	xor    %ecx,%edx
5a13e7:	8b c5                	mov    %ebp,%eax
5a13e9:	33 c1                	xor    %ecx,%eax
5a13eb:	0b d0                	or     %eax,%edx
5a13ed:	8b 44 24 20          	mov    0x20(%esp),%eax
5a13f1:	33 d5                	xor    %ebp,%edx
5a13f3:	c1 ea 1f             	shr    $0x1f,%edx
5a13f6:	f7 da                	neg    %edx
5a13f8:	8a 0c 28             	mov    (%eax,%ebp,1),%cl
5a13fb:	8b c7                	mov    %edi,%eax
5a13fd:	0b 44 24 10          	or     0x10(%esp),%eax
5a1401:	45                   	inc    %ebp
5a1402:	23 c2                	and    %edx,%eax
5a1404:	8b 54 24 14          	mov    0x14(%esp),%edx
5a1408:	23 fa                	and    %edx,%edi
5a140a:	89 44 24 10          	mov    %eax,0x10(%esp)
5a140e:	22 c1                	and    %cl,%al
5a1410:	0b f7                	or     %edi,%esi
5a1412:	8b 7c 24 24          	mov    0x24(%esp),%edi
5a1416:	08 04 3a             	or     %al,(%edx,%edi,1)
5a1419:	42                   	inc    %edx
5a141a:	8b ca                	mov    %edx,%ecx
5a141c:	8b c2                	mov    %edx,%eax
5a141e:	2b cb                	sub    %ebx,%ecx
5a1420:	33 c3                	xor    %ebx,%eax
5a1422:	33 cb                	xor    %ebx,%ecx
5a1424:	0b c8                	or     %eax,%ecx
5a1426:	8b 84 24 b8 00 00 00 	mov    0xb8(%esp),%eax
5a142d:	33 ca                	xor    %edx,%ecx
5a142f:	c1 e9 1f             	shr    $0x1f,%ecx
5a1432:	f7 d9                	neg    %ecx
5a1434:	23 d1                	and    %ecx,%edx
5a1436:	8b 4c 24 18          	mov    0x18(%esp),%ecx
5a143a:	41                   	inc    %ecx
5a143b:	89 54 24 14          	mov    %edx,0x14(%esp)
5a143f:	89 4c 24 18          	mov    %ecx,0x18(%esp)
5a1443:	3b 68 0c             	cmp    0xc(%eax),%ebp
5a1446:	0f 82 78 ff ff ff    	jb     0x5a13c4
5a144c:	33 d2                	xor    %edx,%edx
5a144e:	85 db                	test   %ebx,%ebx
5a1450:	74 2e                	je     0x5a1480
5a1452:	8b 6c 24 28          	mov    0x28(%esp),%ebp
5a1456:	8b c6                	mov    %esi,%eax
5a1458:	83 f0 20             	xor    $0x20,%eax
5a145b:	8a 04 38             	mov    (%eax,%edi,1),%al
5a145e:	0f b6 04 3e          	movzbl (%esi,%edi,1),%eax
5a1462:	46                   	inc    %esi
5a1463:	88 04 2a             	mov    %al,(%edx,%ebp,1)
5a1466:	8b ce                	mov    %esi,%ecx
5a1468:	2b cb                	sub    %ebx,%ecx
5a146a:	8b c6                	mov    %esi,%eax
5a146c:	33 cb                	xor    %ebx,%ecx
5a146e:	33 c3                	xor    %ebx,%eax
5a1470:	0b c8                	or     %eax,%ecx
5a1472:	42                   	inc    %edx
5a1473:	33 ce                	xor    %esi,%ecx
5a1475:	c1 e9 1f             	shr    $0x1f,%ecx
5a1478:	f7 d9                	neg    %ecx
5a147a:	23 f1                	and    %ecx,%esi
5a147c:	3b d3                	cmp    %ebx,%edx
5a147e:	72 d6                	jb     0x5a1456
5a1480:	5f                   	pop    %edi
5a1481:	5e                   	pop    %esi
5a1482:	5d                   	pop    %ebp
5a1483:	b8 01 00 00 00       	mov    $0x1,%eax
5a1488:	5b                   	pop    %ebx
5a1489:	8b 8c 24 9c 00 00 00 	mov    0x9c(%esp),%ecx
5a1490:	33 cc                	xor    %esp,%ecx
5a1492:	e8 8f 05 03 00       	call   0x5d1a26
5a1497:	81 c4 a0 00 00 00    	add    $0xa0,%esp
5a149d:	c3                   	ret
5a149e:	8b 8c 24 a4 00 00 00 	mov    0xa4(%esp),%ecx
5a14a5:	33 c0                	xor    %eax,%eax
5a14a7:	5d                   	pop    %ebp
5a14a8:	5b                   	pop    %ebx
5a14a9:	33 cc                	xor    %esp,%ecx
5a14ab:	e8 76 05 03 00       	call   0x5d1a26
5a14b0:	81 c4 a0 00 00 00    	add    $0xa0,%esp
5a14b6:	c3                   	ret
5a14b7:	cc                   	int3
5a14b8:	cc                   	int3
5a14b9:	cc                   	int3
5a14ba:	cc                   	int3
5a14bb:	cc                   	int3
5a14bc:	cc                   	int3
5a14bd:	cc                   	int3
5a14be:	cc                   	int3
5a14bf:	cc                   	int3
5a14c0:	83 7c 24 0c 01       	cmpl   $0x1,0xc(%esp)
5a14c5:	53                   	push   %ebx
5a14c6:	55                   	push   %ebp
5a14c7:	56                   	push   %esi
5a14c8:	57                   	push   %edi
5a14c9:	0f 85 ba 01 00 00    	jne    0x5a1689
5a14cf:	83 7c 24 20 00       	cmpl   $0x0,0x20(%esp)
5a14d4:	8b 7c 24 14          	mov    0x14(%esp),%edi
5a14d8:	74 08                	je     0x5a14e2
5a14da:	8b b7 ec 03 00 00    	mov    0x3ec(%edi),%esi
5a14e0:	eb 06                	jmp    0x5a14e8
5a14e2:	8b b7 cc 03 00 00    	mov    0x3cc(%edi),%esi
5a14e8:	85 f6                	test   %esi,%esi
5a14ea:	75 04                	jne    0x5a14f0
5a14ec:	33 c0                	xor    %eax,%eax
5a14ee:	eb 09                	jmp    0x5a14f9
5a14f0:	56                   	push   %esi
5a14f1:	e8 ca eb f4 ff       	call   0x4f00c0
5a14f6:	83 c4 04             	add    $0x4,%esp
5a14f9:	83 bf 74 04 00 00 00 	cmpl   $0x0,0x474(%edi)
5a1500:	0f 84 5e 01 00 00    	je     0x5a1664
5a1506:	85 f6                	test   %esi,%esi
5a1508:	0f 84 56 01 00 00    	je     0x5a1664
5a150e:	85 c0                	test   %eax,%eax
5a1510:	0f 84 4e 01 00 00    	je     0x5a1664
5a1516:	8b 5c 24 18          	mov    0x18(%esp),%ebx
5a151a:	56                   	push   %esi
5a151b:	8b 6b 08             	mov    0x8(%ebx),%ebp
5a151e:	e8 7d eb f4 ff       	call   0x4f00a0
5a1523:	8b c8                	mov    %eax,%ecx
5a1525:	83 c4 04             	add    $0x4,%esp
5a1528:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
5a152c:	83 f9 01             	cmp    $0x1,%ecx
5a152f:	74 3f                	je     0x5a1570
5a1531:	83 7c 24 20 00       	cmpl   $0x0,0x20(%esp)
5a1536:	74 3f                	je     0x5a1577
5a1538:	8b c5                	mov    %ebp,%eax
5a153a:	33 d2                	xor    %edx,%edx
5a153c:	f7 f1                	div    %ecx
5a153e:	8b d9                	mov    %ecx,%ebx
5a1540:	8b 4c 24 18          	mov    0x18(%esp),%ecx
5a1544:	2b da                	sub    %edx,%ebx
5a1546:	53                   	push   %ebx
5a1547:	6a 00                	push   $0x0
5a1549:	8b 41 08             	mov    0x8(%ecx),%eax
5a154c:	03 eb                	add    %ebx,%ebp
5a154e:	03 41 18             	add    0x18(%ecx),%eax
5a1551:	50                   	push   %eax
5a1552:	e8 19 17 03 00       	call   0x5d2c70
5a1557:	8b 44 24 24          	mov    0x24(%esp),%eax