420442:	57                   	push   %edi
420443:	e8 fe fd ff ff       	call   0x420246
420448:	8b f0                	mov    %eax,%esi
42044a:	5f                   	pop    %edi
42044b:	8b c6                	mov    %esi,%eax
42044d:	5e                   	pop    %esi
42044e:	5b                   	pop    %ebx
42044f:	8b e5                	mov    %ebp,%esp
420451:	5d                   	pop    %ebp
420452:	c2 08 00             	ret    $0x8
420455:	55                   	push   %ebp
420456:	8b ec                	mov    %esp,%ebp
420458:	53                   	push   %ebx
420459:	56                   	push   %esi
42045a:	8b 75 08             	mov    0x8(%ebp),%esi
42045d:	57                   	push   %edi
42045e:	83 7e 10 02          	cmpl   $0x2,0x10(%esi)
420462:	8b 5e 14             	mov    0x14(%esi),%ebx
420465:	75 07                	jne    0x42046e
420467:	ff 36                	push   (%esi)
420469:	e8 25 23 fe ff       	call   0x402793
42046e:	6a 06                	push   $0x6
420470:	59                   	pop    %ecx
420471:	33 c0                	xor    %eax,%eax
420473:	8b fe                	mov    %esi,%edi
420475:	f3 ab                	rep stos %eax,%es:(%edi)
420477:	8b 45 0c             	mov    0xc(%ebp),%eax
42047a:	53                   	push   %ebx
42047b:	89 06                	mov    %eax,(%esi)
42047d:	8b 45 10             	mov    0x10(%ebp),%eax
420480:	56                   	push   %esi
420481:	89 46 04             	mov    %eax,0x4(%esi)
420484:	c7 46 10 03 00 00 00 	movl   $0x3,0x10(%esi)
42048b:	e8 b6 fd ff ff       	call   0x420246
420490:	5f                   	pop    %edi
420491:	5e                   	pop    %esi
420492:	33 c0                	xor    %eax,%eax
420494:	5b                   	pop    %ebx
420495:	5d                   	pop    %ebp
420496:	c2 0c 00             	ret    $0xc
420499:	55                   	push   %ebp
42049a:	8b ec                	mov    %esp,%ebp
42049c:	56                   	push   %esi
42049d:	8b 75 08             	mov    0x8(%ebp),%esi
4204a0:	83 7e 10 02          	cmpl   $0x2,0x10(%esi)
4204a4:	75 07                	jne    0x4204ad
4204a6:	ff 36                	push   (%esi)
4204a8:	e8 e6 22 fe ff       	call   0x402793
4204ad:	6a 18                	push   $0x18
4204af:	58                   	pop    %eax
4204b0:	c6 06 00             	movb   $0x0,(%esi)
4204b3:	46                   	inc    %esi
4204b4:	83 e8 01             	sub    $0x1,%eax
4204b7:	75 f7                	jne    0x4204b0
4204b9:	5e                   	pop    %esi
4204ba:	5d                   	pop    %ebp
4204bb:	c2 04 00             	ret    $0x4
4204be:	55                   	push   %ebp
4204bf:	8b ec                	mov    %esp,%ebp
4204c1:	53                   	push   %ebx
4204c2:	56                   	push   %esi
4204c3:	8b 75 08             	mov    0x8(%ebp),%esi
4204c6:	57                   	push   %edi
4204c7:	6a 02                	push   $0x2
4204c9:	6a 10                	push   $0x10
4204cb:	ff 76 34             	push   0x34(%esi)
4204ce:	8d 5e 30             	lea    0x30(%esi),%ebx
4204d1:	53                   	push   %ebx
4204d2:	e8 1f 34 fe ff       	call   0x4038f6
4204d7:	8b f8                	mov    %eax,%edi
4204d9:	85 ff                	test   %edi,%edi
4204db:	79 0f                	jns    0x4204ec
4204dd:	68 88 ac 45 00       	push   $0x45ac88
4204e2:	57                   	push   %edi
4204e3:	e8 47 fc 01 00       	call   0x44012f
4204e8:	59                   	pop    %ecx
4204e9:	59                   	pop    %ecx
4204ea:	eb 25                	jmp    0x420511
4204ec:	8b 56 34             	mov    0x34(%esi),%edx
4204ef:	8b 0b                	mov    (%ebx),%ecx
4204f1:	03 d2                	add    %edx,%edx
4204f3:	8b 45 0c             	mov    0xc(%ebp),%eax
4204f6:	89 04 d1             	mov    %eax,(%ecx,%edx,8)
4204f9:	8b 56 34             	mov    0x34(%esi),%edx
4204fc:	8b 0b                	mov    (%ebx),%ecx
4204fe:	03 d2                	add    %edx,%edx
420500:	8b 45 10             	mov    0x10(%ebp),%eax
420503:	89 44 d1 08          	mov    %eax,0x8(%ecx,%edx,8)
420507:	8b 45 14             	mov    0x14(%ebp),%eax
42050a:	89 44 d1 0c          	mov    %eax,0xc(%ecx,%edx,8)
42050e:	ff 46 34             	incl   0x34(%esi)
420511:	8b c7                	mov    %edi,%eax
420513:	5f                   	pop    %edi
420514:	5e                   	pop    %esi
420515:	5b                   	pop    %ebx
420516:	5d                   	pop    %ebp
420517:	c2 10 00             	ret    $0x10
42051a:	55                   	push   %ebp
42051b:	8b ec                	mov    %esp,%ebp
42051d:	56                   	push   %esi
42051e:	8b 75 08             	mov    0x8(%ebp),%esi
420521:	ff 76 24             	push   0x24(%esi)
420524:	ff 15 28 b2 44 00    	call   *0x44b228
42052a:	85 c0                	test   %eax,%eax
42052c:	75 3d                	jne    0x42056b
42052e:	ff 15 e8 b0 44 00    	call   *0x44b0e8
420534:	0f b7 f0             	movzwl %ax,%esi
420537:	81 ce 00 00 07 80    	or     $0x80070000,%esi
42053d:	85 c0                	test   %eax,%eax
42053f:	0f 4e f0             	cmovle %eax,%esi
420542:	b8 05 40 00 80       	mov    $0x80004005,%eax
420547:	85 f6                	test   %esi,%esi
420549:	0f 49 f0             	cmovns %eax,%esi
42054c:	56                   	push   %esi
42054d:	68 25 01 00 00       	push   $0x125
420552:	68 b8 a7 45 00       	push   $0x45a7b8
420557:	e8 77 32 fe ff       	call   0x4037d3
42055c:	68 90 a8 45 00       	push   $0x45a890
420561:	56                   	push   %esi
420562:	e8 c8 fb 01 00       	call   0x44012f
420567:	59                   	pop    %ecx
420568:	59                   	pop    %ecx
420569:	eb 08                	jmp    0x420573
42056b:	56                   	push   %esi
42056c:	e8 b3 0c 00 00       	call   0x421224
420571:	8b f0                	mov    %eax,%esi
420573:	8b c6                	mov    %esi,%eax
420575:	5e                   	pop    %esi
420576:	5d                   	pop    %ebp
420577:	c2 04 00             	ret    $0x4
42057a:	55                   	push   %ebp
42057b:	8b ec                	mov    %esp,%ebp
42057d:	6a 00                	push   $0x0
42057f:	ff 75 08             	push   0x8(%ebp)
420582:	e8 4d 33 fe ff       	call   0x4038d4
420587:	5d                   	pop    %ebp
420588:	c3                   	ret
420589:	55                   	push   %ebp
42058a:	8b ec                	mov    %esp,%ebp
42058c:	8b 0d c0 aa 46 00    	mov    0x46aac0,%ecx
420592:	64 a1 2c 00 00 00    	mov    %fs:0x2c,%eax
420598:	ff 75 08             	push   0x8(%ebp)
42059b:	8b 04 88             	mov    (%eax,%ecx,4),%eax
42059e:	8b 80 04 00 00 00    	mov    0x4(%eax),%eax
4205a4:	83 c0 1c             	add    $0x1c,%eax
4205a7:	50                   	push   %eax
4205a8:	e8 7a 0b 00 00       	call   0x421127
4205ad:	85 c0                	test   %eax,%eax
4205af:	74 0b                	je     0x4205bc
4205b1:	83 08 ff             	orl    $0xffffffff,(%eax)
4205b4:	83 60 08 00          	andl   $0x0,0x8(%eax)
4205b8:	83 60 0c 00          	andl   $0x0,0xc(%eax)
4205bc:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
4205c0:	74 09                	je     0x4205cb
4205c2:	ff 75 08             	push   0x8(%ebp)
4205c5:	ff 15 d4 b0 44 00    	call   *0x44b0d4
4205cb:	33 c0                	xor    %eax,%eax
4205cd:	5d                   	pop    %ebp
4205ce:	c3                   	ret
4205cf:	55                   	push   %ebp
4205d0:	8b ec                	mov    %esp,%ebp
4205d2:	ff 75 08             	push   0x8(%ebp)
4205d5:	e8 bf 33 fe ff       	call   0x403999
4205da:	5d                   	pop    %ebp
4205db:	c3                   	ret
4205dc:	55                   	push   %ebp
4205dd:	8b ec                	mov    %esp,%ebp
4205df:	8b 0d c0 aa 46 00    	mov    0x46aac0,%ecx
4205e5:	64 a1 2c 00 00 00    	mov    %fs:0x2c,%eax
4205eb:	8b 04 88             	mov    (%eax,%ecx,4),%eax
4205ee:	33 c9                	xor    %ecx,%ecx
4205f0:	8b 90 04 00 00 00    	mov    0x4(%eax),%edx
4205f6:	8b 45 08             	mov    0x8(%ebp),%eax
4205f9:	83 e8 01             	sub    $0x1,%eax
4205fc:	74 25                	je     0x420623
4205fe:	83 e8 01             	sub    $0x1,%eax
420601:	74 15                	je     0x420618
420603:	83 e8 01             	sub    $0x1,%eax
420606:	74 05                	je     0x42060d
420608:	83 e8 01             	sub    $0x1,%eax
42060b:	eb 16                	jmp    0x420623
42060d:	ff 75 0c             	push   0xc(%ebp)
420610:	52                   	push   %edx
420611:	e8 a2 03 00 00       	call   0x4209b8
420616:	eb 09                	jmp    0x420621
420618:	ff 75 0c             	push   0xc(%ebp)
42061b:	52                   	push   %edx
42061c:	e8 56 04 00 00       	call   0x420a77
420621:	8b c8                	mov    %eax,%ecx
420623:	8b c1                	mov    %ecx,%eax
420625:	5d                   	pop    %ebp
420626:	c3                   	ret
420627:	55                   	push   %ebp
420628:	8b ec                	mov    %esp,%ebp
42062a:	51                   	push   %ecx
42062b:	8b 0d c0 aa 46 00    	mov    0x46aac0,%ecx
420631:	64 a1 2c 00 00 00    	mov    %fs:0x2c,%eax
420637:	53                   	push   %ebx
420638:	56                   	push   %esi
420639:	57                   	push   %edi
42063a:	8b 04 88             	mov    (%eax,%ecx,4),%eax
42063d:	83 cb ff             	or     $0xffffffff,%ebx
420640:	53                   	push   %ebx
420641:	ff 75 08             	push   0x8(%ebp)
420644:	33 f6                	xor    %esi,%esi
420646:	89 5d fc             	mov    %ebx,-0x4(%ebp)
420649:	8b b8 04 00 00 00    	mov    0x4(%eax),%edi
42064f:	53                   	push   %ebx
420650:	68 90 a7 45 00       	push   $0x45a790
420655:	56                   	push   %esi
420656:	56                   	push   %esi
420657:	ff 15 4c b2 44 00    	call   *0x44b24c
42065d:	83 f8 02             	cmp    $0x2,%eax
420660:	75 7b                	jne    0x4206dd
420662:	50                   	push   %eax
420663:	56                   	push   %esi
420664:	56                   	push   %esi
420665:	8b 35 80 b1 44 00    	mov    0x44b180,%esi
42066b:	8d 45 fc             	lea    -0x4(%ebp),%eax
42066e:	50                   	push   %eax
42066f:	ff d6                	call   *%esi
420671:	50                   	push   %eax
420672:	ff 37                	push   (%edi)
420674:	ff d6                	call   *%esi
420676:	50                   	push   %eax
420677:	ff 15 f4 b1 44 00    	call   *0x44b1f4
42067d:	85 c0                	test   %eax,%eax
42067f:	75 3d                	jne    0x4206be
420681:	ff 15 e8 b0 44 00    	call   *0x44b0e8
420687:	0f b7 f0             	movzwl %ax,%esi
42068a:	81 ce 00 00 07 80    	or     $0x80070000,%esi
420690:	85 c0                	test   %eax,%eax
420692:	0f 4e f0             	cmovle %eax,%esi
420695:	b8 05 40 00 80       	mov    $0x80004005,%eax
42069a:	85 f6                	test   %esi,%esi
42069c:	0f 49 f0             	cmovns %eax,%esi
42069f:	56                   	push   %esi
4206a0:	68 ca 02 00 00       	push   $0x2ca
4206a5:	68 b8 a7 45 00       	push   $0x45a7b8
4206aa:	e8 24 31 fe ff       	call   0x4037d3
4206af:	68 48 ab 45 00       	push   $0x45ab48
4206b4:	56                   	push   %esi
4206b5:	e8 75 fa 01 00       	call   0x44012f
4206ba:	59                   	pop    %ecx
4206bb:	59                   	pop    %ecx
4206bc:	eb 7e                	jmp    0x42073c
4206be:	ff 77 0c             	push   0xc(%edi)
4206c1:	8d 47 1c             	lea    0x1c(%edi),%eax
4206c4:	ff 77 08             	push   0x8(%edi)
4206c7:	ff 75 fc             	push   -0x4(%ebp)
4206ca:	50                   	push   %eax
4206cb:	e8 ee fd ff ff       	call   0x4204be
4206d0:	8b f0                	mov    %eax,%esi
4206d2:	85 f6                	test   %esi,%esi
4206d4:	79 66                	jns    0x42073c
4206d6:	68 78 ab 45 00       	push   $0x45ab78
4206db:	eb d7                	jmp    0x4206b4
4206dd:	56                   	push   %esi
4206de:	68 80 00 00 08       	push   $0x8000080
4206e3:	6a 03                	push   $0x3
4206e5:	56                   	push   %esi
4206e6:	6a 01                	push   $0x1
4206e8:	68 00 00 00 80       	push   $0x80000000
4206ed:	ff 75 08             	push   0x8(%ebp)
4206f0:	ff 15 40 b1 44 00    	call   *0x44b140
4206f6:	89 45 fc             	mov    %eax,-0x4(%ebp)
4206f9:	3b c3                	cmp    %ebx,%eax
4206fb:	75 3f                	jne    0x42073c
4206fd:	ff 15 e8 b0 44 00    	call   *0x44b0e8
420703:	0f b7 f0             	movzwl %ax,%esi
420706:	81 ce 00 00 07 80    	or     $0x80070000,%esi
42070c:	85 c0                	test   %eax,%eax
42070e:	0f 4e f0             	cmovle %eax,%esi
420711:	b8 05 40 00 80       	mov    $0x80004005,%eax
420716:	85 f6                	test   %esi,%esi
420718:	0f 49 f0             	cmovns %eax,%esi
42071b:	56                   	push   %esi
42071c:	68 d5 02 00 00       	push   $0x2d5
420721:	68 b8 a7 45 00       	push   $0x45a7b8
420726:	e8 a8 30 fe ff       	call   0x4037d3
42072b:	ff 75 08             	push   0x8(%ebp)
42072e:	68 b0 ab 45 00       	push   $0x45abb0
420733:	56                   	push   %esi
420734:	e8 f6 f9 01 00       	call   0x44012f
420739:	83 c4 0c             	add    $0xc,%esp
42073c:	89 77 30             	mov    %esi,0x30(%edi)
42073f:	85 f6                	test   %esi,%esi
420741:	8b 45 fc             	mov    -0x4(%ebp),%eax
420744:	5f                   	pop    %edi
420745:	5e                   	pop    %esi
420746:	0f 48 c3             	cmovs  %ebx,%eax
420749:	5b                   	pop    %ebx
42074a:	8b e5                	mov    %ebp,%esp
42074c:	5d                   	pop    %ebp
42074d:	c3                   	ret
42074e:	55                   	push   %ebp
42074f:	8b ec                	mov    %esp,%ebp
420751:	51                   	push   %ecx
420752:	8b 0d c0 aa 46 00    	mov    0x46aac0,%ecx
420758:	64 a1 2c 00 00 00    	mov    %fs:0x2c,%eax
42075e:	56                   	push   %esi
42075f:	57                   	push   %edi
420760:	ff 75 10             	push   0x10(%ebp)
420763:	8b 04 88             	mov    (%eax,%ecx,4),%eax
420766:	33 f6                	xor    %esi,%esi
420768:	ff 75 08             	push   0x8(%ebp)
42076b:	89 75 fc             	mov    %esi,-0x4(%ebp)
42076e:	8b b8 04 00 00 00    	mov    0x4(%eax),%edi
420774:	8d 47 1c             	lea    0x1c(%edi),%eax
420777:	50                   	push   %eax
420778:	e8 d2 09 00 00       	call   0x42114f
42077d:	56                   	push   %esi
42077e:	8d 45 fc             	lea    -0x4(%ebp),%eax
420781:	50                   	push   %eax
420782:	ff 75 10             	push   0x10(%ebp)
420785:	ff 75 0c             	push   0xc(%ebp)
420788:	ff 75 08             	push   0x8(%ebp)
42078b:	ff 15 ec b1 44 00    	call   *0x44b1ec
420791:	85 c0                	test   %eax,%eax
420793:	75 3b                	jne    0x4207d0
420795:	ff 15 e8 b0 44 00    	call   *0x44b0e8
42079b:	0f b7 f0             	movzwl %ax,%esi
42079e:	81 ce 00 00 07 80    	or     $0x80070000,%esi
4207a4:	85 c0                	test   %eax,%eax
4207a6:	0f 4e f0             	cmovle %eax,%esi
4207a9:	b8 05 40 00 80       	mov    $0x80004005,%eax
4207ae:	85 f6                	test   %esi,%esi
4207b0:	0f 49 f0             	cmovns %eax,%esi
4207b3:	56                   	push   %esi
4207b4:	68 ec 02 00 00       	push   $0x2ec
4207b9:	68 b8 a7 45 00       	push   $0x45a7b8
4207be:	e8 10 30 fe ff       	call   0x4037d3
4207c3:	68 d4 ab 45 00       	push   $0x45abd4
4207c8:	56                   	push   %esi
4207c9:	e8 61 f9 01 00       	call   0x44012f
4207ce:	59                   	pop    %ecx
4207cf:	59                   	pop    %ecx
4207d0:	89 77 30             	mov    %esi,0x30(%edi)
4207d3:	83 c9 ff             	or     $0xffffffff,%ecx
4207d6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4207d9:	85 f6                	test   %esi,%esi
4207db:	5f                   	pop    %edi
4207dc:	0f 48 c1             	cmovs  %ecx,%eax
4207df:	5e                   	pop    %esi
4207e0:	8b e5                	mov    %ebp,%esp
4207e2:	5d                   	pop    %ebp
4207e3:	c3                   	ret
4207e4:	55                   	push   %ebp
4207e5:	8b ec                	mov    %esp,%ebp
4207e7:	83 ec 0c             	sub    $0xc,%esp