409512:	55                   	push   %ebp
409513:	8b ec                	mov    %esp,%ebp
409515:	83 ec 40             	sub    $0x40,%esp
409518:	33 c0                	xor    %eax,%eax
40951a:	53                   	push   %ebx
40951b:	56                   	push   %esi
40951c:	57                   	push   %edi
40951d:	6a 06                	push   $0x6
40951f:	59                   	pop    %ecx
409520:	8d 7d d8             	lea    -0x28(%ebp),%edi
409523:	f3 ab                	rep stos %eax,%es:(%edi)
409525:	6a 06                	push   $0x6
409527:	59                   	pop    %ecx
409528:	8d 7d c0             	lea    -0x40(%ebp),%edi
40952b:	f3 ab                	rep stos %eax,%es:(%edi)
40952d:	8b 7d 08             	mov    0x8(%ebp),%edi
409530:	83 7f 10 0e          	cmpl   $0xe,0x10(%edi)
409534:	75 50                	jne    0x409586
409536:	57                   	push   %edi
409537:	e8 0c f9 ff ff       	call   0x408e48
40953c:	8b f0                	mov    %eax,%esi
40953e:	85 f6                	test   %esi,%esi
409540:	79 12                	jns    0x409554
409542:	68 70 db 44 00       	push   $0x44db70
409547:	56                   	push   %esi
409548:	e8 e2 6b 03 00       	call   0x44012f
40954d:	59                   	pop    %ecx
40954e:	59                   	pop    %ecx
40954f:	e9 83 01 00 00       	jmp    0x4096d7
409554:	ff 75 0c             	push   0xc(%ebp)
409557:	57                   	push   %edi
409558:	e8 2c ff ff ff       	call   0x409489
40955d:	8b f0                	mov    %eax,%esi
40955f:	85 f6                	test   %esi,%esi
409561:	79 07                	jns    0x40956a
409563:	68 8c db 44 00       	push   $0x44db8c
409568:	eb dd                	jmp    0x409547
40956a:	6a 0f                	push   $0xf
40956c:	57                   	push   %edi
40956d:	e8 73 f8 ff ff       	call   0x408de5
409572:	8b f0                	mov    %eax,%esi
409574:	85 f6                	test   %esi,%esi
409576:	79 07                	jns    0x40957f
409578:	68 ec dc 44 00       	push   $0x44dcec
40957d:	eb c8                	jmp    0x409547
40957f:	33 f6                	xor    %esi,%esi
409581:	e9 51 01 00 00       	jmp    0x4096d7
409586:	8d 45 d8             	lea    -0x28(%ebp),%eax
409589:	50                   	push   %eax
40958a:	57                   	push   %edi
40958b:	e8 64 01 00 00       	call   0x4096f4
409590:	8b f0                	mov    %eax,%esi
409592:	85 f6                	test   %esi,%esi
409594:	79 07                	jns    0x40959d
409596:	68 10 dd 44 00       	push   $0x44dd10
40959b:	eb aa                	jmp    0x409547
40959d:	8b 5f 10             	mov    0x10(%edi),%ebx
4095a0:	f7 c3 00 00 01 00    	test   $0x10000,%ebx
4095a6:	74 53                	je     0x4095fb
4095a8:	57                   	push   %edi
4095a9:	e8 9a f8 ff ff       	call   0x408e48
4095ae:	8b f0                	mov    %eax,%esi
4095b0:	85 f6                	test   %esi,%esi
4095b2:	78 8e                	js     0x409542
4095b4:	8d 45 c0             	lea    -0x40(%ebp),%eax
4095b7:	50                   	push   %eax
4095b8:	57                   	push   %edi
4095b9:	e8 36 01 00 00       	call   0x4096f4
4095be:	8b f0                	mov    %eax,%esi
4095c0:	85 f6                	test   %esi,%esi
4095c2:	78 d2                	js     0x409596
4095c4:	ff 75 0c             	push   0xc(%ebp)
4095c7:	8d 75 c0             	lea    -0x40(%ebp),%esi
4095ca:	83 ec 18             	sub    $0x18,%esp
4095cd:	6a 06                	push   $0x6
4095cf:	59                   	pop    %ecx
4095d0:	8b fc                	mov    %esp,%edi
4095d2:	83 ec 18             	sub    $0x18,%esp
4095d5:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4095d7:	6a 06                	push   $0x6
4095d9:	59                   	pop    %ecx
4095da:	8b fc                	mov    %esp,%edi
4095dc:	8d 75 d8             	lea    -0x28(%ebp),%esi
4095df:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4095e1:	53                   	push   %ebx
4095e2:	e8 2c f4 ff ff       	call   0x408a13
4095e7:	8b f0                	mov    %eax,%esi
4095e9:	85 f6                	test   %esi,%esi
4095eb:	0f 89 e6 00 00 00    	jns    0x4096d7
4095f1:	68 28 dd 44 00       	push   $0x44dd28
4095f6:	e9 4c ff ff ff       	jmp    0x409547
4095fb:	8b 45 e8             	mov    -0x18(%ebp),%eax
4095fe:	33 db                	xor    %ebx,%ebx
409600:	89 5d 08             	mov    %ebx,0x8(%ebp)
409603:	0f 57 c0             	xorps  %xmm0,%xmm0
409606:	66 0f 13 45 f8       	movlpd %xmm0,-0x8(%ebp)
40960b:	66 0f 13 45 f0       	movlpd %xmm0,-0x10(%ebp)
409610:	2b c3                	sub    %ebx,%eax
409612:	0f 84 ba 00 00 00    	je     0x4096d2
409618:	83 e8 01             	sub    $0x1,%eax
40961b:	74 7c                	je     0x409699
40961d:	83 e8 01             	sub    $0x1,%eax
409620:	74 48                	je     0x40966a
409622:	83 e8 01             	sub    $0x1,%eax
409625:	74 0a                	je     0x409631
409627:	be ff ff 00 80       	mov    $0x8000ffff,%esi
40962c:	e9 a6 00 00 00       	jmp    0x4096d7
409631:	8d 45 f0             	lea    -0x10(%ebp),%eax
409634:	50                   	push   %eax
409635:	8d 45 d8             	lea    -0x28(%ebp),%eax
409638:	50                   	push   %eax
409639:	e8 92 6b 01 00       	call   0x4201d0
40963e:	8b f0                	mov    %eax,%esi
409640:	85 f6                	test   %esi,%esi
409642:	78 16                	js     0x40965a
409644:	39 5d f0             	cmp    %ebx,-0x10(%ebp)
409647:	75 09                	jne    0x409652
409649:	39 5d f4             	cmp    %ebx,-0xc(%ebp)
40964c:	75 04                	jne    0x409652
40964e:	8b cb                	mov    %ebx,%ecx
409650:	eb 03                	jmp    0x409655
409652:	33 c9                	xor    %ecx,%ecx
409654:	41                   	inc    %ecx
409655:	8b 45 0c             	mov    0xc(%ebp),%eax
409658:	89 08                	mov    %ecx,(%eax)
40965a:	6a 08                	push   $0x8
40965c:	59                   	pop    %ecx
40965d:	8d 45 f8             	lea    -0x8(%ebp),%eax
409660:	88 18                	mov    %bl,(%eax)
409662:	40                   	inc    %eax
409663:	83 e9 01             	sub    $0x1,%ecx
409666:	75 f8                	jne    0x409660
409668:	eb 6d                	jmp    0x4096d7
40966a:	8d 45 08             	lea    0x8(%ebp),%eax
40966d:	50                   	push   %eax
40966e:	8d 45 d8             	lea    -0x28(%ebp),%eax
409671:	50                   	push   %eax
409672:	e8 69 6a 01 00       	call   0x4200e0
409677:	8b 4d 08             	mov    0x8(%ebp),%ecx
40967a:	8b f0                	mov    %eax,%esi
40967c:	85 f6                	test   %esi,%esi
40967e:	78 11                	js     0x409691
409680:	85 c9                	test   %ecx,%ecx
409682:	74 08                	je     0x40968c
409684:	66 39 19             	cmp    %bx,(%ecx)
409687:	74 03                	je     0x40968c
409689:	33 db                	xor    %ebx,%ebx
40968b:	43                   	inc    %ebx
40968c:	8b 45 0c             	mov    0xc(%ebp),%eax
40968f:	89 18                	mov    %ebx,(%eax)
409691:	51                   	push   %ecx
409692:	e8 fc 90 ff ff       	call   0x402793
409697:	eb 3e                	jmp    0x4096d7
409699:	8d 45 f8             	lea    -0x8(%ebp),%eax
40969c:	50                   	push   %eax
40969d:	8d 45 d8             	lea    -0x28(%ebp),%eax
4096a0:	50                   	push   %eax
4096a1:	e8 c4 69 01 00       	call   0x42006a
4096a6:	8b f0                	mov    %eax,%esi
4096a8:	85 f6                	test   %esi,%esi
4096aa:	78 16                	js     0x4096c2
4096ac:	39 5d f8             	cmp    %ebx,-0x8(%ebp)
4096af:	75 09                	jne    0x4096ba
4096b1:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
4096b4:	75 04                	jne    0x4096ba
4096b6:	8b cb                	mov    %ebx,%ecx
4096b8:	eb 03                	jmp    0x4096bd
4096ba:	33 c9                	xor    %ecx,%ecx
4096bc:	41                   	inc    %ecx
4096bd:	8b 45 0c             	mov    0xc(%ebp),%eax
4096c0:	89 08                	mov    %ecx,(%eax)
4096c2:	6a 08                	push   $0x8
4096c4:	59                   	pop    %ecx
4096c5:	8d 45 f8             	lea    -0x8(%ebp),%eax
4096c8:	88 18                	mov    %bl,(%eax)
4096ca:	40                   	inc    %eax
4096cb:	83 e9 01             	sub    $0x1,%ecx
4096ce:	75 f8                	jne    0x4096c8
4096d0:	eb 05                	jmp    0x4096d7
4096d2:	8b 45 0c             	mov    0xc(%ebp),%eax
4096d5:	89 18                	mov    %ebx,(%eax)
4096d7:	8d 45 d8             	lea    -0x28(%ebp),%eax
4096da:	50                   	push   %eax
4096db:	e8 b9 6d 01 00       	call   0x420499
4096e0:	8d 45 c0             	lea    -0x40(%ebp),%eax
4096e3:	50                   	push   %eax
4096e4:	e8 b0 6d 01 00       	call   0x420499
4096e9:	5f                   	pop    %edi
4096ea:	8b c6                	mov    %esi,%eax
4096ec:	5e                   	pop    %esi
4096ed:	5b                   	pop    %ebx
4096ee:	8b e5                	mov    %ebp,%esp
4096f0:	5d                   	pop    %ebp
4096f1:	c2 08 00             	ret    $0x8
4096f4:	55                   	push   %ebp
4096f5:	8b ec                	mov    %esp,%ebp
4096f7:	53                   	push   %ebx
4096f8:	8b 5d 08             	mov    0x8(%ebp),%ebx
4096fb:	56                   	push   %esi
4096fc:	8b 43 10             	mov    0x10(%ebx),%eax
4096ff:	83 e8 10             	sub    $0x10,%eax
409702:	74 73                	je     0x409777
409704:	83 e8 01             	sub    $0x1,%eax
409707:	74 3c                	je     0x409745
409709:	83 e8 01             	sub    $0x1,%eax
40970c:	74 69                	je     0x409777
40970e:	83 e8 01             	sub    $0x1,%eax
409711:	74 64                	je     0x409777
409713:	be 0d 00 07 80       	mov    $0x8007000d,%esi
409718:	c7 43 30 01 00 00 00 	movl   $0x1,0x30(%ebx)
40971f:	56                   	push   %esi
409720:	68 c7 01 00 00       	push   $0x1c7
409725:	68 44 dd 44 00       	push   $0x44dd44
40972a:	e8 a4 a0 ff ff       	call   0x4037d3
40972f:	ff 73 14             	push   0x14(%ebx)
409732:	ff 73 04             	push   0x4(%ebx)
409735:	68 70 dd 44 00       	push   $0x44dd70
40973a:	56                   	push   %esi
40973b:	e8 ef 69 03 00       	call   0x44012f
409740:	83 c4 10             	add    $0x10,%esp
409743:	eb 67                	jmp    0x4097ac
409745:	ff 75 0c             	push   0xc(%ebp)
409748:	ff 73 18             	push   0x18(%ebx)
40974b:	ff 33                	push   (%ebx)
40974d:	e8 be dc ff ff       	call   0x407410
409752:	8b f0                	mov    %eax,%esi
409754:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
40975a:	74 37                	je     0x409793
40975c:	85 f6                	test   %esi,%esi
40975e:	79 33                	jns    0x409793
409760:	56                   	push   %esi
409761:	68 b8 01 00 00       	push   $0x1b8
409766:	68 44 dd 44 00       	push   $0x44dd44
40976b:	e8 63 a0 ff ff       	call   0x4037d3
409770:	68 54 dd 44 00       	push   $0x44dd54
409775:	eb 2d                	jmp    0x4097a4
409777:	57                   	push   %edi
409778:	6a 18                	push   $0x18
40977a:	8d 7b 18             	lea    0x18(%ebx),%edi
40977d:	57                   	push   %edi
40977e:	6a 18                	push   $0x18
409780:	ff 75 0c             	push   0xc(%ebp)
409783:	e8 dc 7e 01 00       	call   0x421664
409788:	83 c4 10             	add    $0x10,%esp
40978b:	33 c0                	xor    %eax,%eax
40978d:	6a 06                	push   $0x6
40978f:	59                   	pop    %ecx
409790:	f3 ab                	rep stos %eax,%es:(%edi)
409792:	5f                   	pop    %edi
409793:	53                   	push   %ebx
409794:	e8 af f6 ff ff       	call   0x408e48
409799:	8b f0                	mov    %eax,%esi
40979b:	85 f6                	test   %esi,%esi
40979d:	79 0d                	jns    0x4097ac
40979f:	68 70 db 44 00       	push   $0x44db70
4097a4:	56                   	push   %esi
4097a5:	e8 85 69 03 00       	call   0x44012f
4097aa:	59                   	pop    %ecx
4097ab:	59                   	pop    %ecx
4097ac:	8b c6                	mov    %esi,%eax
4097ae:	5e                   	pop    %esi
4097af:	5b                   	pop    %ebx
4097b0:	5d                   	pop    %ebp
4097b1:	c2 08 00             	ret    $0x8
4097b4:	55                   	push   %ebp
4097b5:	8b ec                	mov    %esp,%ebp
4097b7:	83 ec 3c             	sub    $0x3c,%esp
4097ba:	53                   	push   %ebx
4097bb:	56                   	push   %esi
4097bc:	57                   	push   %edi
4097bd:	6a 38                	push   $0x38
4097bf:	33 db                	xor    %ebx,%ebx
4097c1:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4097c4:	53                   	push   %ebx
4097c5:	50                   	push   %eax
4097c6:	e8 a5 5e 02 00       	call   0x42f670
4097cb:	8b 45 08             	mov    0x8(%ebp),%eax
4097ce:	83 c4 0c             	add    $0xc,%esp
4097d1:	8b 7d 0c             	mov    0xc(%ebp),%edi
4097d4:	89 45 c4             	mov    %eax,-0x3c(%ebp)
4097d7:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4097da:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4097dd:	50                   	push   %eax
4097de:	89 7d c8             	mov    %edi,-0x38(%ebp)
4097e1:	89 7d cc             	mov    %edi,-0x34(%ebp)
4097e4:	e8 5f f6 ff ff       	call   0x408e48
4097e9:	8b f0                	mov    %eax,%esi
4097eb:	85 f6                	test   %esi,%esi
4097ed:	79 0f                	jns    0x4097fe
4097ef:	68 70 db 44 00       	push   $0x44db70
4097f4:	56                   	push   %esi
4097f5:	e8 35 69 03 00       	call   0x44012f
4097fa:	59                   	pop    %ecx
4097fb:	59                   	pop    %ecx
4097fc:	eb 53                	jmp    0x409851
4097fe:	8d 45 fc             	lea    -0x4(%ebp),%eax
409801:	50                   	push   %eax
409802:	8d 45 c4             	lea    -0x3c(%ebp),%eax
409805:	50                   	push   %eax
409806:	e8 7e fc ff ff       	call   0x409489
40980b:	8b f0                	mov    %eax,%esi
40980d:	85 f6                	test   %esi,%esi
40980f:	79 07                	jns    0x409818
409811:	68 8c db 44 00       	push   $0x44db8c
409816:	eb dc                	jmp    0x4097f4
409818:	6a 01                	push   $0x1
40981a:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40981d:	50                   	push   %eax
40981e:	e8 c2 f5 ff ff       	call   0x408de5
409823:	8b f0                	mov    %eax,%esi
409825:	85 f6                	test   %esi,%esi
409827:	79 07                	jns    0x409830
409829:	68 a8 db 44 00       	push   $0x44dba8
40982e:	eb c4                	jmp    0x4097f4
409830:	8b 75 fc             	mov    -0x4(%ebp),%esi
409833:	56                   	push   %esi
409834:	e8 a9 ab 00 00       	call   0x4143e2
409839:	50                   	push   %eax
40983a:	57                   	push   %edi
40983b:	68 34 00 00 20       	push   $0x20000034
409840:	6a 03                	push   $0x3
409842:	e8 c8 bc ff ff       	call   0x40550f
409847:	8b 45 10             	mov    0x10(%ebp),%eax
40984a:	83 c4 10             	add    $0x10,%esp
40984d:	89 30                	mov    %esi,(%eax)
40984f:	8b f3                	mov    %ebx,%esi
409851:	39 5d f4             	cmp    %ebx,-0xc(%ebp)
409854:	74 0f                	je     0x409865
409856:	53                   	push   %ebx
409857:	53                   	push   %ebx
409858:	57                   	push   %edi
409859:	53                   	push   %ebx
40985a:	68 33 00 00 e0       	push   $0xe0000033
40985f:	56                   	push   %esi
409860:	e8 6a 68 03 00       	call   0x4400cf
409865:	5f                   	pop    %edi
409866:	8b c6                	mov    %esi,%eax
409868:	5e                   	pop    %esi
409869:	5b                   	pop    %ebx
40986a:	8b e5                	mov    %ebp,%esp
40986c:	5d                   	pop    %ebp
40986d:	c2 0c 00             	ret    $0xc
409870:	55                   	push   %ebp
409871:	8b ec                	mov    %esp,%ebp
409873:	83 ec 0c             	sub    $0xc,%esp
409876:	56                   	push   %esi
409877:	57                   	push   %edi
409878:	8d 45 f4             	lea    -0xc(%ebp),%eax
40987b:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
409882:	50                   	push   %eax