416447:	77 04                	ja     0x41644d
416449:	3b c3                	cmp    %ebx,%eax
41644b:	73 11                	jae    0x41645e
41644d:	6a 01                	push   $0x1
41644f:	8b cd                	mov    %ebp,%ecx
416451:	e8 af 46 ff ff       	call   0x40ab05
416456:	53                   	push   %ebx
416457:	8b cd                	mov    %ebp,%ecx
416459:	e8 f3 45 ff ff       	call   0x40aa51
41645e:	8b 47 04             	mov    0x4(%edi),%eax
416461:	85 c0                	test   %eax,%eax
416463:	75 05                	jne    0x41646a
416465:	b8 8c 98 42 00       	mov    $0x42988c,%eax
41646a:	8b 7d 04             	mov    0x4(%ebp),%edi
41646d:	8b cb                	mov    %ebx,%ecx
41646f:	03 f0                	add    %eax,%esi
416471:	8b c1                	mov    %ecx,%eax
416473:	c1 e9 02             	shr    $0x2,%ecx
416476:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
416478:	8b c8                	mov    %eax,%ecx
41647a:	83 e1 03             	and    $0x3,%ecx
41647d:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
41647f:	8b 45 04             	mov    0x4(%ebp),%eax
416482:	89 5d 08             	mov    %ebx,0x8(%ebp)
416485:	03 d8                	add    %eax,%ebx
416487:	c6 03 00             	movb   $0x0,(%ebx)
41648a:	5f                   	pop    %edi
41648b:	8b c5                	mov    %ebp,%eax
41648d:	5e                   	pop    %esi
41648e:	5d                   	pop    %ebp
41648f:	5b                   	pop    %ebx
416490:	c2 0c 00             	ret    $0xc
416493:	90                   	nop
416494:	90                   	nop
416495:	90                   	nop
416496:	90                   	nop
416497:	90                   	nop
416498:	90                   	nop
416499:	90                   	nop
41649a:	90                   	nop
41649b:	90                   	nop
41649c:	90                   	nop
41649d:	90                   	nop
41649e:	90                   	nop
41649f:	90                   	nop
4164a0:	b8 fd ff ff ff       	mov    $0xfffffffd,%eax
4164a5:	c3                   	ret
4164a6:	90                   	nop
4164a7:	90                   	nop
4164a8:	90                   	nop
4164a9:	90                   	nop
4164aa:	90                   	nop
4164ab:	90                   	nop
4164ac:	90                   	nop
4164ad:	90                   	nop
4164ae:	90                   	nop
4164af:	90                   	nop
4164b0:	6a ff                	push   $0xffffffff
4164b2:	68 08 80 42 00       	push   $0x428008
4164b7:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4164bd:	50                   	push   %eax
4164be:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
4164c5:	51                   	push   %ecx
4164c6:	53                   	push   %ebx
4164c7:	55                   	push   %ebp
4164c8:	56                   	push   %esi
4164c9:	8b 74 24 20          	mov    0x20(%esp),%esi
4164cd:	57                   	push   %edi
4164ce:	8b e9                	mov    %ecx,%ebp
4164d0:	56                   	push   %esi
4164d1:	89 6c 24 14          	mov    %ebp,0x14(%esp)
4164d5:	e8 b6 21 00 00       	call   0x418690
4164da:	8a 46 0c             	mov    0xc(%esi),%al
4164dd:	83 c6 0c             	add    $0xc,%esi
4164e0:	83 c5 0c             	add    $0xc,%ebp
4164e3:	33 ff                	xor    %edi,%edi
4164e5:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
4164e9:	88 45 00             	mov    %al,0x0(%ebp)
4164ec:	89 7d 04             	mov    %edi,0x4(%ebp)
4164ef:	89 7d 08             	mov    %edi,0x8(%ebp)
4164f2:	89 7d 0c             	mov    %edi,0xc(%ebp)
4164f5:	8b 46 08             	mov    0x8(%esi),%eax
4164f8:	8b 0d 90 ca 42 00    	mov    0x42ca90,%ecx
4164fe:	8b d8                	mov    %eax,%ebx
416500:	3b cb                	cmp    %ebx,%ecx
416502:	73 02                	jae    0x416506
416504:	8b d9                	mov    %ecx,%ebx
416506:	3b ee                	cmp    %esi,%ebp
416508:	75 5e                	jne    0x416568
41650a:	3b df                	cmp    %edi,%ebx
41650c:	8b f1                	mov    %ecx,%esi
41650e:	76 05                	jbe    0x416515
416510:	e8 2b 03 00 00       	call   0x416840
416515:	8b cd                	mov    %ebp,%ecx
416517:	e8 f4 cf ff ff       	call   0x413510
41651c:	8b 45 08             	mov    0x8(%ebp),%eax
41651f:	2b c3                	sub    %ebx,%eax
416521:	3b c6                	cmp    %esi,%eax
416523:	73 02                	jae    0x416527
416525:	8b f0                	mov    %eax,%esi
416527:	3b f7                	cmp    %edi,%esi
416529:	76 31                	jbe    0x41655c
41652b:	8b 4d 04             	mov    0x4(%ebp),%ecx
41652e:	8d 14 33             	lea    (%ebx,%esi,1),%edx
416531:	2b c6                	sub    %esi,%eax
416533:	03 d1                	add    %ecx,%edx
416535:	50                   	push   %eax
416536:	03 d9                	add    %ecx,%ebx
416538:	52                   	push   %edx
416539:	53                   	push   %ebx
41653a:	e8 61 6a ff ff       	call   0x40cfa0
41653f:	8b 5d 08             	mov    0x8(%ebp),%ebx
416542:	83 c4 0c             	add    $0xc,%esp
416545:	2b de                	sub    %esi,%ebx
416547:	8b cd                	mov    %ebp,%ecx
416549:	57                   	push   %edi
41654a:	53                   	push   %ebx
41654b:	e8 76 44 ff ff       	call   0x40a9c6
416550:	84 c0                	test   %al,%al
416552:	74 08                	je     0x41655c
416554:	53                   	push   %ebx
416555:	8b cd                	mov    %ebp,%ecx
416557:	e8 94 cf ff ff       	call   0x4134f0
41655c:	8b cd                	mov    %ebp,%ecx
41655e:	e8 ad cf ff ff       	call   0x413510
416563:	e9 80 00 00 00       	jmp    0x4165e8
416568:	3b df                	cmp    %edi,%ebx
41656a:	76 44                	jbe    0x4165b0
41656c:	3b d8                	cmp    %eax,%ebx
41656e:	75 40                	jne    0x4165b0
416570:	8b 46 04             	mov    0x4(%esi),%eax
416573:	3b c7                	cmp    %edi,%eax
416575:	75 05                	jne    0x41657c
416577:	b8 8c 98 42 00       	mov    $0x42988c,%eax
41657c:	80 78 ff fe          	cmpb   $0xfe,-0x1(%eax)
416580:	73 2e                	jae    0x4165b0
416582:	6a 01                	push   $0x1
416584:	8b cd                	mov    %ebp,%ecx
416586:	e8 7a 45 ff ff       	call   0x40ab05
41658b:	8b 46 04             	mov    0x4(%esi),%eax
41658e:	3b c7                	cmp    %edi,%eax
416590:	75 05                	jne    0x416597
416592:	b8 8c 98 42 00       	mov    $0x42988c,%eax
416597:	89 45 04             	mov    %eax,0x4(%ebp)
41659a:	8b 4e 08             	mov    0x8(%esi),%ecx
41659d:	89 4d 08             	mov    %ecx,0x8(%ebp)
4165a0:	8b 56 0c             	mov    0xc(%esi),%edx
4165a3:	89 55 0c             	mov    %edx,0xc(%ebp)
4165a6:	8a 48 ff             	mov    -0x1(%eax),%cl
4165a9:	fe c1                	inc    %cl
4165ab:	88 48 ff             	mov    %cl,-0x1(%eax)
4165ae:	eb 38                	jmp    0x4165e8
4165b0:	6a 01                	push   $0x1
4165b2:	53                   	push   %ebx
4165b3:	8b cd                	mov    %ebp,%ecx
4165b5:	e8 0c 44 ff ff       	call   0x40a9c6
4165ba:	84 c0                	test   %al,%al
4165bc:	74 2a                	je     0x4165e8
4165be:	8b 76 04             	mov    0x4(%esi),%esi
4165c1:	3b f7                	cmp    %edi,%esi
4165c3:	75 05                	jne    0x4165ca
4165c5:	be 8c 98 42 00       	mov    $0x42988c,%esi
4165ca:	8b 7d 04             	mov    0x4(%ebp),%edi
4165cd:	8b cb                	mov    %ebx,%ecx
4165cf:	8b c1                	mov    %ecx,%eax
4165d1:	c1 e9 02             	shr    $0x2,%ecx
4165d4:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4165d6:	8b c8                	mov    %eax,%ecx
4165d8:	83 e1 03             	and    $0x3,%ecx
4165db:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4165dd:	8b 45 04             	mov    0x4(%ebp),%eax
4165e0:	89 5d 08             	mov    %ebx,0x8(%ebp)
4165e3:	03 d8                	add    %eax,%ebx
4165e5:	c6 03 00             	movb   $0x0,(%ebx)
4165e8:	8b 44 24 10          	mov    0x10(%esp),%eax
4165ec:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4165f0:	5f                   	pop    %edi
4165f1:	5e                   	pop    %esi
4165f2:	c7 00 bc cb 42 00    	movl   $0x42cbbc,(%eax)
4165f8:	5d                   	pop    %ebp
4165f9:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
416600:	5b                   	pop    %ebx
416601:	83 c4 10             	add    $0x10,%esp
416604:	c2 04 00             	ret    $0x4
416607:	90                   	nop
416608:	90                   	nop
416609:	90                   	nop
41660a:	90                   	nop
41660b:	90                   	nop
41660c:	90                   	nop
41660d:	90                   	nop
41660e:	90                   	nop
41660f:	90                   	nop
416610:	83 ec 1c             	sub    $0x1c,%esp
416613:	51                   	push   %ecx
416614:	8d 4c 24 04          	lea    0x4(%esp),%ecx
416618:	e8 93 fe ff ff       	call   0x4164b0
41661d:	8d 44 24 00          	lea    0x0(%esp),%eax
416621:	68 18 0a 43 00       	push   $0x430a18
416626:	50                   	push   %eax
416627:	e8 44 5e ff ff       	call   0x40c470
41662c:	83 c4 1c             	add    $0x1c,%esp
41662f:	c3                   	ret
416630:	56                   	push   %esi
416631:	8b f1                	mov    %ecx,%esi
416633:	c7 06 bc cb 42 00    	movl   $0x42cbbc,(%esi)
416639:	8b 46 10             	mov    0x10(%esi),%eax
41663c:	85 c0                	test   %eax,%eax
41663e:	74 1d                	je     0x41665d
416640:	8d 48 ff             	lea    -0x1(%eax),%ecx
416643:	8a 40 ff             	mov    -0x1(%eax),%al
416646:	84 c0                	test   %al,%al
416648:	74 0a                	je     0x416654
41664a:	3c ff                	cmp    $0xff,%al
41664c:	74 06                	je     0x416654
41664e:	fe c8                	dec    %al
416650:	88 01                	mov    %al,(%ecx)
416652:	eb 09                	jmp    0x41665d
416654:	51                   	push   %ecx
416655:	e8 e3 66 00 00       	call   0x41cd3d
41665a:	83 c4 04             	add    $0x4,%esp
41665d:	8b ce                	mov    %esi,%ecx
41665f:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
416666:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
41666d:	c7 46 18 00 00 00 00 	movl   $0x0,0x18(%esi)
416674:	e8 87 20 00 00       	call   0x418700
416679:	5e                   	pop    %esi
41667a:	c3                   	ret
41667b:	90                   	nop
41667c:	90                   	nop
41667d:	90                   	nop
41667e:	90                   	nop
41667f:	90                   	nop
416680:	56                   	push   %esi
416681:	8b f1                	mov    %ecx,%esi
416683:	e8 a8 ff ff ff       	call   0x416630
416688:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
41668d:	74 09                	je     0x416698
41668f:	56                   	push   %esi
416690:	e8 a8 66 00 00       	call   0x41cd3d
416695:	83 c4 04             	add    $0x4,%esp
416698:	8b c6                	mov    %esi,%eax
41669a:	5e                   	pop    %esi
41669b:	c2 04 00             	ret    $0x4
41669e:	90                   	nop
41669f:	90                   	nop
4166a0:	83 ec 1c             	sub    $0x1c,%esp
4166a3:	51                   	push   %ecx
4166a4:	8d 4c 24 04          	lea    0x4(%esp),%ecx
4166a8:	e8 33 00 00 00       	call   0x4166e0
4166ad:	8d 44 24 00          	lea    0x0(%esp),%eax
4166b1:	68 a0 09 43 00       	push   $0x4309a0
4166b6:	50                   	push   %eax
4166b7:	e8 b4 5d ff ff       	call   0x40c470
4166bc:	83 c4 1c             	add    $0x1c,%esp
4166bf:	c3                   	ret
4166c0:	56                   	push   %esi
4166c1:	8b f1                	mov    %ecx,%esi
4166c3:	e8 68 ff ff ff       	call   0x416630
4166c8:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
4166cd:	74 09                	je     0x4166d8
4166cf:	56                   	push   %esi
4166d0:	e8 68 66 00 00       	call   0x41cd3d
4166d5:	83 c4 04             	add    $0x4,%esp
4166d8:	8b c6                	mov    %esi,%eax
4166da:	5e                   	pop    %esi
4166db:	c2 04 00             	ret    $0x4
4166de:	90                   	nop
4166df:	90                   	nop
4166e0:	6a ff                	push   $0xffffffff
4166e2:	68 28 80 42 00       	push   $0x428028
4166e7:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4166ed:	50                   	push   %eax
4166ee:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
4166f5:	51                   	push   %ecx
4166f6:	53                   	push   %ebx
4166f7:	55                   	push   %ebp
4166f8:	56                   	push   %esi
4166f9:	8b 74 24 20          	mov    0x20(%esp),%esi
4166fd:	57                   	push   %edi
4166fe:	8b d9                	mov    %ecx,%ebx
416700:	56                   	push   %esi
416701:	89 5c 24 14          	mov    %ebx,0x14(%esp)
416705:	e8 86 1f 00 00       	call   0x418690
41670a:	8a 46 0c             	mov    0xc(%esi),%al
41670d:	83 c6 0c             	add    $0xc,%esi
416710:	83 c3 0c             	add    $0xc,%ebx
416713:	33 ff                	xor    %edi,%edi
416715:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
416719:	88 03                	mov    %al,(%ebx)
41671b:	89 7b 04             	mov    %edi,0x4(%ebx)
41671e:	89 7b 08             	mov    %edi,0x8(%ebx)
416721:	89 7b 0c             	mov    %edi,0xc(%ebx)
416724:	8b 46 08             	mov    0x8(%esi),%eax
416727:	8b 0d 90 ca 42 00    	mov    0x42ca90,%ecx
41672d:	8b e8                	mov    %eax,%ebp
41672f:	3b cd                	cmp    %ebp,%ecx
416731:	73 02                	jae    0x416735
416733:	8b e9                	mov    %ecx,%ebp
416735:	3b de                	cmp    %esi,%ebx
416737:	75 5c                	jne    0x416795
416739:	3b ef                	cmp    %edi,%ebp
41673b:	8b f1                	mov    %ecx,%esi
41673d:	76 05                	jbe    0x416744
41673f:	e8 fc 00 00 00       	call   0x416840
416744:	8b cb                	mov    %ebx,%ecx
416746:	e8 c5 cd ff ff       	call   0x413510
41674b:	8b 43 08             	mov    0x8(%ebx),%eax
41674e:	2b c5                	sub    %ebp,%eax
416750:	3b c6                	cmp    %esi,%eax
416752:	73 02                	jae    0x416756
416754:	8b f0                	mov    %eax,%esi
416756:	3b f7                	cmp    %edi,%esi
416758:	76 32                	jbe    0x41678c
41675a:	8b 4b 04             	mov    0x4(%ebx),%ecx
41675d:	8d 54 35 00          	lea    0x0(%ebp,%esi,1),%edx
416761:	2b c6                	sub    %esi,%eax
416763:	03 d1                	add    %ecx,%edx
416765:	50                   	push   %eax
416766:	03 e9                	add    %ecx,%ebp
416768:	52                   	push   %edx
416769:	55                   	push   %ebp
41676a:	e8 31 68 ff ff       	call   0x40cfa0
41676f:	8b 6b 08             	mov    0x8(%ebx),%ebp
416772:	83 c4 0c             	add    $0xc,%esp
416775:	2b ee                	sub    %esi,%ebp
416777:	8b cb                	mov    %ebx,%ecx
416779:	57                   	push   %edi
41677a:	55                   	push   %ebp
41677b:	e8 46 42 ff ff       	call   0x40a9c6
416780:	84 c0                	test   %al,%al
416782:	74 08                	je     0x41678c
416784:	55                   	push   %ebp
416785:	8b cb                	mov    %ebx,%ecx
416787:	e8 64 cd ff ff       	call   0x4134f0
41678c:	8b cb                	mov    %ebx,%ecx
41678e:	e8 7d cd ff ff       	call   0x413510
416793:	eb 7d                	jmp    0x416812
416795:	3b ef                	cmp    %edi,%ebp
416797:	76 44                	jbe    0x4167dd
416799:	3b e8                	cmp    %eax,%ebp
41679b:	75 40                	jne    0x4167dd
41679d:	8b 46 04             	mov    0x4(%esi),%eax
4167a0:	3b c7                	cmp    %edi,%eax
4167a2:	75 05                	jne    0x4167a9
4167a4:	b8 8c 98 42 00       	mov    $0x42988c,%eax
4167a9:	80 78 ff fe          	cmpb   $0xfe,-0x1(%eax)
4167ad:	73 2e                	jae    0x4167dd
4167af:	6a 01                	push   $0x1
4167b1:	8b cb                	mov    %ebx,%ecx