404375:	c3                   	ret
404376:	cc                   	int3
404377:	cc                   	int3
404378:	cc                   	int3
404379:	cc                   	int3
40437a:	cc                   	int3
40437b:	cc                   	int3
40437c:	cc                   	int3
40437d:	cc                   	int3
40437e:	cc                   	int3
40437f:	cc                   	int3
404380:	55                   	push   %ebp
404381:	8b ec                	mov    %esp,%ebp
404383:	83 ec 28             	sub    $0x28,%esp
404386:	53                   	push   %ebx
404387:	56                   	push   %esi
404388:	57                   	push   %edi
404389:	68 00 00 01 00       	push   $0x10000
40438e:	8b d9                	mov    %ecx,%ebx
404390:	e8 55 b1 01 00       	call   0x41f4ea
404395:	83 c4 04             	add    $0x4,%esp
404398:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40439b:	50                   	push   %eax
40439c:	e8 16 04 00 00       	call   0x4047b7
4043a1:	33 d2                	xor    %edx,%edx
4043a3:	0f b6 82 10 bc 4b 00 	movzbl 0x4bbc10(%edx),%eax
4043aa:	88 44 15 d8          	mov    %al,-0x28(%ebp,%edx,1)
4043ae:	0f b6 82 18 bc 4b 00 	movzbl 0x4bbc18(%edx),%eax
4043b5:	88 44 15 e0          	mov    %al,-0x20(%ebp,%edx,1)
4043b9:	42                   	inc    %edx
4043ba:	83 fa 08             	cmp    $0x8,%edx
4043bd:	7c e4                	jl     0x4043a3
4043bf:	6a 04                	push   $0x4
4043c1:	8d 45 e8             	lea    -0x18(%ebp),%eax
4043c4:	68 cc b5 4b 00       	push   $0x4bb5cc
4043c9:	50                   	push   %eax
4043ca:	e8 b1 aa 01 00       	call   0x41ee80
4043cf:	83 c4 0c             	add    $0xc,%esp
4043d2:	83 7b 0c 00          	cmpl   $0x0,0xc(%ebx)
4043d6:	0f 85 b5 00 00 00    	jne    0x404491
4043dc:	ff 33                	push   (%ebx)
4043de:	8b cb                	mov    %ebx,%ecx
4043e0:	e8 6b 05 00 00       	call   0x404950
4043e5:	8b f0                	mov    %eax,%esi
4043e7:	89 45 08             	mov    %eax,0x8(%ebp)
4043ea:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
4043f0:	80 7b 14 00          	cmpb   $0x0,0x14(%ebx)
4043f4:	0f 85 e1 00 00 00    	jne    0x4044db
4043fa:	b9 00 00 01 00       	mov    $0x10000,%ecx
4043ff:	ff 33                	push   (%ebx)
404401:	51                   	push   %ecx
404402:	6a 01                	push   $0x1
404404:	ff 75 ec             	push   -0x14(%ebp)
404407:	8b cb                	mov    %ebx,%ecx
404409:	e8 df 00 00 00       	call   0x4044ed
40440e:	89 45 f8             	mov    %eax,-0x8(%ebp)
404411:	83 f8 18             	cmp    $0x18,%eax
404414:	7c 63                	jl     0x404479
404416:	8d 78 ec             	lea    -0x14(%eax),%edi
404419:	33 d2                	xor    %edx,%edx
40441b:	85 ff                	test   %edi,%edi
40441d:	7e 30                	jle    0x40444f
40441f:	8b 75 ec             	mov    -0x14(%ebp),%esi
404422:	83 c6 02             	add    $0x2,%esi
404425:	33 c0                	xor    %eax,%eax
404427:	eb 07                	jmp    0x404430
404429:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
404430:	8a 4c 05 d8          	mov    -0x28(%ebp,%eax,1),%cl
404434:	3a 4c 06 fe          	cmp    -0x2(%esi,%eax,1),%cl
404438:	74 32                	je     0x40446c
40443a:	83 f8 14             	cmp    $0x14,%eax
40443d:	0f 84 94 0a 07 00    	je     0x474ed7
404443:	42                   	inc    %edx
404444:	46                   	inc    %esi
404445:	3b d7                	cmp    %edi,%edx
404447:	7c dc                	jl     0x404425
404449:	8b 45 f8             	mov    -0x8(%ebp),%eax
40444c:	8b 75 08             	mov    0x8(%ebp),%esi
40444f:	80 7b 14 00          	cmpb   $0x0,0x14(%ebx)
404453:	75 24                	jne    0x404479
404455:	6a 01                	push   $0x1
404457:	83 c6 ec             	add    $0xffffffec,%esi
40445a:	6a ec                	push   $0xffffffec
40445c:	ff 33                	push   (%ebx)
40445e:	03 f0                	add    %eax,%esi
404460:	8b cb                	mov    %ebx,%ecx
404462:	89 75 08             	mov    %esi,0x8(%ebp)
404465:	e8 ad 00 00 00       	call   0x404517
40446a:	eb 84                	jmp    0x4043f0
40446c:	8a 4c 05 d9          	mov    -0x27(%ebp,%eax,1),%cl
404470:	3a 4c 06 ff          	cmp    -0x1(%esi,%eax,1),%cl
404474:	74 2d                	je     0x4044a3
404476:	40                   	inc    %eax
404477:	eb c1                	jmp    0x40443a
404479:	be 03 00 00 00       	mov    $0x3,%esi
40447e:	8d 4d ec             	lea    -0x14(%ebp),%ecx
404481:	e8 5c 03 00 00       	call   0x4047e2
404486:	5f                   	pop    %edi
404487:	8b c6                	mov    %esi,%eax
404489:	5e                   	pop    %esi
40448a:	5b                   	pop    %ebx
40448b:	8b e5                	mov    %ebp,%esp
40448d:	5d                   	pop    %ebp
40448e:	c2 04 00             	ret    $0x4
404491:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
404495:	8b cb                	mov    %ebx,%ecx
404497:	74 38                	je     0x4044d1
404499:	e8 cd fb ff ff       	call   0x40406b
40449e:	e9 39 ff ff ff       	jmp    0x4043dc
4044a3:	8a 4c 05 da          	mov    -0x26(%ebp,%eax,1),%cl
4044a7:	3a 0c 06             	cmp    (%esi,%eax,1),%cl
4044aa:	74 05                	je     0x4044b1
4044ac:	83 c0 02             	add    $0x2,%eax
4044af:	eb 89                	jmp    0x40443a
4044b1:	8a 4c 05 db          	mov    -0x25(%ebp,%eax,1),%cl
4044b5:	3a 4c 06 01          	cmp    0x1(%esi,%eax,1),%cl
4044b9:	75 2a                	jne    0x4044e5
4044bb:	8a 4c 05 dc          	mov    -0x24(%ebp,%eax,1),%cl
4044bf:	3a 4c 06 02          	cmp    0x2(%esi,%eax,1),%cl
4044c3:	0f 84 fd 09 07 00    	je     0x474ec6
4044c9:	83 c0 04             	add    $0x4,%eax
4044cc:	e9 69 ff ff ff       	jmp    0x40443a
4044d1:	e8 7a 82 04 00       	call   0x44c750
4044d6:	e9 01 ff ff ff       	jmp    0x4043dc
4044db:	b9 18 00 00 00       	mov    $0x18,%ecx
4044e0:	e9 1a ff ff ff       	jmp    0x4043ff
4044e5:	83 c0 03             	add    $0x3,%eax
4044e8:	e9 4d ff ff ff       	jmp    0x40443a
4044ed:	55                   	push   %ebp
4044ee:	8b ec                	mov    %esp,%ebp
4044f0:	51                   	push   %ecx
4044f1:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4044f5:	80 79 14 00          	cmpb   $0x0,0x14(%ecx)
4044f9:	0f 85 c1 0a 07 00    	jne    0x474fc0
4044ff:	ff 75 14             	push   0x14(%ebp)
404502:	ff 75 10             	push   0x10(%ebp)
404505:	ff 75 0c             	push   0xc(%ebp)
404508:	ff 75 08             	push   0x8(%ebp)
40450b:	e8 0e f3 01 00       	call   0x42381e
404510:	83 c4 10             	add    $0x10,%esp
404513:	c9                   	leave
404514:	c2 10 00             	ret    $0x10
404517:	55                   	push   %ebp
404518:	8b ec                	mov    %esp,%ebp
40451a:	51                   	push   %ecx
40451b:	51                   	push   %ecx
40451c:	80 79 14 00          	cmpb   $0x0,0x14(%ecx)
404520:	0f 85 ba 0a 07 00    	jne    0x474fe0
404526:	ff 75 10             	push   0x10(%ebp)
404529:	ff 75 0c             	push   0xc(%ebp)
40452c:	ff 75 08             	push   0x8(%ebp)
40452f:	e8 59 f5 01 00       	call   0x423a8d
404534:	83 c4 0c             	add    $0xc,%esp
404537:	c9                   	leave
404538:	c2 0c 00             	ret    $0xc
40453b:	56                   	push   %esi
40453c:	8b f1                	mov    %ecx,%esi
40453e:	e8 9a 03 00 00       	call   0x4048dd
404543:	56                   	push   %esi
404544:	e8 15 b0 01 00       	call   0x41f55e
404549:	59                   	pop    %ecx
40454a:	8b c6                	mov    %esi,%eax
40454c:	5e                   	pop    %esi
40454d:	c2 04 00             	ret    $0x4
404550:	55                   	push   %ebp
404551:	8b ec                	mov    %esp,%ebp
404553:	56                   	push   %esi
404554:	8b f1                	mov    %ecx,%esi
404556:	e8 ac 03 00 00       	call   0x404907
40455b:	8b 45 0c             	mov    0xc(%ebp),%eax
40455e:	83 66 2c 00          	andl   $0x0,0x2c(%esi)
404562:	83 66 30 00          	andl   $0x0,0x30(%esi)
404566:	89 46 28             	mov    %eax,0x28(%esi)
404569:	a8 03                	test   $0x3,%al
40456b:	75 08                	jne    0x404575
40456d:	0d 00 20 00 00       	or     $0x2000,%eax
404572:	89 46 28             	mov    %eax,0x28(%esi)
404575:	ff 76 28             	push   0x28(%esi)
404578:	8b ce                	mov    %esi,%ecx
40457a:	ff 75 08             	push   0x8(%ebp)
40457d:	e8 7d 02 00 00       	call   0x4047ff
404582:	84 c0                	test   %al,%al
404584:	74 1c                	je     0x4045a2
404586:	8b ce                	mov    %esi,%ecx
404588:	e8 48 00 00 00       	call   0x4045d5
40458d:	8b ce                	mov    %esi,%ecx
40458f:	e8 2a 00 00 00       	call   0x4045be
404594:	8b ce                	mov    %esi,%ecx
404596:	e8 aa 02 00 00       	call   0x404845
40459b:	b0 01                	mov    $0x1,%al
40459d:	5e                   	pop    %esi
40459e:	5d                   	pop    %ebp
40459f:	c2 08 00             	ret    $0x8
4045a2:	32 c0                	xor    %al,%al
4045a4:	eb f7                	jmp    0x40459d
4045a6:	56                   	push   %esi
4045a7:	8b f1                	mov    %ecx,%esi
4045a9:	83 66 08 00          	andl   $0x0,0x8(%esi)
4045ad:	83 66 0c 00          	andl   $0x0,0xc(%esi)
4045b1:	e8 e2 01 00 00       	call   0x404798
4045b6:	89 46 10             	mov    %eax,0x10(%esi)
4045b9:	89 56 14             	mov    %edx,0x14(%esi)
4045bc:	5e                   	pop    %esi
4045bd:	c3                   	ret
4045be:	f7 41 28 00 20 00 00 	testl  $0x2000,0x28(%ecx)
4045c5:	74 0d                	je     0x4045d4
4045c7:	8b 41 30             	mov    0x30(%ecx),%eax
4045ca:	99                   	cltd
4045cb:	6a 00                	push   $0x0
4045cd:	52                   	push   %edx
4045ce:	50                   	push   %eax
4045cf:	e8 fa 00 00 00       	call   0x4046ce
4045d4:	c3                   	ret
4045d5:	55                   	push   %ebp
4045d6:	8b ec                	mov    %esp,%ebp
4045d8:	83 ec 10             	sub    $0x10,%esp
4045db:	53                   	push   %ebx
4045dc:	57                   	push   %edi
4045dd:	8b f9                	mov    %ecx,%edi
4045df:	33 db                	xor    %ebx,%ebx
4045e1:	8b 47 28             	mov    0x28(%edi),%eax
4045e4:	89 5f 2c             	mov    %ebx,0x2c(%edi)
4045e7:	89 5f 30             	mov    %ebx,0x30(%edi)
4045ea:	a9 00 20 00 00       	test   $0x2000,%eax
4045ef:	0f 84 ba 00 00 00    	je     0x4046af
4045f5:	a8 10                	test   $0x10,%al
4045f7:	0f 85 ae 00 00 00    	jne    0x4046ab
4045fd:	a9 80 01 00 00       	test   $0x180,%eax
404602:	0f 85 8b f7 06 00    	jne    0x473d93
404608:	a8 20                	test   $0x20,%al
40460a:	0f 85 8f f7 06 00    	jne    0x473d9f
404610:	a8 40                	test   $0x40,%al
404612:	0f 85 93 f7 06 00    	jne    0x473dab
404618:	8b 47 10             	mov    0x10(%edi),%eax
40461b:	56                   	push   %esi
40461c:	53                   	push   %ebx
40461d:	89 45 f8             	mov    %eax,-0x8(%ebp)
404620:	8b 47 14             	mov    0x14(%edi),%eax
404623:	53                   	push   %ebx
404624:	53                   	push   %ebx
404625:	89 45 fc             	mov    %eax,-0x4(%ebp)
404628:	e8 a1 00 00 00       	call   0x4046ce
40462d:	be 00 00 01 00       	mov    $0x10000,%esi
404632:	56                   	push   %esi
404633:	e8 b2 ae 01 00       	call   0x41f4ea
404638:	59                   	pop    %ecx
404639:	50                   	push   %eax
40463a:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40463d:	e8 75 01 00 00       	call   0x4047b7
404642:	56                   	push   %esi
404643:	8b 75 f0             	mov    -0x10(%ebp),%esi
404646:	56                   	push   %esi
404647:	8b cf                	mov    %edi,%ecx
404649:	e8 92 7c 00 00       	call   0x40c2e0
40464e:	6a 02                	push   $0x2
404650:	5a                   	pop    %edx
404651:	3b c2                	cmp    %edx,%eax
404653:	72 10                	jb     0x404665
404655:	8a 0e                	mov    (%esi),%cl
404657:	80 f9 ff             	cmp    $0xff,%cl
40465a:	0f 84 57 f7 06 00    	je     0x473db7
404660:	80 f9 fe             	cmp    $0xfe,%cl
404663:	74 53                	je     0x4046b8
404665:	6a 03                	push   $0x3
404667:	59                   	pop    %ecx
404668:	3b c1                	cmp    %ecx,%eax
40466a:	72 09                	jb     0x404675
40466c:	80 3e ef             	cmpb   $0xef,(%esi)
40466f:	0f 84 5b f7 06 00    	je     0x473dd0
404675:	85 c0                	test   %eax,%eax
404677:	74 1b                	je     0x404694
404679:	39 5f 2c             	cmp    %ebx,0x2c(%edi)
40467c:	75 16                	jne    0x404694
40467e:	3d 00 00 01 00       	cmp    $0x10000,%eax
404683:	0f 84 6a f7 06 00    	je     0x473df3
404689:	50                   	push   %eax
40468a:	56                   	push   %esi
40468b:	e8 d0 01 00 00       	call   0x404860
404690:	84 c0                	test   %al,%al
404692:	75 32                	jne    0x4046c6
404694:	53                   	push   %ebx
404695:	ff 75 fc             	push   -0x4(%ebp)
404698:	8b cf                	mov    %edi,%ecx
40469a:	ff 75 f8             	push   -0x8(%ebp)
40469d:	e8 2c 00 00 00       	call   0x4046ce
4046a2:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4046a5:	e8 38 01 00 00       	call   0x4047e2
4046aa:	5e                   	pop    %esi
4046ab:	5f                   	pop    %edi
4046ac:	5b                   	pop    %ebx
4046ad:	c9                   	leave
4046ae:	c3                   	ret
4046af:	a8 01                	test   $0x1,%al
4046b1:	74 f8                	je     0x4046ab
4046b3:	e9 3d ff ff ff       	jmp    0x4045f5
4046b8:	80 7e 01 ff          	cmpb   $0xff,0x1(%esi)
4046bc:	75 a7                	jne    0x404665
4046be:	89 57 2c             	mov    %edx,0x2c(%edi)
4046c1:	e9 02 f7 06 00       	jmp    0x473dc8
4046c6:	89 5f 30             	mov    %ebx,0x30(%edi)
4046c9:	e9 19 f7 06 00       	jmp    0x473de7
4046ce:	55                   	push   %ebp
4046cf:	8b ec                	mov    %esp,%ebp
4046d1:	8b 55 0c             	mov    0xc(%ebp),%edx
4046d4:	83 ec 0c             	sub    $0xc,%esp
4046d7:	53                   	push   %ebx
4046d8:	8b 5d 10             	mov    0x10(%ebp),%ebx
4046db:	56                   	push   %esi
4046dc:	8b 75 08             	mov    0x8(%ebp),%esi
4046df:	57                   	push   %edi
4046e0:	8b f9                	mov    %ecx,%edi
4046e2:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
4046e6:	74 74                	je     0x40475c
4046e8:	83 fb 01             	cmp    $0x1,%ebx
4046eb:	74 04                	je     0x4046f1
4046ed:	85 db                	test   %ebx,%ebx
4046ef:	75 6b                	jne    0x40475c
4046f1:	8b ca                	mov    %edx,%ecx
4046f3:	89 55 f8             	mov    %edx,-0x8(%ebp)
4046f6:	83 fb 01             	cmp    $0x1,%ebx
4046f9:	0f 84 d1 f9 06 00    	je     0x4740d0
4046ff:	8b 47 0c             	mov    0xc(%edi),%eax
404702:	8b 5f 10             	mov    0x10(%edi),%ebx
404705:	99                   	cltd
404706:	2b d8                	sub    %eax,%ebx
404708:	8b 47 14             	mov    0x14(%edi),%eax
40470b:	1b c2                	sbb    %edx,%eax
40470d:	89 5d fc             	mov    %ebx,-0x4(%ebp)
404710:	8b 5d 10             	mov    0x10(%ebp),%ebx
404713:	89 45 f4             	mov    %eax,-0xc(%ebp)
404716:	3b c8                	cmp    %eax,%ecx
404718:	7c 76                	jl     0x404790
40471a:	7f 05                	jg     0x404721
40471c:	3b 75 fc             	cmp    -0x4(%ebp),%esi
40471f:	72 6f                	jb     0x404790
404721:	8b 47 08             	mov    0x8(%edi),%eax
404724:	99                   	cltd
404725:	89 45 10             	mov    %eax,0x10(%ebp)
404728:	8b 45 fc             	mov    -0x4(%ebp),%eax
40472b:	01 45 10             	add    %eax,0x10(%ebp)
40472e:	13 55 f4             	adc    -0xc(%ebp),%edx
404731:	83 6d 10 01          	subl   $0x1,0x10(%ebp)
404735:	83 da 00             	sbb    $0x0,%edx
404738:	3b ca                	cmp    %edx,%ecx
40473a:	7f 54                	jg     0x404790
40473c:	7c 05                	jl     0x404743
40473e:	3b 75 10             	cmp    0x10(%ebp),%esi
404741:	77 4d                	ja     0x404790
404743:	8b ce                	mov    %esi,%ecx
404745:	2b c8                	sub    %eax,%ecx