4122ee:	8b 07                	mov    (%edi),%eax
4122f0:	8b 58 04             	mov    0x4(%eax),%ebx
4122f3:	8d 45 94             	lea    -0x6c(%ebp),%eax
4122f6:	50                   	push   %eax
4122f7:	81 fb 70 2d 41 00    	cmp    $0x412d70,%ebx
4122fd:	0f 85 b9 f1 00 00    	jne    0x4214bc
412303:	8b cf                	mov    %edi,%ecx
412305:	e8 66 0a 00 00       	call   0x412d70
41230a:	8b d8                	mov    %eax,%ebx
41230c:	85 db                	test   %ebx,%ebx
41230e:	78 22                	js     0x412332
412310:	83 06 14             	addl   $0x14,(%esi)
412313:	85 db                	test   %ebx,%ebx
412315:	78 1b                	js     0x412332
412317:	8d 45 a8             	lea    -0x58(%ebp),%eax
41231a:	8b ce                	mov    %esi,%ecx
41231c:	50                   	push   %eax
41231d:	e8 8b b7 00 00       	call   0x41daad
412322:	8b d8                	mov    %eax,%ebx
412324:	85 db                	test   %ebx,%ebx
412326:	78 0a                	js     0x412332
412328:	83 7d c8 00          	cmpl   $0x0,-0x38(%ebp)
41232c:	0f 84 9b f1 00 00    	je     0x4214cd
412332:	8b 95 20 ff ff ff    	mov    -0xe0(%ebp),%edx
412338:	8b 8d 24 ff ff ff    	mov    -0xdc(%ebp),%ecx
41233e:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
412342:	8b 3e                	mov    (%esi),%edi
412344:	74 1a                	je     0x412360
412346:	8b 46 04             	mov    0x4(%esi),%eax
412349:	c7 46 08 01 00 00 00 	movl   $0x1,0x8(%esi)
412350:	89 06                	mov    %eax,(%esi)
412352:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
412359:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
412360:	83 e9 01             	sub    $0x1,%ecx
412363:	89 8d 24 ff ff ff    	mov    %ecx,-0xdc(%ebp)
412369:	0f 85 77 fe ff ff    	jne    0x4121e6
41236f:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
412373:	8b 85 30 ff ff ff    	mov    -0xd0(%ebp),%eax
412379:	c7 85 2c ff ff ff 64 	movl   $0x401164,-0xd4(%ebp)
412380:	11 40 00
412383:	85 c0                	test   %eax,%eax
412385:	74 0e                	je     0x412395
412387:	8d 8d 3c ff ff ff    	lea    -0xc4(%ebp),%ecx
41238d:	3b c1                	cmp    %ecx,%eax
41238f:	0f 85 74 f1 00 00    	jne    0x421509
412395:	c7 85 2c ff ff ff 80 	movl   $0x401180,-0xd4(%ebp)
41239c:	11 40 00
41239f:	85 db                	test   %ebx,%ebx
4123a1:	0f 88 2b 02 00 00    	js     0x4125d2
4123a7:	8b 85 04 ff ff ff    	mov    -0xfc(%ebp),%eax
4123ad:	25 ff 0f 00 00       	and    $0xfff,%eax
4123b2:	83 f8 1f             	cmp    $0x1f,%eax
4123b5:	0f 85 ac 02 00 00    	jne    0x412667
4123bb:	8d 8d 04 ff ff ff    	lea    -0xfc(%ebp),%ecx
4123c1:	e8 6a 0c 00 00       	call   0x413030
4123c6:	85 c0                	test   %eax,%eax
4123c8:	0f 88 58 f1 00 00    	js     0x421526
4123ce:	66 8b 85 04 ff ff ff 	mov    -0xfc(%ebp),%ax
4123d5:	83 bd 0c ff ff ff 00 	cmpl   $0x0,-0xf4(%ebp)
4123dc:	0f 84 63 02 00 00    	je     0x412645
4123e2:	33 ff                	xor    %edi,%edi
4123e4:	39 7e 0c             	cmp    %edi,0xc(%esi)
4123e7:	75 11                	jne    0x4123fa
4123e9:	8b 06                	mov    (%esi),%eax
4123eb:	89 7e 08             	mov    %edi,0x8(%esi)
4123ee:	89 46 04             	mov    %eax,0x4(%esi)
4123f1:	89 3e                	mov    %edi,(%esi)
4123f3:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4123fa:	b9 02 00 00 00       	mov    $0x2,%ecx
4123ff:	33 db                	xor    %ebx,%ebx
412401:	89 8d 24 ff ff ff    	mov    %ecx,-0xdc(%ebp)
412407:	85 db                	test   %ebx,%ebx
412409:	0f 88 49 01 00 00    	js     0x412558
41240f:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
412415:	33 db                	xor    %ebx,%ebx
412417:	c7 45 90 00 00 00 00 	movl   $0x0,-0x70(%ebp)
41241e:	c7 45 80 47 54 48 52 	movl   $0x52485447,-0x80(%ebp)
412425:	c7 45 84 00 00 00 00 	movl   $0x0,-0x7c(%ebp)
41242c:	8b 81 90 09 00 00    	mov    0x990(%ecx),%eax
412432:	89 45 8c             	mov    %eax,-0x74(%ebp)
412435:	40                   	inc    %eax
412436:	89 81 90 09 00 00    	mov    %eax,0x990(%ecx)
41243c:	c7 45 88 02 00 00 00 	movl   $0x2,-0x78(%ebp)
412443:	39 5e 08             	cmp    %ebx,0x8(%esi)
412446:	0f 84 f2 01 00 00    	je     0x41263e
41244c:	89 1e                	mov    %ebx,(%esi)
41244e:	8b 5e 10             	mov    0x10(%esi),%ebx
412451:	89 bd e4 fe ff ff    	mov    %edi,-0x11c(%ebp)
412457:	6a 00                	push   $0x0
412459:	6a 04                	push   $0x4
41245b:	8b 03                	mov    (%ebx),%eax
41245d:	8b 40 04             	mov    0x4(%eax),%eax
412460:	89 85 28 ff ff ff    	mov    %eax,-0xd8(%ebp)
412466:	3d 70 2d 41 00       	cmp    $0x412d70,%eax
41246b:	0f 85 df f0 00 00    	jne    0x421550
412471:	8d 85 e4 fe ff ff    	lea    -0x11c(%ebp),%eax
412477:	8b cb                	mov    %ebx,%ecx
412479:	50                   	push   %eax
41247a:	e8 f1 08 00 00       	call   0x412d70
41247f:	8b d8                	mov    %eax,%ebx
412481:	8b 06                	mov    (%esi),%eax
412483:	85 db                	test   %ebx,%ebx
412485:	78 59                	js     0x4124e0
412487:	83 c0 04             	add    $0x4,%eax
41248a:	89 06                	mov    %eax,(%esi)
41248c:	85 db                	test   %ebx,%ebx
41248e:	78 50                	js     0x4124e0
412490:	8d 48 03             	lea    0x3(%eax),%ecx
412493:	33 db                	xor    %ebx,%ebx
412495:	83 e1 fc             	and    $0xfffffffc,%ecx
412498:	f7 d7                	not    %edi
41249a:	2b c8                	sub    %eax,%ecx
41249c:	89 bd e0 fe ff ff    	mov    %edi,-0x120(%ebp)
4124a2:	89 8d 28 ff ff ff    	mov    %ecx,-0xd8(%ebp)
4124a8:	0f 85 be f0 00 00    	jne    0x42156c
4124ae:	03 c1                	add    %ecx,%eax
4124b0:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
4124b4:	89 06                	mov    %eax,(%esi)
4124b6:	74 28                	je     0x4124e0
4124b8:	8b 7e 10             	mov    0x10(%esi),%edi
4124bb:	6a 00                	push   $0x0
4124bd:	6a 04                	push   $0x4
4124bf:	8b 07                	mov    (%edi),%eax
4124c1:	8b 58 04             	mov    0x4(%eax),%ebx
4124c4:	8d 85 e0 fe ff ff    	lea    -0x120(%ebp),%eax
4124ca:	50                   	push   %eax
4124cb:	81 fb 70 2d 41 00    	cmp    $0x412d70,%ebx
4124d1:	0f 85 d1 f0 00 00    	jne    0x4215a8
4124d7:	8b cf                	mov    %edi,%ecx
4124d9:	e8 92 08 00 00       	call   0x412d70
4124de:	8b d8                	mov    %eax,%ebx
4124e0:	33 c0                	xor    %eax,%eax
4124e2:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4124e8:	85 db                	test   %ebx,%ebx
4124ea:	78 66                	js     0x412552
4124ec:	8d 48 07             	lea    0x7(%eax),%ecx
4124ef:	83 e1 f8             	and    $0xfffffff8,%ecx
4124f2:	2b c8                	sub    %eax,%ecx
4124f4:	89 8d 28 ff ff ff    	mov    %ecx,-0xd8(%ebp)
4124fa:	0f 85 b9 f0 00 00    	jne    0x4215b9
412500:	85 db                	test   %ebx,%ebx
412502:	78 4e                	js     0x412552
412504:	03 c1                	add    %ecx,%eax
412506:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
41250a:	89 06                	mov    %eax,(%esi)
41250c:	74 25                	je     0x412533
41250e:	8b 7e 10             	mov    0x10(%esi),%edi
412511:	6a 00                	push   $0x0
412513:	6a 14                	push   $0x14
412515:	8b 07                	mov    (%edi),%eax
412517:	8b 58 04             	mov    0x4(%eax),%ebx
41251a:	8d 45 80             	lea    -0x80(%ebp),%eax
41251d:	50                   	push   %eax
41251e:	81 fb 70 2d 41 00    	cmp    $0x412d70,%ebx
412524:	0f 85 c4 f0 00 00    	jne    0x4215ee
41252a:	8b cf                	mov    %edi,%ecx
41252c:	e8 3f 08 00 00       	call   0x412d70
412531:	8b d8                	mov    %eax,%ebx
412533:	85 db                	test   %ebx,%ebx
412535:	78 1b                	js     0x412552
412537:	83 06 14             	addl   $0x14,(%esi)
41253a:	85 db                	test   %ebx,%ebx
41253c:	78 14                	js     0x412552
41253e:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
412544:	8d 85 04 ff ff ff    	lea    -0xfc(%ebp),%eax
41254a:	50                   	push   %eax
41254b:	e8 10 d6 ff ff       	call   0x40fb60
412550:	8b d8                	mov    %eax,%ebx
412552:	8b 8d 24 ff ff ff    	mov    -0xdc(%ebp),%ecx
412558:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
41255c:	8b 3e                	mov    (%esi),%edi
41255e:	74 1a                	je     0x41257a
412560:	8b 46 04             	mov    0x4(%esi),%eax
412563:	c7 46 08 01 00 00 00 	movl   $0x1,0x8(%esi)
41256a:	89 06                	mov    %eax,(%esi)
41256c:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
412573:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
41257a:	83 e9 01             	sub    $0x1,%ecx
41257d:	89 8d 24 ff ff ff    	mov    %ecx,-0xdc(%ebp)
412583:	0f 85 7e fe ff ff    	jne    0x412407
412589:	81 bd 0c ff ff ff cc 	cmpl   $0x403fcc,-0xf4(%ebp)
412590:	3f 40 00
412593:	0f 84 bb 00 00 00    	je     0x412654
412599:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
41259f:	8d 85 04 ff ff ff    	lea    -0xfc(%ebp),%eax
4125a5:	50                   	push   %eax
4125a6:	e8 f5 0d 00 00       	call   0x4133a0
4125ab:	8b 95 00 ff ff ff    	mov    -0x100(%ebp),%edx
4125b1:	01 02                	add    %eax,(%edx)
4125b3:	8b 0a                	mov    (%edx),%ecx
4125b5:	83 52 04 00          	adcl   $0x0,0x4(%edx)
4125b9:	8b 42 04             	mov    0x4(%edx),%eax
4125bc:	8b 55 10             	mov    0x10(%ebp),%edx
4125bf:	3b 42 04             	cmp    0x4(%edx),%eax
4125c2:	72 0e                	jb     0x4125d2
4125c4:	0f 87 44 f0 00 00    	ja     0x42160e
4125ca:	3b 0a                	cmp    (%edx),%ecx
4125cc:	0f 83 3c f0 00 00    	jae    0x42160e
4125d2:	8b bd 14 ff ff ff    	mov    -0xec(%ebp),%edi
4125d8:	8d 85 04 ff ff ff    	lea    -0xfc(%ebp),%eax
4125de:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4125e2:	50                   	push   %eax
4125e3:	ff 15 4c a0 43 00    	call   *0x43a04c
4125e9:	47                   	inc    %edi
4125ea:	89 bd 14 ff ff ff    	mov    %edi,-0xec(%ebp)
4125f0:	85 db                	test   %ebx,%ebx
4125f2:	0f 89 f8 f8 ff ff    	jns    0x411ef0
4125f8:	83 fb 01             	cmp    $0x1,%ebx
4125fb:	0f 84 17 f0 00 00    	je     0x421618
412601:	8d 8d fc fe ff ff    	lea    -0x104(%ebp),%ecx
412607:	e8 f3 9b ff ff       	call   0x40c1ff
41260c:	8d 8d 1c ff ff ff    	lea    -0xe4(%ebp),%ecx
412612:	e8 e8 9b ff ff       	call   0x40c1ff
412617:	8b c3                	mov    %ebx,%eax
412619:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41261c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
412623:	59                   	pop    %ecx
412624:	5f                   	pop    %edi
412625:	5e                   	pop    %esi
412626:	5b                   	pop    %ebx
412627:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41262a:	33 cd                	xor    %ebp,%ecx
41262c:	e8 8f 81 00 00       	call   0x41a7c0
412631:	8b e5                	mov    %ebp,%esp
412633:	5d                   	pop    %ebp
412634:	c2 24 00             	ret    $0x24
412637:	8b 06                	mov    (%esi),%eax
412639:	e9 87 fc ff ff       	jmp    0x4122c5
41263e:	8b 06                	mov    (%esi),%eax
412640:	e9 a7 fe ff ff       	jmp    0x4124ec
412645:	66 83 f8 1f          	cmp    $0x1f,%ax
412649:	0f 85 93 fd ff ff    	jne    0x4123e2
41264f:	e9 ed ee 00 00       	jmp    0x421541
412654:	66 83 bd 04 ff ff ff 	cmpw   $0x1f,-0xfc(%ebp)
41265b:	1f
41265c:	0f 85 37 ff ff ff    	jne    0x412599
412662:	e9 98 ef 00 00       	jmp    0x4215ff
412667:	83 f8 40             	cmp    $0x40,%eax
41266a:	0f 84 4b fd ff ff    	je     0x4123bb
412670:	83 f8 48             	cmp    $0x48,%eax
412673:	0f 87 9f ee 00 00    	ja     0x421518
412679:	0f b6 80 b4 27 41 00 	movzbl 0x4127b4(%eax),%eax
412680:	ff 24 85 ac 27 41 00 	jmp    *0x4127ac(,%eax,4)
412687:	8d 4d dc             	lea    -0x24(%ebp),%ecx
41268a:	ba d0 3f 40 00       	mov    $0x403fd0,%edx
41268f:	be 0c 00 00 00       	mov    $0xc,%esi
412694:	8b 01                	mov    (%ecx),%eax
412696:	3b 02                	cmp    (%edx),%eax
412698:	0f 85 9d 00 00 00    	jne    0x41273b
41269e:	83 c1 04             	add    $0x4,%ecx
4126a1:	83 c2 04             	add    $0x4,%edx
4126a4:	83 ee 04             	sub    $0x4,%esi
4126a7:	73 eb                	jae    0x412694
4126a9:	33 c0                	xor    %eax,%eax
4126ab:	85 c0                	test   %eax,%eax
4126ad:	0f 85 50 fa ff ff    	jne    0x412103
4126b3:	89 45 b4             	mov    %eax,-0x4c(%ebp)
4126b6:	e9 48 fa ff ff       	jmp    0x412103
4126bb:	8d 4d dc             	lea    -0x24(%ebp),%ecx
4126be:	ba e4 3f 40 00       	mov    $0x403fe4,%edx
4126c3:	be 0c 00 00 00       	mov    $0xc,%esi
4126c8:	eb 06                	jmp    0x4126d0
4126ca:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
4126d0:	8b 01                	mov    (%ecx),%eax
4126d2:	3b 02                	cmp    (%edx),%eax
4126d4:	0f 85 8b 00 00 00    	jne    0x412765
4126da:	83 c1 04             	add    $0x4,%ecx
4126dd:	83 c2 04             	add    $0x4,%edx
4126e0:	83 ee 04             	sub    $0x4,%esi
4126e3:	73 eb                	jae    0x4126d0
4126e5:	33 c0                	xor    %eax,%eax
4126e7:	85 c0                	test   %eax,%eax
4126e9:	0f 85 46 f8 ff ff    	jne    0x411f35
4126ef:	33 db                	xor    %ebx,%ebx
4126f1:	e9 f3 fe ff ff       	jmp    0x4125e9
4126f6:	ba 5c 4e 40 00       	mov    $0x404e5c,%edx
4126fb:	8d 4d dc             	lea    -0x24(%ebp),%ecx
4126fe:	e8 a2 12 00 00       	call   0x4139a5
412703:	85 c0                	test   %eax,%eax
412705:	0f 84 7f f9 ff ff    	je     0x41208a
41270b:	e9 72 ec 00 00       	jmp    0x421382
412710:	ba a8 40 40 00       	mov    $0x4040a8,%edx
412715:	8d 4d dc             	lea    -0x24(%ebp),%ecx
412718:	e8 88 12 00 00       	call   0x4139a5
41271d:	85 c0                	test   %eax,%eax
41271f:	0f 84 de f9 ff ff    	je     0x412103
412725:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
41272c:	e9 d2 f9 ff ff       	jmp    0x412103
412731:	bb 01 00 00 00       	mov    $0x1,%ebx
412736:	e9 4f f8 ff ff       	jmp    0x411f8a
41273b:	3a 02                	cmp    (%edx),%al
41273d:	75 1c                	jne    0x41275b
41273f:	8a 41 01             	mov    0x1(%ecx),%al
412742:	3a 42 01             	cmp    0x1(%edx),%al
412745:	75 14                	jne    0x41275b
412747:	8a 41 02             	mov    0x2(%ecx),%al
41274a:	3a 42 02             	cmp    0x2(%edx),%al
41274d:	75 0c                	jne    0x41275b
41274f:	8a 41 03             	mov    0x3(%ecx),%al
412752:	3a 42 03             	cmp    0x3(%edx),%al
412755:	0f 84 4e ff ff ff    	je     0x4126a9
41275b:	1b c0                	sbb    %eax,%eax
41275d:	83 c8 01             	or     $0x1,%eax
412760:	e9 46 ff ff ff       	jmp    0x4126ab
412765:	3a 02                	cmp    (%edx),%al
412767:	75 1c                	jne    0x412785
412769:	8a 41 01             	mov    0x1(%ecx),%al
41276c:	3a 42 01             	cmp    0x1(%edx),%al
41276f:	75 14                	jne    0x412785
412771:	8a 41 02             	mov    0x2(%ecx),%al
412774:	3a 42 02             	cmp    0x2(%edx),%al
412777:	75 0c                	jne    0x412785
412779:	8a 41 03             	mov    0x3(%ecx),%al
41277c:	3a 42 03             	cmp    0x3(%edx),%al
41277f:	0f 84 60 ff ff ff    	je     0x4126e5
412785:	1b c0                	sbb    %eax,%eax
412787:	83 c8 01             	or     $0x1,%eax
41278a:	e9 58 ff ff ff       	jmp    0x4126e7
41278f:	8d 8d 04 ff ff ff    	lea    -0xfc(%ebp),%ecx
412795:	e8 c3 87 ff ff       	call   0x40af5d
41279a:	8b d8                	mov    %eax,%ebx
41279c:	85 db                	test   %ebx,%ebx
41279e:	0f 89 a6 f9 ff ff    	jns    0x41214a
4127a4:	e9 29 fe ff ff       	jmp    0x4125d2
4127a9:	8d 49 00             	lea    0x0(%ecx),%ecx
4127ac:	bb 23 41 00 18       	mov    $0x18004123,%ebx
4127b1:	15 42 00 00 00       	adc    $0x42,%eax
4127b6:	00 00                	add    %al,(%eax)
4127b8:	00 00                	add    %al,(%eax)
4127ba:	00 00                	add    %al,(%eax)
4127bc:	00 01                	add    %al,(%ecx)
4127be:	00 00                	add    %al,(%eax)
4127c0:	00 01                	add    %al,(%ecx)
4127c2:	00 01                	add    %al,(%ecx)
4127cc:	01 01                	add    %eax,(%ecx)
4127ce:	01 01                	add    %eax,(%ecx)
4127d0:	01 01                	add    %eax,(%ecx)
4127d2:	00 01                	add    %al,(%ecx)
4127d4:	01 01                	add    %eax,(%ecx)
4127d6:	01 01                	add    %eax,(%ecx)
4127d8:	01 01                	add    %eax,(%ecx)
4127da:	01 01                	add    %eax,(%ecx)
4127dc:	01 01                	add    %eax,(%ecx)
4127de:	01 01                	add    %eax,(%ecx)
4127e0:	01 01                	add    %eax,(%ecx)
4127e2:	01 01                	add    %eax,(%ecx)
4127e4:	01 01                	add    %eax,(%ecx)
4127e6:	01 01                	add    %eax,(%ecx)
4127e8:	01 01                	add    %eax,(%ecx)
4127ea:	01 01                	add    %eax,(%ecx)