4054fa:	50                   	push   %eax
4054fb:	ff 75 fc             	push   -0x4(%ebp)
4054fe:	ff 15 cc 71 40 00    	call   *0x4071cc
405504:	8b 45 ec             	mov    -0x14(%ebp),%eax
405507:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40550a:	53                   	push   %ebx
40550b:	ff 75 08             	push   0x8(%ebp)
40550e:	53                   	push   %ebx
40550f:	51                   	push   %ecx
405510:	50                   	push   %eax
405511:	68 80 01 00 00       	push   $0x180
405516:	56                   	push   %esi
405517:	ff 15 60 72 40 00    	call   *0x407260
40551d:	83 f8 01             	cmp    $0x1,%eax
405520:	0f 85 9a 00 00 00    	jne    0x4055c0
405526:	8b 45 10             	mov    0x10(%ebp),%eax
405529:	33 f6                	xor    %esi,%esi
40552b:	46                   	inc    %esi
40552c:	89 5d cc             	mov    %ebx,-0x34(%ebp)
40552f:	c7 45 d8 08 fd 41 00 	movl   $0x41fd08,-0x28(%ebp)
405536:	c7 45 dc 00 10 00 00 	movl   $0x1000,-0x24(%ebp)
40553d:	89 45 08             	mov    %eax,0x8(%ebp)
405540:	bf 2d 10 00 00       	mov    $0x102d,%edi
405545:	ff 4d 08             	decl   0x8(%ebp)
405548:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40554b:	50                   	push   %eax
40554c:	ff 75 08             	push   0x8(%ebp)
40554f:	57                   	push   %edi
405550:	ff 75 fc             	push   -0x4(%ebp)
405553:	ff 15 00 72 40 00    	call   *0x407200
405559:	39 5d 08             	cmp    %ebx,0x8(%ebp)
40555c:	8d 74 06 02          	lea    0x2(%esi,%eax,1),%esi
405560:	75 e3                	jne    0x405545
405562:	53                   	push   %ebx
405563:	ff 15 c4 71 40 00    	call   *0x4071c4
405569:	ff 15 c0 71 40 00    	call   *0x4071c0
40556f:	56                   	push   %esi
405570:	6a 42                	push   $0x42
405572:	ff 15 58 71 40 00    	call   *0x407158
405578:	50                   	push   %eax
405579:	89 45 08             	mov    %eax,0x8(%ebp)
40557c:	ff 15 20 71 40 00    	call   *0x407120
405582:	8b f0                	mov    %eax,%esi
405584:	8d 45 c4             	lea    -0x3c(%ebp),%eax
405587:	89 75 d8             	mov    %esi,-0x28(%ebp)
40558a:	50                   	push   %eax
40558b:	53                   	push   %ebx
40558c:	57                   	push   %edi
40558d:	ff 75 fc             	push   -0x4(%ebp)
405590:	ff 15 00 72 40 00    	call   *0x407200
405596:	03 f0                	add    %eax,%esi
405598:	c6 06 0d             	movb   $0xd,(%esi)
40559b:	46                   	inc    %esi
40559c:	c6 06 0a             	movb   $0xa,(%esi)
40559f:	46                   	inc    %esi
4055a0:	43                   	inc    %ebx
4055a1:	3b 5d 10             	cmp    0x10(%ebp),%ebx
4055a4:	7c de                	jl     0x405584
4055a6:	ff 75 08             	push   0x8(%ebp)
4055a9:	ff 15 ac 70 40 00    	call   *0x4070ac
4055af:	ff 75 08             	push   0x8(%ebp)
4055b2:	6a 01                	push   $0x1
4055b4:	ff 15 bc 71 40 00    	call   *0x4071bc
4055ba:	ff 15 b8 71 40 00    	call   *0x4071b8
4055c0:	33 c0                	xor    %eax,%eax
4055c2:	e9 ae fe ff ff       	jmp    0x405475
4055c7:	55                   	push   %ebp
4055c8:	8b ec                	mov    %esp,%ebp
4055ca:	83 ec 20             	sub    $0x20,%esp
4055cd:	b8 7c 73 40 00       	mov    $0x40737c,%eax
4055d2:	80 65 e1 00          	andb   $0x0,-0x1f(%ebp)
4055d6:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4055d9:	89 45 e8             	mov    %eax,-0x18(%ebp)
4055dc:	8d 45 e0             	lea    -0x20(%ebp),%eax
4055df:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
4055e3:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4055e7:	89 45 f8             	mov    %eax,-0x8(%ebp)
4055ea:	8d 45 f4             	lea    -0xc(%ebp),%eax
4055ed:	56                   	push   %esi
4055ee:	50                   	push   %eax
4055ef:	c6 45 e0 01          	movb   $0x1,-0x20(%ebp)
4055f3:	ff 75 08             	push   0x8(%ebp)
4055f6:	66 c7 45 e2 04 00    	movw   $0x4,-0x1e(%ebp)
4055fc:	c7 45 f0 6c 73 40 00 	movl   $0x40736c,-0x10(%ebp)
405603:	c7 45 f4 0c 00 00 00 	movl   $0xc,-0xc(%ebp)
40560a:	ff 15 bc 70 40 00    	call   *0x4070bc
405610:	85 c0                	test   %eax,%eax
405612:	74 04                	je     0x405618
405614:	33 c0                	xor    %eax,%eax
405616:	eb 27                	jmp    0x40563f
405618:	8b 35 b8 70 40 00    	mov    0x4070b8,%esi
40561e:	ff d6                	call   *%esi
405620:	3d b7 00 00 00       	cmp    $0xb7,%eax
405625:	75 18                	jne    0x40563f
405627:	8d 45 e0             	lea    -0x20(%ebp),%eax
40562a:	50                   	push   %eax
40562b:	68 07 00 00 80       	push   $0x80000007
405630:	ff 75 08             	push   0x8(%ebp)
405633:	ff 15 0c 70 40 00    	call   *0x40700c
405639:	85 c0                	test   %eax,%eax
40563b:	75 d7                	jne    0x405614
40563d:	ff d6                	call   *%esi
40563f:	5e                   	pop    %esi
405640:	c9                   	leave
405641:	c2 04 00             	ret    $0x4
405644:	6a 00                	push   $0x0
405646:	ff 74 24 08          	push   0x8(%esp)
40564a:	ff 15 bc 70 40 00    	call   *0x4070bc
405650:	85 c0                	test   %eax,%eax
405652:	74 04                	je     0x405658
405654:	33 c0                	xor    %eax,%eax
405656:	eb 06                	jmp    0x40565e
405658:	ff 15 b8 70 40 00    	call   *0x4070b8
40565e:	c2 04 00             	ret    $0x4
405661:	6a 05                	push   $0x5
405663:	e8 0a 0d 00 00       	call   0x406372
405668:	85 c0                	test   %eax,%eax
40566a:	74 0a                	je     0x405676
40566c:	ff d0                	call   *%eax
40566e:	85 c0                	test   %eax,%eax
405670:	74 04                	je     0x405676
405672:	33 c0                	xor    %eax,%eax
405674:	40                   	inc    %eax
405675:	c3                   	ret
405676:	33 c0                	xor    %eax,%eax
405678:	c3                   	ret
405679:	55                   	push   %ebp
40567a:	8b ec                	mov    %esp,%ebp
40567c:	83 ec 10             	sub    $0x10,%esp
40567f:	8d 45 f0             	lea    -0x10(%ebp),%eax
405682:	c7 05 10 15 42 00 44 	movl   $0x44,0x421510
405689:	00 00 00
40568c:	50                   	push   %eax
40568d:	33 c0                	xor    %eax,%eax
40568f:	68 10 15 42 00       	push   $0x421510
405694:	50                   	push   %eax
405695:	50                   	push   %eax
405696:	68 00 00 00 04       	push   $0x4000000
40569b:	50                   	push   %eax
40569c:	50                   	push   %eax
40569d:	50                   	push   %eax
40569e:	ff 75 08             	push   0x8(%ebp)
4056a1:	50                   	push   %eax
4056a2:	ff 15 c0 70 40 00    	call   *0x4070c0
4056a8:	85 c0                	test   %eax,%eax
4056aa:	74 0c                	je     0x4056b8
4056ac:	ff 75 f4             	push   -0xc(%ebp)
4056af:	ff 15 14 71 40 00    	call   *0x407114
4056b5:	8b 45 f0             	mov    -0x10(%ebp),%eax
4056b8:	c9                   	leave
4056b9:	c2 04 00             	ret    $0x4
4056bc:	8b 44 24 04          	mov    0x4(%esp),%eax
4056c0:	50                   	push   %eax
4056c1:	83 60 24 00          	andl   $0x0,0x24(%eax)
4056c5:	c7 00 3c 00 00 00    	movl   $0x3c,(%eax)
4056cb:	ff 15 6c 71 40 00    	call   *0x40716c
4056d1:	c2 04 00             	ret    $0x4
4056d4:	ff 25 d8 71 40 00    	jmp    *0x4071d8
4056da:	68 00 04 00 00       	push   $0x400
4056df:	ff 74 24 0c          	push   0xc(%esp)
4056e3:	ff 74 24 0c          	push   0xc(%esp)
4056e7:	ff 35 d8 2e 42 00    	push   0x422ed8
4056ed:	ff 15 dc 71 40 00    	call   *0x4071dc
4056f3:	c2 08 00             	ret    $0x8
4056f6:	8b 44 24 08          	mov    0x8(%esp),%eax
4056fa:	8b c8                	mov    %eax,%ecx
4056fc:	81 e1 ff ff 1f 00    	and    $0x1fffff,%ecx
405702:	83 3d c0 37 42 00 00 	cmpl   $0x0,0x4237c0
405709:	74 05                	je     0x405710
40570b:	c1 e8 15             	shr    $0x15,%eax
40570e:	75 47                	jne    0x405757
405710:	83 3d c8 37 42 00 00 	cmpl   $0x0,0x4237c8
405717:	74 06                	je     0x40571f
405719:	81 f1 00 00 18 00    	xor    $0x180000,%ecx
40571f:	a1 08 37 42 00       	mov    0x423708,%eax
405724:	68 18 92 40 00       	push   $0x409218
405729:	a3 1c 92 40 00       	mov    %eax,0x40921c
40572e:	a1 00 37 42 00       	mov    0x423700,%eax
405733:	a3 20 92 40 00       	mov    %eax,0x409220
405738:	8b 44 24 08          	mov    0x8(%esp),%eax
40573c:	a3 24 92 40 00       	mov    %eax,0x409224
405741:	c7 05 28 92 40 00 00 	movl   $0x422f00,0x409228
405748:	2f 42 00
40574b:	89 0d 2c 92 40 00    	mov    %ecx,0x40922c
405751:	ff 15 e0 71 40 00    	call   *0x4071e0
405757:	c2 08 00             	ret    $0x8
40575a:	56                   	push   %esi
40575b:	8b 74 24 08          	mov    0x8(%esp),%esi
40575f:	57                   	push   %edi
405760:	56                   	push   %esi
405761:	e8 e8 03 00 00       	call   0x405b4e
405766:	8b f8                	mov    %eax,%edi
405768:	83 ff ff             	cmp    $0xffffffff,%edi
40576b:	74 2e                	je     0x40579b
40576d:	f6 44 24 10 01       	testb  $0x1,0x10(%esp)
405772:	56                   	push   %esi
405773:	74 08                	je     0x40577d
405775:	ff 15 c4 70 40 00    	call   *0x4070c4
40577b:	eb 06                	jmp    0x405783
40577d:	ff 15 28 71 40 00    	call   *0x407128
405783:	85 c0                	test   %eax,%eax
405785:	74 05                	je     0x40578c
405787:	33 c0                	xor    %eax,%eax
405789:	40                   	inc    %eax
40578a:	eb 11                	jmp    0x40579d
40578c:	f6 44 24 10 04       	testb  $0x4,0x10(%esp)
405791:	75 08                	jne    0x40579b
405793:	57                   	push   %edi
405794:	56                   	push   %esi
405795:	ff 15 b4 70 40 00    	call   *0x4070b4
40579b:	33 c0                	xor    %eax,%eax
40579d:	5f                   	pop    %edi
40579e:	5e                   	pop    %esi
40579f:	c2 08 00             	ret    $0x8
4057a2:	55                   	push   %ebp
4057a3:	8b ec                	mov    %esp,%ebp
4057a5:	81 ec 4c 01 00 00    	sub    $0x14c,%esp
4057ab:	53                   	push   %ebx
4057ac:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4057af:	56                   	push   %esi
4057b0:	57                   	push   %edi
4057b1:	8b 7d 08             	mov    0x8(%ebp),%edi
4057b4:	8b c3                	mov    %ebx,%eax
4057b6:	83 e0 04             	and    $0x4,%eax
4057b9:	57                   	push   %edi
4057ba:	89 45 fc             	mov    %eax,-0x4(%ebp)
4057bd:	e8 9e 02 00 00       	call   0x405a60
4057c2:	f6 c3 08             	test   $0x8,%bl
4057c5:	89 45 f4             	mov    %eax,-0xc(%ebp)
4057c8:	74 17                	je     0x4057e1
4057ca:	57                   	push   %edi
4057cb:	ff 15 28 71 40 00    	call   *0x407128
4057d1:	f7 d8                	neg    %eax
4057d3:	1b c0                	sbb    %eax,%eax
4057d5:	40                   	inc    %eax
4057d6:	01 05 a8 37 42 00    	add    %eax,0x4237a8
4057dc:	e9 8a 01 00 00       	jmp    0x40596b
4057e1:	89 5d 08             	mov    %ebx,0x8(%ebp)
4057e4:	83 65 08 01          	andl   $0x1,0x8(%ebp)
4057e8:	74 11                	je     0x4057fb
4057ea:	85 c0                	test   %eax,%eax
4057ec:	0f 84 27 01 00 00    	je     0x405919
4057f2:	f6 c3 02             	test   $0x2,%bl
4057f5:	0f 84 1e 01 00 00    	je     0x405919
4057fb:	be 10 0d 42 00       	mov    $0x420d10,%esi
405800:	57                   	push   %edi
405801:	56                   	push   %esi
405802:	e8 d3 07 00 00       	call   0x405fda
405807:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40580b:	74 0d                	je     0x40581a
40580d:	68 ac 93 40 00       	push   $0x4093ac
405812:	56                   	push   %esi
405813:	e8 de 07 00 00       	call   0x405ff6
405818:	eb 06                	jmp    0x405820
40581a:	57                   	push   %edi
40581b:	e8 99 01 00 00       	call   0x4059b9
405820:	80 3f 00             	cmpb   $0x0,(%edi)
405823:	75 09                	jne    0x40582e
405825:	80 3d 10 0d 42 00 5c 	cmpb   $0x5c,0x420d10
40582c:	75 0b                	jne    0x405839
40582e:	68 14 90 40 00       	push   $0x409014
405833:	57                   	push   %edi
405834:	e8 bd 07 00 00       	call   0x405ff6
405839:	57                   	push   %edi
40583a:	e8 b1 07 00 00       	call   0x405ff0
40583f:	8b d8                	mov    %eax,%ebx
405841:	8d 85 b4 fe ff ff    	lea    -0x14c(%ebp),%eax
405847:	50                   	push   %eax
405848:	56                   	push   %esi
405849:	03 df                	add    %edi,%ebx
40584b:	ff 15 2c 71 40 00    	call   *0x40712c
405851:	83 f8 ff             	cmp    $0xffffffff,%eax
405854:	89 45 f8             	mov    %eax,-0x8(%ebp)
405857:	0f 84 b2 00 00 00    	je     0x40590f
40585d:	8d 85 e0 fe ff ff    	lea    -0x120(%ebp),%eax
405863:	6a 3f                	push   $0x3f
405865:	50                   	push   %eax
405866:	8d b5 e0 fe ff ff    	lea    -0x120(%ebp),%esi
40586c:	e8 2c 01 00 00       	call   0x40599d
405871:	80 38 00             	cmpb   $0x0,(%eax)
405874:	74 09                	je     0x40587f
405876:	80 7d e4 00          	cmpb   $0x0,-0x1c(%ebp)
40587a:	74 03                	je     0x40587f
40587c:	8d 75 e4             	lea    -0x1c(%ebp),%esi
40587f:	80 3e 2e             	cmpb   $0x2e,(%esi)
405882:	75 11                	jne    0x405895
405884:	8a 46 01             	mov    0x1(%esi),%al
405887:	84 c0                	test   %al,%al
405889:	74 63                	je     0x4058ee
40588b:	3c 2e                	cmp    $0x2e,%al
40588d:	75 06                	jne    0x405895
40588f:	80 7e 02 00          	cmpb   $0x0,0x2(%esi)
405893:	74 59                	je     0x4058ee
405895:	56                   	push   %esi
405896:	53                   	push   %ebx
405897:	e8 3e 07 00 00       	call   0x405fda
40589c:	f6 85 b4 fe ff ff 10 	testb  $0x10,-0x14c(%ebp)
4058a3:	74 15                	je     0x4058ba
4058a5:	8b 45 0c             	mov    0xc(%ebp),%eax
4058a8:	83 e0 03             	and    $0x3,%eax
4058ab:	3c 03                	cmp    $0x3,%al
4058ad:	75 3f                	jne    0x4058ee
4058af:	ff 75 0c             	push   0xc(%ebp)
4058b2:	57                   	push   %edi
4058b3:	e8 ea fe ff ff       	call   0x4057a2
4058b8:	eb 34                	jmp    0x4058ee
4058ba:	ff 75 fc             	push   -0x4(%ebp)
4058bd:	57                   	push   %edi
4058be:	e8 97 fe ff ff       	call   0x40575a
4058c3:	85 c0                	test   %eax,%eax
4058c5:	75 1f                	jne    0x4058e6
4058c7:	39 45 fc             	cmp    %eax,-0x4(%ebp)
4058ca:	74 12                	je     0x4058de
4058cc:	57                   	push   %edi
4058cd:	6a f1                	push   $0xfffffff1
4058cf:	e8 2d f8 ff ff       	call   0x405101
4058d4:	6a 00                	push   $0x0
4058d6:	57                   	push   %edi
4058d7:	e8 dd 04 00 00       	call   0x405db9
4058dc:	eb 10                	jmp    0x4058ee
4058de:	ff 05 a8 37 42 00    	incl   0x4237a8
4058e4:	eb 08                	jmp    0x4058ee
4058e6:	57                   	push   %edi
4058e7:	6a f2                	push   $0xfffffff2
4058e9:	e8 13 f8 ff ff       	call   0x405101
4058ee:	8d 85 b4 fe ff ff    	lea    -0x14c(%ebp),%eax
4058f4:	50                   	push   %eax
4058f5:	ff 75 f8             	push   -0x8(%ebp)
4058f8:	ff 15 30 71 40 00    	call   *0x407130
4058fe:	85 c0                	test   %eax,%eax
405900:	0f 85 57 ff ff ff    	jne    0x40585d
405906:	ff 75 f8             	push   -0x8(%ebp)
405909:	ff 15 34 71 40 00    	call   *0x407134
40590f:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
405913:	74 04                	je     0x405919
405915:	80 63 ff 00          	andb   $0x0,-0x1(%ebx)
405919:	33 f6                	xor    %esi,%esi
40591b:	39 75 08             	cmp    %esi,0x8(%ebp)
40591e:	74 4b                	je     0x40596b
405920:	39 75 f4             	cmp    %esi,-0xc(%ebp)
405923:	75 08                	jne    0x40592d
405925:	ff 05 a8 37 42 00    	incl   0x4237a8
40592b:	eb 3e                	jmp    0x40596b
40592d:	57                   	push   %edi
40592e:	e8 aa 09 00 00       	call   0x4062dd
405933:	85 c0                	test   %eax,%eax
405935:	74 34                	je     0x40596b
405937:	57                   	push   %edi
405938:	e8 35 00 00 00       	call   0x405972
40593d:	8b 45 fc             	mov    -0x4(%ebp),%eax