418509:	59                   	pop    %ecx
41850a:	e9 1a c4 fe ff       	jmp    0x404929
41850f:	56                   	push   %esi
418510:	6a 2e                	push   $0x2e
418512:	5a                   	pop    %edx
418513:	e8 dd 7c ff ff       	call   0x4101f5
418518:	8b f0                	mov    %eax,%esi
41851a:	85 f6                	test   %esi,%esi
41851c:	74 13                	je     0x418531
41851e:	6a 20                	push   $0x20
418520:	5a                   	pop    %edx
418521:	8b ce                	mov    %esi,%ecx
418523:	e8 07 21 ff ff       	call   0x40a62f
418528:	85 c0                	test   %eax,%eax
41852a:	74 05                	je     0x418531
41852c:	33 c0                	xor    %eax,%eax
41852e:	66 89 06             	mov    %ax,(%esi)
418531:	5e                   	pop    %esi
418532:	e9 54 c4 fe ff       	jmp    0x40498b
418537:	33 c9                	xor    %ecx,%ecx
418539:	41                   	inc    %ecx
41853a:	e8 d2 14 ff ff       	call   0x409a11
41853f:	8b 73 10             	mov    0x10(%ebx),%esi
418542:	85 c0                	test   %eax,%eax
418544:	0f 84 db 00 00 00    	je     0x418625
41854a:	8b 43 08             	mov    0x8(%ebx),%eax
41854d:	8d 04 46             	lea    (%esi,%eax,2),%eax
418550:	89 45 f8             	mov    %eax,-0x8(%ebp)
418553:	3b f0                	cmp    %eax,%esi
418555:	0f 83 4b c4 fe ff    	jae    0x4049a6
41855b:	b9 22 20 00 00       	mov    $0x2022,%ecx
418560:	8b fe                	mov    %esi,%edi
418562:	3b f0                	cmp    %eax,%esi
418564:	0f 83 3c c4 fe ff    	jae    0x4049a6
41856a:	66 39 0f             	cmp    %cx,(%edi)
41856d:	74 07                	je     0x418576
41856f:	83 c7 02             	add    $0x2,%edi
418572:	3b f8                	cmp    %eax,%edi
418574:	72 f4                	jb     0x41856a
418576:	3b fe                	cmp    %esi,%edi
418578:	74 49                	je     0x4185c3
41857a:	6a 00                	push   $0x0
41857c:	8b c7                	mov    %edi,%eax
41857e:	8d 4d fc             	lea    -0x4(%ebp),%ecx
418581:	2b c6                	sub    %esi,%eax
418583:	51                   	push   %ecx
418584:	d1 f8                	sar    $1,%eax
418586:	50                   	push   %eax
418587:	56                   	push   %esi
418588:	6a 01                	push   $0x1
41858a:	89 45 f4             	mov    %eax,-0xc(%ebp)
41858d:	ff 15 2c a4 44 00    	call   *0x44a42c
418593:	59                   	pop    %ecx
418594:	50                   	push   %eax
418595:	ff 15 0c a0 44 00    	call   *0x44a00c
41859b:	85 c0                	test   %eax,%eax
41859d:	0f 84 a8 00 00 00    	je     0x41864b
4185a3:	8b 45 f4             	mov    -0xc(%ebp),%eax
4185a6:	39 45 fc             	cmp    %eax,-0x4(%ebp)
4185a9:	0f 85 9c 00 00 00    	jne    0x41864b
4185af:	8b 45 f8             	mov    -0x8(%ebp),%eax
4185b2:	8b f7                	mov    %edi,%esi
4185b4:	b9 22 20 00 00       	mov    $0x2022,%ecx
4185b9:	eb 08                	jmp    0x4185c3
4185bb:	66 39 0f             	cmp    %cx,(%edi)
4185be:	75 07                	jne    0x4185c7
4185c0:	83 c7 02             	add    $0x2,%edi
4185c3:	3b f8                	cmp    %eax,%edi
4185c5:	72 f4                	jb     0x4185bb
4185c7:	3b fe                	cmp    %esi,%edi
4185c9:	74 48                	je     0x418613
4185cb:	83 3b 00             	cmpl   $0x0,(%ebx)
4185ce:	74 0a                	je     0x4185da
4185d0:	6a 02                	push   $0x2
4185d2:	ff 33                	push   (%ebx)
4185d4:	ff 15 14 a0 44 00    	call   *0x44a014
4185da:	6a 00                	push   $0x0
4185dc:	8b c7                	mov    %edi,%eax
4185de:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4185e1:	2b c6                	sub    %esi,%eax
4185e3:	51                   	push   %ecx
4185e4:	d1 f8                	sar    $1,%eax
4185e6:	50                   	push   %eax
4185e7:	56                   	push   %esi
4185e8:	6a 01                	push   $0x1
4185ea:	89 45 f4             	mov    %eax,-0xc(%ebp)
4185ed:	ff 15 2c a4 44 00    	call   *0x44a42c
4185f3:	59                   	pop    %ecx
4185f4:	50                   	push   %eax
4185f5:	ff 15 0c a0 44 00    	call   *0x44a00c
4185fb:	8b f0                	mov    %eax,%esi
4185fd:	e8 0e 5d ff ff       	call   0x40e310
418602:	85 f6                	test   %esi,%esi
418604:	74 45                	je     0x41864b
418606:	8b 45 f4             	mov    -0xc(%ebp),%eax
418609:	39 45 fc             	cmp    %eax,-0x4(%ebp)
41860c:	75 3d                	jne    0x41864b
41860e:	8b 45 f8             	mov    -0x8(%ebp),%eax
418611:	8b f7                	mov    %edi,%esi
418613:	b9 22 20 00 00       	mov    $0x2022,%ecx
418618:	3b f0                	cmp    %eax,%esi
41861a:	0f 82 40 ff ff ff    	jb     0x418560
418620:	e9 81 c3 fe ff       	jmp    0x4049a6
418625:	8d 45 f0             	lea    -0x10(%ebp),%eax
418628:	33 c9                	xor    %ecx,%ecx
41862a:	50                   	push   %eax
41862b:	8b 43 08             	mov    0x8(%ebx),%eax
41862e:	8b d6                	mov    %esi,%edx
418630:	03 c0                	add    %eax,%eax
418632:	41                   	inc    %ecx
418633:	50                   	push   %eax
418634:	e8 02 15 ff ff       	call   0x409b3b
418639:	85 c0                	test   %eax,%eax
41863b:	74 0e                	je     0x41864b
41863d:	8b 43 08             	mov    0x8(%ebx),%eax
418640:	03 c0                	add    %eax,%eax
418642:	39 45 f0             	cmp    %eax,-0x10(%ebp)
418645:	0f 83 5b c3 fe ff    	jae    0x4049a6
41864b:	33 c9                	xor    %ecx,%ecx
41864d:	41                   	inc    %ecx
41864e:	e8 45 57 ff ff       	call   0x40dd98
418653:	85 c0                	test   %eax,%eax
418655:	74 06                	je     0x41865d
418657:	6a 00                	push   $0x0
418659:	6a 1d                	push   $0x1d
41865b:	eb 0f                	jmp    0x41866c
41865d:	33 c9                	xor    %ecx,%ecx
41865f:	41                   	inc    %ecx
418660:	e8 6a 19 01 00       	call   0x429fcf
418665:	85 c0                	test   %eax,%eax
418667:	75 0a                	jne    0x418673
418669:	50                   	push   %eax
41866a:	6a 70                	push   $0x70
41866c:	e8 73 f2 fe ff       	call   0x4078e4
418671:	59                   	pop    %ecx
418672:	59                   	pop    %ecx
418673:	e8 aa 12 01 00       	call   0x429922
418678:	6a 01                	push   $0x1
41867a:	68 30 0a 44 00       	push   $0x440a30
41867f:	ff 15 30 a4 44 00    	call   *0x44a430
418685:	cc                   	int3
418686:	8b c1                	mov    %ecx,%eax
418688:	2b c7                	sub    %edi,%eax
41868a:	d1 f8                	sar    $1,%eax
41868c:	eb 04                	jmp    0x418692
41868e:	2b 43 20             	sub    0x20(%ebx),%eax
418691:	46                   	inc    %esi
418692:	3b 43 20             	cmp    0x20(%ebx),%eax
418695:	77 f7                	ja     0x41868e
418697:	46                   	inc    %esi
418698:	8d 79 02             	lea    0x2(%ecx),%edi
41869b:	e9 30 c3 fe ff       	jmp    0x4049d0
4186a0:	8b 47 08             	mov    0x8(%edi),%eax
4186a3:	8d 04 46             	lea    (%esi,%eax,2),%eax
4186a6:	89 45 f8             	mov    %eax,-0x8(%ebp)
4186a9:	3b f0                	cmp    %eax,%esi
4186ab:	0f 83 96 c3 fe ff    	jae    0x404a47
4186b1:	b9 22 20 00 00       	mov    $0x2022,%ecx
4186b6:	8b de                	mov    %esi,%ebx
4186b8:	3b f0                	cmp    %eax,%esi
4186ba:	0f 83 87 c3 fe ff    	jae    0x404a47
4186c0:	66 39 0b             	cmp    %cx,(%ebx)
4186c3:	74 07                	je     0x4186cc
4186c5:	83 c3 02             	add    $0x2,%ebx
4186c8:	3b d8                	cmp    %eax,%ebx
4186ca:	72 f4                	jb     0x4186c0
4186cc:	3b de                	cmp    %esi,%ebx
4186ce:	74 49                	je     0x418719
4186d0:	6a 00                	push   $0x0
4186d2:	8b c3                	mov    %ebx,%eax
4186d4:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4186d7:	2b c6                	sub    %esi,%eax
4186d9:	51                   	push   %ecx
4186da:	d1 f8                	sar    $1,%eax
4186dc:	50                   	push   %eax
4186dd:	56                   	push   %esi
4186de:	6a 01                	push   $0x1
4186e0:	89 45 f4             	mov    %eax,-0xc(%ebp)
4186e3:	ff 15 2c a4 44 00    	call   *0x44a42c
4186e9:	59                   	pop    %ecx
4186ea:	50                   	push   %eax
4186eb:	ff 15 0c a0 44 00    	call   *0x44a00c
4186f1:	85 c0                	test   %eax,%eax
4186f3:	0f 84 a1 00 00 00    	je     0x41879a
4186f9:	8b 45 f4             	mov    -0xc(%ebp),%eax
4186fc:	39 45 fc             	cmp    %eax,-0x4(%ebp)
4186ff:	0f 85 95 00 00 00    	jne    0x41879a
418705:	8b 45 f8             	mov    -0x8(%ebp),%eax
418708:	8b f3                	mov    %ebx,%esi
41870a:	b9 22 20 00 00       	mov    $0x2022,%ecx
41870f:	eb 08                	jmp    0x418719
418711:	66 39 0b             	cmp    %cx,(%ebx)
418714:	75 07                	jne    0x41871d
418716:	83 c3 02             	add    $0x2,%ebx
418719:	3b d8                	cmp    %eax,%ebx
41871b:	72 f4                	jb     0x418711
41871d:	3b de                	cmp    %esi,%ebx
41871f:	74 48                	je     0x418769
418721:	83 3f 00             	cmpl   $0x0,(%edi)
418724:	74 0a                	je     0x418730
418726:	6a 02                	push   $0x2
418728:	ff 37                	push   (%edi)
41872a:	ff 15 14 a0 44 00    	call   *0x44a014
418730:	6a 00                	push   $0x0
418732:	8b c3                	mov    %ebx,%eax
418734:	8d 4d fc             	lea    -0x4(%ebp),%ecx
418737:	2b c6                	sub    %esi,%eax
418739:	51                   	push   %ecx
41873a:	d1 f8                	sar    $1,%eax
41873c:	50                   	push   %eax
41873d:	56                   	push   %esi
41873e:	6a 01                	push   $0x1
418740:	89 45 f4             	mov    %eax,-0xc(%ebp)
418743:	ff 15 2c a4 44 00    	call   *0x44a42c
418749:	59                   	pop    %ecx
41874a:	50                   	push   %eax
41874b:	ff 15 0c a0 44 00    	call   *0x44a00c
418751:	8b f0                	mov    %eax,%esi
418753:	e8 b8 5b ff ff       	call   0x40e310
418758:	85 f6                	test   %esi,%esi
41875a:	74 3e                	je     0x41879a
41875c:	8b 45 f4             	mov    -0xc(%ebp),%eax
41875f:	39 45 fc             	cmp    %eax,-0x4(%ebp)
418762:	75 36                	jne    0x41879a
418764:	8b 45 f8             	mov    -0x8(%ebp),%eax
418767:	8b f3                	mov    %ebx,%esi
418769:	b9 22 20 00 00       	mov    $0x2022,%ecx
41876e:	3b f0                	cmp    %eax,%esi
418770:	0f 82 40 ff ff ff    	jb     0x4186b6
418776:	e9 cc c2 fe ff       	jmp    0x404a47
41877b:	6a 00                	push   $0x0
41877d:	50                   	push   %eax
41877e:	6a 02                	push   $0x2
418780:	68 8c 1f 40 00       	push   $0x401f8c
418785:	6a 01                	push   $0x1
418787:	ff 15 2c a4 44 00    	call   *0x44a42c
41878d:	59                   	pop    %ecx
41878e:	50                   	push   %eax
41878f:	ff 15 0c a0 44 00    	call   *0x44a00c
418795:	e9 d0 c2 fe ff       	jmp    0x404a6a
41879a:	33 c9                	xor    %ecx,%ecx
41879c:	41                   	inc    %ecx
41879d:	e8 f6 55 ff ff       	call   0x40dd98
4187a2:	85 c0                	test   %eax,%eax
4187a4:	74 06                	je     0x4187ac
4187a6:	6a 00                	push   $0x0
4187a8:	6a 1d                	push   $0x1d
4187aa:	eb 0f                	jmp    0x4187bb
4187ac:	33 c9                	xor    %ecx,%ecx
4187ae:	41                   	inc    %ecx
4187af:	e8 1b 18 01 00       	call   0x429fcf
4187b4:	85 c0                	test   %eax,%eax
4187b6:	75 0a                	jne    0x4187c2
4187b8:	50                   	push   %eax
4187b9:	6a 70                	push   $0x70
4187bb:	e8 24 f1 fe ff       	call   0x4078e4
4187c0:	59                   	pop    %ecx
4187c1:	59                   	pop    %ecx
4187c2:	e8 5b 11 01 00       	call   0x429922
4187c7:	6a 01                	push   $0x1
4187c9:	68 30 0a 44 00       	push   $0x440a30
4187ce:	ff 15 30 a4 44 00    	call   *0x44a430
4187d4:	cc                   	int3
4187d5:	39 46 04             	cmp    %eax,0x4(%esi)
4187d8:	0f 82 d1 c2 fe ff    	jb     0x404aaf
4187de:	6a 00                	push   $0x0
4187e0:	e8 5b c0 00 00       	call   0x424840
4187e5:	83 66 04 00          	andl   $0x0,0x4(%esi)
4187e9:	8b ce                	mov    %esi,%ecx
4187eb:	e8 b1 9e ff ff       	call   0x4126a1
4187f0:	8b 46 1c             	mov    0x1c(%esi),%eax
4187f3:	48                   	dec    %eax
4187f4:	89 46 24             	mov    %eax,0x24(%esi)
4187f7:	5e                   	pop    %esi
4187f8:	c3                   	ret
4187f9:	ff 75 08             	push   0x8(%ebp)
4187fc:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
418802:	e8 3a 1e ff ff       	call   0x40a641
418807:	f6 85 dc fd ff ff 80 	testb  $0x80,-0x224(%ebp)
41880e:	74 15                	je     0x418825
418810:	8b 45 e8             	mov    -0x18(%ebp),%eax
418813:	85 c0                	test   %eax,%eax
418815:	75 06                	jne    0x41881d
418817:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
41881d:	50                   	push   %eax
41881e:	ff 15 68 a3 44 00    	call   *0x44a368
418824:	59                   	pop    %ecx
418825:	8b 45 e8             	mov    -0x18(%ebp),%eax
418828:	85 c0                	test   %eax,%eax
41882a:	75 06                	jne    0x418832
41882c:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
418832:	50                   	push   %eax
418833:	ba 00 1f 40 00       	mov    $0x401f00,%edx
418838:	8b ce                	mov    %esi,%ecx
41883a:	e8 c5 dd ff ff       	call   0x416604
41883f:	8b d8                	mov    %eax,%ebx
418841:	85 db                	test   %ebx,%ebx
418843:	0f 85 67 c3 fe ff    	jne    0x404bb0
418849:	8b 4d e8             	mov    -0x18(%ebp),%ecx
41884c:	85 c9                	test   %ecx,%ecx
41884e:	75 06                	jne    0x418856
418850:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
418856:	0f b7 01             	movzwl (%ecx),%eax
418859:	8b d0                	mov    %eax,%edx
41885b:	66 85 c0             	test   %ax,%ax
41885e:	74 0f                	je     0x41886f
418860:	33 d2                	xor    %edx,%edx
418862:	8b c1                	mov    %ecx,%eax
418864:	83 c1 02             	add    $0x2,%ecx
418867:	66 39 11             	cmp    %dx,(%ecx)
41886a:	75 f6                	jne    0x418862
41886c:	0f b7 10             	movzwl (%eax),%edx
41886f:	66 83 fa 5c          	cmp    $0x5c,%dx
418873:	74 1b                	je     0x418890
418875:	68 0c 25 40 00       	push   $0x40250c
41887a:	ba 00 1f 40 00       	mov    $0x401f00,%edx
41887f:	8b ce                	mov    %esi,%ecx
418881:	e8 7e dd ff ff       	call   0x416604
418886:	8b d8                	mov    %eax,%ebx
418888:	85 db                	test   %ebx,%ebx
41888a:	0f 85 20 c3 fe ff    	jne    0x404bb0
418890:	8b 95 dc fd ff ff    	mov    -0x224(%ebp),%edx
418896:	e9 fd c2 fe ff       	jmp    0x404b98
41889b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41889e:	e8 55 c1 fe ff       	call   0x4049f8
4188a3:	85 c0                	test   %eax,%eax
4188a5:	0f 85 5f c3 fe ff    	jne    0x404c0a
4188ab:	8b 45 08             	mov    0x8(%ebp),%eax
4188ae:	ff 70 04             	push   0x4(%eax)
4188b1:	6a 01                	push   $0x1
4188b3:	68 39 23 00 00       	push   $0x2339
4188b8:	ff 75 0c             	push   0xc(%ebp)
4188bb:	e8 6a fa 00 00       	call   0x42832a
4188c0:	83 c4 10             	add    $0x10,%esp
4188c3:	e9 42 c3 fe ff       	jmp    0x404c0a
4188c8:	85 c0                	test   %eax,%eax
4188ca:	0f 88 9a c3 fe ff    	js     0x404c6a
4188d0:	57                   	push   %edi
4188d1:	56                   	push   %esi
4188d2:	ff 74 24 20          	push   0x20(%esp)
4188d6:	83 e0 ef             	and    $0xffffffef,%eax
4188d9:	89 07                	mov    %eax,(%edi)
4188db:	e8 10 c3 fe ff       	call   0x404bf0
4188e0:	8b 17                	mov    (%edi),%edx
4188e2:	83 ca 10             	or     $0x10,%edx
4188e5:	89 17                	mov    %edx,(%edi)
4188e7:	85 c0                	test   %eax,%eax
4188e9:	0f 85 9b c3 fe ff    	jne    0x404c8a
4188ef:	81 ca 00 00 00 80    	or     $0x80000000,%edx
4188f5:	89 17                	mov    %edx,(%edi)