5b023c:	83 ec 0c             	sub    $0xc,%esp
5b023f:	c7 45 f4 0f 00 00 00 	movl   $0xf,-0xc(%ebp)
5b0246:	8b c4                	mov    %esp,%eax
5b0248:	c6 45 e0 00          	movb   $0x0,-0x20(%ebp)
5b024c:	89 45 84             	mov    %eax,-0x7c(%ebp)
5b024f:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
5b0255:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
5b025c:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%eax)
5b0263:	8b 45 b0             	mov    -0x50(%ebp),%eax
5b0266:	8b 5d ac             	mov    -0x54(%ebp),%ebx
5b0269:	89 45 80             	mov    %eax,-0x80(%ebp)
5b026c:	3b d8                	cmp    %eax,%ebx
5b026e:	74 51                	je     0x5b02c1
5b0270:	8b c8                	mov    %eax,%ecx
5b0272:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b0277:	2b cb                	sub    %ebx,%ecx
5b0279:	f7 e9                	imul   %ecx
5b027b:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
5b027e:	d1 fa                	sar    $1,%edx
5b0280:	8b f2                	mov    %edx,%esi
5b0282:	c1 ee 1f             	shr    $0x1f,%esi
5b0285:	03 f2                	add    %edx,%esi
5b0287:	56                   	push   %esi
5b0288:	e8 d3 41 ea ff       	call   0x454460
5b028d:	8b f8                	mov    %eax,%edi
5b028f:	8d 0c 76             	lea    (%esi,%esi,2),%ecx
5b0292:	8b 45 84             	mov    -0x7c(%ebp),%eax
5b0295:	8b 75 80             	mov    -0x80(%ebp),%esi
5b0298:	8d 0c 8f             	lea    (%edi,%ecx,4),%ecx
5b029b:	89 38                	mov    %edi,(%eax)
5b029d:	89 78 04             	mov    %edi,0x4(%eax)
5b02a0:	89 48 08             	mov    %ecx,0x8(%eax)
5b02a3:	53                   	push   %ebx
5b02a4:	8b cf                	mov    %edi,%ecx
5b02a6:	e8 35 f5 ff ff       	call   0x5af7e0
5b02ab:	83 c3 0c             	add    $0xc,%ebx
5b02ae:	83 c7 0c             	add    $0xc,%edi
5b02b1:	3b de                	cmp    %esi,%ebx
5b02b3:	75 ee                	jne    0x5b02a3
5b02b5:	8b 45 84             	mov    -0x7c(%ebp),%eax
5b02b8:	89 78 04             	mov    %edi,0x4(%eax)
5b02bb:	8b bd 7c ff ff ff    	mov    -0x84(%ebp),%edi
5b02c1:	6a 06                	push   $0x6
5b02c3:	e8 f8 59 e9 ff       	call   0x445cc0
5b02c8:	83 c4 14             	add    $0x14,%esp
5b02cb:	6a 03                	push   $0x3
5b02cd:	e8 1e d6 ea ff       	call   0x45d8f0
5b02d2:	50                   	push   %eax
5b02d3:	83 ec 18             	sub    $0x18,%esp
5b02d6:	8d 45 e0             	lea    -0x20(%ebp),%eax
5b02d9:	8b cc                	mov    %esp,%ecx
5b02db:	50                   	push   %eax
5b02dc:	e8 bf ca e8 ff       	call   0x43cda0
5b02e1:	8d 45 8c             	lea    -0x74(%ebp),%eax
5b02e4:	50                   	push   %eax
5b02e5:	e8 f6 59 ea ff       	call   0x455ce0
5b02ea:	83 c4 24             	add    $0x24,%esp
5b02ed:	c7 45 a8 00 00 00 00 	movl   $0x0,-0x58(%ebp)
5b02f4:	8d 45 d4             	lea    -0x2c(%ebp),%eax
5b02f7:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
5b02fe:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
5b0305:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
5b030c:	50                   	push   %eax
5b030d:	8d 45 a8             	lea    -0x58(%ebp),%eax
5b0310:	50                   	push   %eax
5b0311:	83 ec 18             	sub    $0x18,%esp
5b0314:	8d 45 8c             	lea    -0x74(%ebp),%eax
5b0317:	8b cc                	mov    %esp,%ecx
5b0319:	50                   	push   %eax
5b031a:	e8 81 ca e8 ff       	call   0x43cda0
5b031f:	e8 7c 60 e9 ff       	call   0x4463a0
5b0324:	8b 75 d4             	mov    -0x2c(%ebp),%esi
5b0327:	33 c9                	xor    %ecx,%ecx
5b0329:	89 4d 84             	mov    %ecx,-0x7c(%ebp)
5b032c:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b0331:	8b 4d d8             	mov    -0x28(%ebp),%ecx
5b0334:	83 c4 20             	add    $0x20,%esp
5b0337:	2b ce                	sub    %esi,%ecx
5b0339:	f7 e9                	imul   %ecx
5b033b:	d1 fa                	sar    $1,%edx
5b033d:	8b c2                	mov    %edx,%eax
5b033f:	c1 e8 1f             	shr    $0x1f,%eax
5b0342:	03 c2                	add    %edx,%eax
5b0344:	74 5c                	je     0x5b03a2
5b0346:	33 db                	xor    %ebx,%ebx
5b0348:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
5b034f:	00
5b0350:	8b 44 1e 04          	mov    0x4(%esi,%ebx,1),%eax
5b0354:	8b 0c 1e             	mov    (%esi,%ebx,1),%ecx
5b0357:	2b c1                	sub    %ecx,%eax
5b0359:	83 e8 18             	sub    $0x18,%eax
5b035c:	83 f8 18             	cmp    $0x18,%eax
5b035f:	73 21                	jae    0x5b0382
5b0361:	8b 47 04             	mov    0x4(%edi),%eax
5b0364:	51                   	push   %ecx
5b0365:	3b 47 08             	cmp    0x8(%edi),%eax
5b0368:	74 0d                	je     0x5b0377
5b036a:	8b c8                	mov    %eax,%ecx
5b036c:	e8 2f ca e8 ff       	call   0x43cda0
5b0371:	83 47 04 18          	addl   $0x18,0x4(%edi)
5b0375:	eb 08                	jmp    0x5b037f
5b0377:	50                   	push   %eax
5b0378:	8b cf                	mov    %edi,%ecx
5b037a:	e8 71 a1 e9 ff       	call   0x44a4f0
5b037f:	8b 75 d4             	mov    -0x2c(%ebp),%esi
5b0382:	8b 4d d8             	mov    -0x28(%ebp),%ecx
5b0385:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b038a:	ff 45 84             	incl   -0x7c(%ebp)
5b038d:	2b ce                	sub    %esi,%ecx
5b038f:	f7 e9                	imul   %ecx
5b0391:	83 c3 0c             	add    $0xc,%ebx
5b0394:	d1 fa                	sar    $1,%edx
5b0396:	8b c2                	mov    %edx,%eax
5b0398:	c1 e8 1f             	shr    $0x1f,%eax
5b039b:	03 c2                	add    %edx,%eax
5b039d:	39 45 84             	cmp    %eax,-0x7c(%ebp)
5b03a0:	72 ae                	jb     0x5b0350
5b03a2:	8b 75 a8             	mov    -0x58(%ebp),%esi
5b03a5:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
5b03a8:	e8 63 48 e9 ff       	call   0x444c10
5b03ad:	8b 55 a0             	mov    -0x60(%ebp),%edx
5b03b0:	83 fa 10             	cmp    $0x10,%edx
5b03b3:	72 2c                	jb     0x5b03e1
5b03b5:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
5b03b8:	42                   	inc    %edx
5b03b9:	8b c1                	mov    %ecx,%eax
5b03bb:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
5b03c1:	72 14                	jb     0x5b03d7
5b03c3:	8b 49 fc             	mov    -0x4(%ecx),%ecx
5b03c6:	83 c2 23             	add    $0x23,%edx
5b03c9:	2b c1                	sub    %ecx,%eax
5b03cb:	83 c0 fc             	add    $0xfffffffc,%eax
5b03ce:	83 f8 1f             	cmp    $0x1f,%eax
5b03d1:	0f 87 5c 03 00 00    	ja     0x5b0733
5b03d7:	52                   	push   %edx
5b03d8:	51                   	push   %ecx
5b03d9:	e8 94 0c 03 00       	call   0x5e1072
5b03de:	83 c4 08             	add    $0x8,%esp
5b03e1:	8b 55 f4             	mov    -0xc(%ebp),%edx
5b03e4:	c7 45 9c 00 00 00 00 	movl   $0x0,-0x64(%ebp)
5b03eb:	c7 45 a0 0f 00 00 00 	movl   $0xf,-0x60(%ebp)
5b03f2:	c6 45 8c 00          	movb   $0x0,-0x74(%ebp)
5b03f6:	83 fa 10             	cmp    $0x10,%edx
5b03f9:	72 2c                	jb     0x5b0427
5b03fb:	8b 4d e0             	mov    -0x20(%ebp),%ecx
5b03fe:	42                   	inc    %edx
5b03ff:	8b c1                	mov    %ecx,%eax
5b0401:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
5b0407:	72 14                	jb     0x5b041d
5b0409:	8b 49 fc             	mov    -0x4(%ecx),%ecx
5b040c:	83 c2 23             	add    $0x23,%edx
5b040f:	2b c1                	sub    %ecx,%eax
5b0411:	83 c0 fc             	add    $0xfffffffc,%eax
5b0414:	83 f8 1f             	cmp    $0x1f,%eax
5b0417:	0f 87 16 03 00 00    	ja     0x5b0733
5b041d:	52                   	push   %edx
5b041e:	51                   	push   %ecx
5b041f:	e8 4e 0c 03 00       	call   0x5e1072
5b0424:	83 c4 08             	add    $0x8,%esp
5b0427:	8d 4d b8             	lea    -0x48(%ebp),%ecx
5b042a:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
5b0431:	c7 45 f4 0f 00 00 00 	movl   $0xf,-0xc(%ebp)
5b0438:	c6 45 e0 00          	movb   $0x0,-0x20(%ebp)
5b043c:	e8 bf 4a e9 ff       	call   0x444f00
5b0441:	8d 4d ac             	lea    -0x54(%ebp),%ecx
5b0444:	e8 c7 47 e9 ff       	call   0x444c10
5b0449:	8b c6                	mov    %esi,%eax
5b044b:	5f                   	pop    %edi
5b044c:	5e                   	pop    %esi
5b044d:	5b                   	pop    %ebx
5b044e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5b0451:	33 cd                	xor    %ebp,%ecx
5b0453:	e8 82 10 03 00       	call   0x5e14da
5b0458:	8b e5                	mov    %ebp,%esp
5b045a:	5d                   	pop    %ebp
5b045b:	c3                   	ret
5b045c:	83 ec 18             	sub    $0x18,%esp
5b045f:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
5b0466:	8b cc                	mov    %esp,%ecx
5b0468:	c7 45 dc 0f 00 00 00 	movl   $0xf,-0x24(%ebp)
5b046f:	bb 01 00 00 00       	mov    $0x1,%ebx
5b0474:	6a 13                	push   $0x13
5b0476:	68 48 dd 68 00       	push   $0x68dd48
5b047b:	c7 41 10 00 00 00 00 	movl   $0x0,0x10(%ecx)
5b0482:	c7 41 14 0f 00 00 00 	movl   $0xf,0x14(%ecx)
5b0489:	c6 01 00             	movb   $0x0,(%ecx)
5b048c:	e8 af 4d e9 ff       	call   0x445240
5b0491:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
5b0494:	e8 87 40 00 00       	call   0x5b4520
5b0499:	c7 45 88 00 00 00 00 	movl   $0x0,-0x78(%ebp)
5b04a0:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
5b04a7:	c7 45 a4 00 00 00 00 	movl   $0x0,-0x5c(%ebp)
5b04ae:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
5b04b5:	c6 45 c8 00          	movb   $0x0,-0x38(%ebp)
5b04b9:	85 f6                	test   %esi,%esi
5b04bb:	0f 84 26 01 00 00    	je     0x5b05e7
5b04c1:	8b ce                	mov    %esi,%ecx
5b04c3:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
5b04ca:	c7 45 f4 0f 00 00 00 	movl   $0xf,-0xc(%ebp)
5b04d1:	c6 45 e0 00          	movb   $0x0,-0x20(%ebp)
5b04d5:	8d 51 01             	lea    0x1(%ecx),%edx
5b04d8:	8a 01                	mov    (%ecx),%al
5b04da:	41                   	inc    %ecx
5b04db:	84 c0                	test   %al,%al
5b04dd:	75 f9                	jne    0x5b04d8
5b04df:	2b ca                	sub    %edx,%ecx
5b04e1:	51                   	push   %ecx
5b04e2:	56                   	push   %esi
5b04e3:	8d 4d e0             	lea    -0x20(%ebp),%ecx
5b04e6:	e8 55 4d e9 ff       	call   0x445240
5b04eb:	6a 10                	push   $0x10
5b04ed:	68 28 dd 6c 00       	push   $0x6cdd28
5b04f2:	8d 4d c8             	lea    -0x38(%ebp),%ecx
5b04f5:	e8 46 4d e9 ff       	call   0x445240
5b04fa:	83 3d dc 53 72 00 10 	cmpl   $0x10,0x7253dc
5b0501:	8d 4d c8             	lea    -0x38(%ebp),%ecx
5b0504:	ff 35 d8 53 72 00    	push   0x7253d8
5b050a:	b8 c8 53 72 00       	mov    $0x7253c8,%eax
5b050f:	0f 43 05 c8 53 72 00 	cmovae 0x7253c8,%eax
5b0516:	50                   	push   %eax
5b0517:	e8 a4 4b e9 ff       	call   0x4450c0
5b051c:	6a 06                	push   $0x6
5b051e:	68 3c dd 6c 00       	push   $0x6cdd3c
5b0523:	8d 4d c8             	lea    -0x38(%ebp),%ecx
5b0526:	e8 95 4b e9 ff       	call   0x4450c0
5b052b:	83 3d ac 53 72 00 10 	cmpl   $0x10,0x7253ac
5b0532:	8d 4d c8             	lea    -0x38(%ebp),%ecx
5b0535:	ff 35 a8 53 72 00    	push   0x7253a8
5b053b:	b8 98 53 72 00       	mov    $0x725398,%eax
5b0540:	0f 43 05 98 53 72 00 	cmovae 0x725398,%eax
5b0547:	50                   	push   %eax
5b0548:	e8 73 4b e9 ff       	call   0x4450c0
5b054d:	6a 07                	push   $0x7
5b054f:	68 1c 2f 6c 00       	push   $0x6c2f1c
5b0554:	8d 4d c8             	lea    -0x38(%ebp),%ecx
5b0557:	e8 64 4b e9 ff       	call   0x4450c0
5b055c:	83 3d c4 53 72 00 10 	cmpl   $0x10,0x7253c4
5b0563:	8d 4d c8             	lea    -0x38(%ebp),%ecx
5b0566:	ff 35 c0 53 72 00    	push   0x7253c0
5b056c:	b8 b0 53 72 00       	mov    $0x7253b0,%eax
5b0571:	0f 43 05 b0 53 72 00 	cmovae 0x7253b0,%eax
5b0578:	50                   	push   %eax
5b0579:	e8 42 4b e9 ff       	call   0x4450c0
5b057e:	6a 04                	push   $0x4
5b0580:	68 18 dd 6c 00       	push   $0x6cdd18
5b0585:	8d 4d c8             	lea    -0x38(%ebp),%ecx
5b0588:	e8 33 4b e9 ff       	call   0x4450c0
5b058d:	83 7d f4 10          	cmpl   $0x10,-0xc(%ebp)
5b0591:	8d 45 e0             	lea    -0x20(%ebp),%eax
5b0594:	ff 75 f0             	push   -0x10(%ebp)
5b0597:	0f 43 45 e0          	cmovae -0x20(%ebp),%eax
5b059b:	8d 4d c8             	lea    -0x38(%ebp),%ecx
5b059e:	50                   	push   %eax
5b059f:	e8 1c 4b e9 ff       	call   0x4450c0
5b05a4:	6a 01                	push   $0x1
5b05a6:	68 54 03 69 00       	push   $0x690354
5b05ab:	8d 4d c8             	lea    -0x38(%ebp),%ecx
5b05ae:	e8 0d 4b e9 ff       	call   0x4450c0
5b05b3:	8b 55 f4             	mov    -0xc(%ebp),%edx
5b05b6:	83 fa 10             	cmp    $0x10,%edx
5b05b9:	72 2c                	jb     0x5b05e7
5b05bb:	8b 4d e0             	mov    -0x20(%ebp),%ecx
5b05be:	42                   	inc    %edx
5b05bf:	8b c1                	mov    %ecx,%eax
5b05c1:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
5b05c7:	72 14                	jb     0x5b05dd
5b05c9:	8b 49 fc             	mov    -0x4(%ecx),%ecx
5b05cc:	83 c2 23             	add    $0x23,%edx
5b05cf:	2b c1                	sub    %ecx,%eax
5b05d1:	83 c0 fc             	add    $0xfffffffc,%eax
5b05d4:	83 f8 1f             	cmp    $0x1f,%eax
5b05d7:	0f 87 5b 01 00 00    	ja     0x5b0738
5b05dd:	52                   	push   %edx
5b05de:	51                   	push   %ecx
5b05df:	e8 8e 0a 03 00       	call   0x5e1072
5b05e4:	83 c4 08             	add    $0x8,%esp
5b05e7:	8d 45 a4             	lea    -0x5c(%ebp),%eax
5b05ea:	50                   	push   %eax
5b05eb:	8d 45 f8             	lea    -0x8(%ebp),%eax
5b05ee:	50                   	push   %eax
5b05ef:	8d 45 88             	lea    -0x78(%ebp),%eax
5b05f2:	50                   	push   %eax
5b05f3:	83 ec 18             	sub    $0x18,%esp
5b05f6:	8d 45 c8             	lea    -0x38(%ebp),%eax
5b05f9:	8b cc                	mov    %esp,%ecx
5b05fb:	50                   	push   %eax
5b05fc:	e8 9f c7 e8 ff       	call   0x43cda0
5b0601:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
5b0604:	e8 87 46 00 00       	call   0x5b4c90
5b0609:	85 c0                	test   %eax,%eax
5b060b:	74 0a                	je     0x5b0617
5b060d:	bb 02 00 00 00       	mov    $0x2,%ebx
5b0612:	e9 d1 00 00 00       	jmp    0x5b06e8
5b0617:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
5b061b:	75 0a                	jne    0x5b0627
5b061d:	bb 03 00 00 00       	mov    $0x3,%ebx
5b0622:	e9 b6 00 00 00       	jmp    0x5b06dd
5b0627:	8b f3                	mov    %ebx,%esi
5b0629:	39 5d f8             	cmp    %ebx,-0x8(%ebp)
5b062c:	0f 8c ab 00 00 00    	jl     0x5b06dd
5b0632:	8b 45 88             	mov    -0x78(%ebp),%eax
5b0635:	8b ce                	mov    %esi,%ecx
5b0637:	0f af 4d a4          	imul   -0x5c(%ebp),%ecx
5b063b:	8b 14 88             	mov    (%eax,%ecx,4),%edx
5b063e:	85 d2                	test   %edx,%edx
5b0640:	0f 84 88 00 00 00    	je     0x5b06ce
5b0646:	8b c2                	mov    %edx,%eax
5b0648:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
5b064f:	c7 45 f4 0f 00 00 00 	movl   $0xf,-0xc(%ebp)
5b0656:	c6 45 e0 00          	movb   $0x0,-0x20(%ebp)
5b065a:	8d 58 01             	lea    0x1(%eax),%ebx
5b065d:	0f 1f 00             	nopl   (%eax)
5b0660:	8a 08                	mov    (%eax),%cl
5b0662:	40                   	inc    %eax
5b0663:	84 c9                	test   %cl,%cl
5b0665:	75 f9                	jne    0x5b0660
5b0667:	2b c3                	sub    %ebx,%eax
5b0669:	8d 4d e0             	lea    -0x20(%ebp),%ecx
5b066c:	50                   	push   %eax
5b066d:	52                   	push   %edx
5b066e:	e8 cd 4b e9 ff       	call   0x445240
5b0673:	8b 47 04             	mov    0x4(%edi),%eax
5b0676:	3b 47 08             	cmp    0x8(%edi),%eax
5b0679:	74 17                	je     0x5b0692
5b067b:	0f 10 45 e0          	movups -0x20(%ebp),%xmm0
5b067f:	0f 11 00             	movups %xmm0,(%eax)
5b0682:	f3 0f 7e 45 f0       	movq   -0x10(%ebp),%xmm0
5b0687:	66 0f d6 40 10       	movq   %xmm0,0x10(%eax)
5b068c:	83 47 04 18          	addl   $0x18,0x4(%edi)
5b0690:	eb 3c                	jmp    0x5b06ce
5b0692:	8d 4d e0             	lea    -0x20(%ebp),%ecx
5b0695:	51                   	push   %ecx
5b0696:	50                   	push   %eax
5b0697:	8b cf                	mov    %edi,%ecx
5b0699:	e8 b2 3e e9 ff       	call   0x444550
5b069e:	8b 55 f4             	mov    -0xc(%ebp),%edx
5b06a1:	83 fa 10             	cmp    $0x10,%edx
5b06a4:	72 28                	jb     0x5b06ce
5b06a6:	8b 4d e0             	mov    -0x20(%ebp),%ecx
5b06a9:	42                   	inc    %edx
5b06aa:	8b c1                	mov    %ecx,%eax
5b06ac:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
5b06b2:	72 10                	jb     0x5b06c4
5b06b4:	8b 49 fc             	mov    -0x4(%ecx),%ecx
5b06b7:	83 c2 23             	add    $0x23,%edx
5b06ba:	2b c1                	sub    %ecx,%eax
5b06bc:	83 c0 fc             	add    $0xfffffffc,%eax
5b06bf:	83 f8 1f             	cmp    $0x1f,%eax
5b06c2:	77 74                	ja     0x5b0738
5b06c4:	52                   	push   %edx