4052c4:	a3 e4 2e 42 00       	mov    %eax,0x422ee4
4052c9:	89 45 fc             	mov    %eax,-0x4(%ebp)
4052cc:	e8 cc ed ff ff       	call   0x40409d
4052d1:	6a 04                	push   $0x4
4052d3:	e8 b6 f6 ff ff       	call   0x40498e
4052d8:	a3 d4 2e 42 00       	mov    %eax,0x422ed4
4052dd:	8d 45 ec             	lea    -0x14(%ebp),%eax
4052e0:	50                   	push   %eax
4052e1:	89 1d ec 2e 42 00    	mov    %ebx,0x422eec
4052e7:	ff 75 fc             	push   -0x4(%ebp)
4052ea:	ff 15 0c 72 40 00    	call   *0x40720c
4052f0:	56                   	push   %esi
4052f1:	ff 15 d4 71 40 00    	call   *0x4071d4
4052f7:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4052fa:	8b 35 00 72 40 00    	mov    0x407200,%esi
405300:	2b c8                	sub    %eax,%ecx
405302:	8d 45 cc             	lea    -0x34(%ebp),%eax
405305:	50                   	push   %eax
405306:	53                   	push   %ebx
405307:	68 1b 10 00 00       	push   $0x101b
40530c:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
40530f:	ff 75 fc             	push   -0x4(%ebp)
405312:	ff d6                	call   *%esi
405314:	b8 00 40 00 00       	mov    $0x4000,%eax
405319:	50                   	push   %eax
40531a:	50                   	push   %eax
40531b:	68 36 10 00 00       	push   $0x1036
405320:	ff 75 fc             	push   -0x4(%ebp)
405323:	ff d6                	call   *%esi
405325:	39 5d 10             	cmp    %ebx,0x10(%ebp)
405328:	7c 1c                	jl     0x405346
40532a:	ff 75 10             	push   0x10(%ebp)
40532d:	53                   	push   %ebx
40532e:	68 01 10 00 00       	push   $0x1001
405333:	ff 75 fc             	push   -0x4(%ebp)
405336:	ff d6                	call   *%esi
405338:	ff 75 10             	push   0x10(%ebp)
40533b:	53                   	push   %ebx
40533c:	68 26 10 00 00       	push   $0x1026
405341:	ff 75 fc             	push   -0x4(%ebp)
405344:	ff d6                	call   *%esi
405346:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
405349:	7c 0e                	jl     0x405359
40534b:	ff 75 0c             	push   0xc(%ebp)
40534e:	53                   	push   %ebx
40534f:	68 24 10 00 00       	push   $0x1024
405354:	ff 75 fc             	push   -0x4(%ebp)
405357:	ff d6                	call   *%esi
405359:	8b 45 14             	mov    0x14(%ebp),%eax
40535c:	ff 70 30             	push   0x30(%eax)
40535f:	6a 1b                	push   $0x1b
405361:	ff 75 08             	push   0x8(%ebp)
405364:	e8 ff ec ff ff       	call   0x404068
405369:	f6 05 1c 37 42 00 03 	testb  $0x3,0x42371c
405370:	74 34                	je     0x4053a6
405372:	53                   	push   %ebx
405373:	ff 35 d0 2e 42 00    	push   0x422ed0
405379:	ff 15 48 72 40 00    	call   *0x407248
40537f:	f6 05 1c 37 42 00 02 	testb  $0x2,0x42371c
405386:	75 0d                	jne    0x405395
405388:	6a 08                	push   $0x8
40538a:	ff 75 fc             	push   -0x4(%ebp)
40538d:	ff 15 48 72 40 00    	call   *0x407248
405393:	eb 06                	jmp    0x40539b
405395:	89 1d d0 2e 42 00    	mov    %ebx,0x422ed0
40539b:	ff 35 c8 2e 42 00    	push   0x422ec8
4053a1:	e8 f7 ec ff ff       	call   0x40409d
4053a6:	68 ec 03 00 00       	push   $0x3ec
4053ab:	ff 75 08             	push   0x8(%ebp)
4053ae:	ff d7                	call   *%edi
4053b0:	68 00 00 30 75       	push   $0x75300000
4053b5:	8b f8                	mov    %eax,%edi
4053b7:	53                   	push   %ebx
4053b8:	68 01 04 00 00       	push   $0x401
4053bd:	57                   	push   %edi
4053be:	ff d6                	call   *%esi
4053c0:	f6 05 1c 37 42 00 04 	testb  $0x4,0x42371c
4053c7:	0f 84 f3 01 00 00    	je     0x4055c0
4053cd:	ff 75 0c             	push   0xc(%ebp)
4053d0:	53                   	push   %ebx
4053d1:	68 09 04 00 00       	push   $0x409
4053d6:	57                   	push   %edi
4053d7:	ff d6                	call   *%esi
4053d9:	ff 75 10             	push   0x10(%ebp)
4053dc:	53                   	push   %ebx
4053dd:	68 01 20 00 00       	push   $0x2001
4053e2:	57                   	push   %edi
4053e3:	ff d6                	call   *%esi
4053e5:	e9 d6 01 00 00       	jmp    0x4055c0
4053ea:	81 ff 05 04 00 00    	cmp    $0x405,%edi
4053f0:	75 28                	jne    0x40541a
4053f2:	8d 45 0c             	lea    0xc(%ebp),%eax
4053f5:	50                   	push   %eax
4053f6:	53                   	push   %ebx
4053f7:	68 ec 03 00 00       	push   $0x3ec
4053fc:	ff 75 08             	push   0x8(%ebp)
4053ff:	ff 15 d0 71 40 00    	call   *0x4071d0
405405:	50                   	push   %eax
405406:	68 d3 51 40 00       	push   $0x4051d3
40540b:	53                   	push   %ebx
40540c:	53                   	push   %ebx
40540d:	ff 15 1c 71 40 00    	call   *0x40711c
405413:	50                   	push   %eax
405414:	ff 15 14 71 40 00    	call   *0x407114
40541a:	8b 35 48 72 40 00    	mov    0x407248,%esi
405420:	81 ff 11 01 00 00    	cmp    $0x111,%edi
405426:	75 20                	jne    0x405448
405428:	66 81 7d 10 03 04    	cmpw   $0x403,0x10(%ebp)
40542e:	75 39                	jne    0x405469
405430:	53                   	push   %ebx
405431:	ff 35 d0 2e 42 00    	push   0x422ed0
405437:	ff d6                	call   *%esi
405439:	6a 08                	push   $0x8
40543b:	ff 75 fc             	push   -0x4(%ebp)
40543e:	ff d6                	call   *%esi
405440:	ff 75 fc             	push   -0x4(%ebp)
405443:	e8 55 ec ff ff       	call   0x40409d
405448:	81 ff 04 04 00 00    	cmp    $0x404,%edi
40544e:	75 53                	jne    0x4054a3
405450:	39 1d cc 2e 42 00    	cmp    %ebx,0x422ecc
405456:	74 24                	je     0x40547c
405458:	6a 78                	push   $0x78
40545a:	c7 05 d8 f0 41 00 02 	movl   $0x2,0x41f0d8
405461:	00 00 00
405464:	e8 d8 eb ff ff       	call   0x404041
405469:	ff 75 14             	push   0x14(%ebp)
40546c:	ff 75 10             	push   0x10(%ebp)
40546f:	57                   	push   %edi
405470:	e8 5a ec ff ff       	call   0x4040cf
405475:	5f                   	pop    %edi
405476:	5e                   	pop    %esi
405477:	5b                   	pop    %ebx
405478:	c9                   	leave
405479:	c2 10 00             	ret    $0x10
40547c:	6a 08                	push   $0x8
40547e:	ff 35 08 37 42 00    	push   0x423708
405484:	ff d6                	call   *%esi
405486:	39 1d ac 37 42 00    	cmp    %ebx,0x4237ac
40548c:	75 0e                	jne    0x40549c
40548e:	a1 e0 f4 41 00       	mov    0x41f4e0,%eax
405493:	53                   	push   %ebx
405494:	ff 70 34             	push   0x34(%eax)
405497:	e8 65 fc ff ff       	call   0x405101
40549c:	6a 01                	push   $0x1
40549e:	e8 9e eb ff ff       	call   0x404041
4054a3:	83 ff 7b             	cmp    $0x7b,%edi
4054a6:	75 c1                	jne    0x405469
4054a8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4054ab:	39 45 10             	cmp    %eax,0x10(%ebp)
4054ae:	75 b9                	jne    0x405469
4054b0:	53                   	push   %ebx
4054b1:	53                   	push   %ebx
4054b2:	68 04 10 00 00       	push   $0x1004
4054b7:	50                   	push   %eax
4054b8:	ff 15 00 72 40 00    	call   *0x407200
4054be:	3b c3                	cmp    %ebx,%eax
4054c0:	89 45 10             	mov    %eax,0x10(%ebp)
4054c3:	0f 8e f7 00 00 00    	jle    0x4055c0
4054c9:	ff 15 64 72 40 00    	call   *0x407264
4054cf:	6a e1                	push   $0xffffffe1
4054d1:	53                   	push   %ebx
4054d2:	8b f0                	mov    %eax,%esi
4054d4:	e8 23 0b 00 00       	call   0x405ffc
4054d9:	50                   	push   %eax
4054da:	6a 01                	push   $0x1
4054dc:	53                   	push   %ebx
4054dd:	56                   	push   %esi
4054de:	ff 15 5c 72 40 00    	call   *0x40725c
4054e4:	8b 4d 14             	mov    0x14(%ebp),%ecx
4054e7:	0f bf 45 14          	movswl 0x14(%ebp),%eax
4054eb:	c1 e9 10             	shr    $0x10,%ecx
4054ee:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
4054f2:	0f bf c9             	movswl %cx,%ecx
4054f5:	75 13                	jne    0x40550a
4054f7:	8d 45 ec             	lea    -0x14(%ebp),%eax
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