40544c:	03 c3                	add    %ebx,%eax
40544e:	50                   	push   %eax
40544f:	e8 78 be ff ff       	call   0x4012cc
405454:	8d 85 b6 fe ff ff    	lea    -0x14a(%ebp),%eax
40545a:	50                   	push   %eax
40545b:	8d 85 b1 fd ff ff    	lea    -0x24f(%ebp),%eax
405461:	50                   	push   %eax
405462:	e8 0d be ff ff       	call   0x401274
405467:	8b f0                	mov    %eax,%esi
405469:	83 fe ff             	cmp    $0xffffffff,%esi
40546c:	74 74                	je     0x4054e2
40546e:	56                   	push   %esi
40546f:	e8 f8 bd ff ff       	call   0x40126c
405474:	8d 85 e2 fe ff ff    	lea    -0x11e(%ebp),%eax
40547a:	50                   	push   %eax
40547b:	e8 54 be ff ff       	call   0x4012d4
405480:	8d 53 01             	lea    0x1(%ebx),%edx
405483:	03 c2                	add    %edx,%eax
405485:	40                   	inc    %eax
405486:	3d 05 01 00 00       	cmp    $0x105,%eax
40548b:	7f 55                	jg     0x4054e2
40548d:	c6 84 1d b1 fd ff ff 	movb   $0x5c,-0x24f(%ebp,%ebx,1)
405494:	5c
405495:	b8 05 01 00 00       	mov    $0x105,%eax
40549a:	2b c3                	sub    %ebx,%eax
40549c:	48                   	dec    %eax
40549d:	50                   	push   %eax
40549e:	8d 85 e2 fe ff ff    	lea    -0x11e(%ebp),%eax
4054a4:	50                   	push   %eax
4054a5:	8d 85 b1 fd ff ff    	lea    -0x24f(%ebp),%eax
4054ab:	03 c3                	add    %ebx,%eax
4054ad:	40                   	inc    %eax
4054ae:	50                   	push   %eax
4054af:	e8 18 be ff ff       	call   0x4012cc
4054b4:	8d 85 e2 fe ff ff    	lea    -0x11e(%ebp),%eax
4054ba:	50                   	push   %eax
4054bb:	e8 14 be ff ff       	call   0x4012d4
4054c0:	40                   	inc    %eax
4054c1:	03 d8                	add    %eax,%ebx
4054c3:	8b f7                	mov    %edi,%esi
4054c5:	80 3e 00             	cmpb   $0x0,(%esi)
4054c8:	0f 85 56 ff ff ff    	jne    0x405424
4054ce:	8b 45 f8             	mov    -0x8(%ebp),%eax
4054d1:	50                   	push   %eax
4054d2:	8d 85 b1 fd ff ff    	lea    -0x24f(%ebp),%eax
4054d8:	50                   	push   %eax
4054d9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4054dc:	50                   	push   %eax
4054dd:	e8 ea bd ff ff       	call   0x4012cc
4054e2:	8b 45 f4             	mov    -0xc(%ebp),%eax
4054e5:	5f                   	pop    %edi
4054e6:	5e                   	pop    %esi
4054e7:	5b                   	pop    %ebx
4054e8:	8b e5                	mov    %ebp,%esp
4054ea:	5d                   	pop    %ebp
4054eb:	c3                   	ret
4054ec:	6b 65 72 6e          	imul   $0x6e,0x72(%ebp),%esp
4054f0:	65 6c                	gs insb (%dx),%es:(%edi)
4054f2:	33 32                	xor    (%edx),%esi
4054f4:	2e 64 6c             	cs fs insb (%dx),%es:(%edi)
4054f7:	6c                   	insb   (%dx),%es:(%edi)
4054f8:	00 00                	add    %al,(%eax)
4054fa:	00 00                	add    %al,(%eax)
4054fc:	47                   	inc    %edi
4054fd:	65 74 4c             	gs je  0x40554c
405500:	6f                   	outsl  %ds:(%esi),(%dx)
405501:	6e                   	outsb  %ds:(%esi),(%dx)
405502:	67 50                	addr16 push %eax
405504:	61                   	popa
405505:	74 68                	je     0x40556f
405507:	4e                   	dec    %esi
405508:	61                   	popa
405509:	6d                   	insl   (%dx),%es:(%edi)
40550a:	65 41                	gs inc %ecx
40550c:	00 00                	add    %al,(%eax)
40550e:	00 00                	add    %al,(%eax)
405510:	55                   	push   %ebp
405511:	8b ec                	mov    %esp,%ebp
405513:	81 c4 e0 fe ff ff    	add    $0xfffffee0,%esp
405519:	53                   	push   %ebx
40551a:	56                   	push   %esi
40551b:	89 45 fc             	mov    %eax,-0x4(%ebp)
40551e:	68 05 01 00 00       	push   $0x105
405523:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
405529:	50                   	push   %eax
40552a:	6a 00                	push   $0x0
40552c:	e8 63 bd ff ff       	call   0x401294
405531:	c6 45 ee 00          	movb   $0x0,-0x12(%ebp)
405535:	8d 45 f8             	lea    -0x8(%ebp),%eax
405538:	50                   	push   %eax
405539:	68 19 00 0f 00       	push   $0xf0019
40553e:	6a 00                	push   $0x0
405540:	68 40 57 40 00       	push   $0x405740
405545:	68 01 00 00 80       	push   $0x80000001
40554a:	e8 9d bd ff ff       	call   0x4012ec
40554f:	85 c0                	test   %eax,%eax
405551:	74 40                	je     0x405593
405553:	8d 45 f8             	lea    -0x8(%ebp),%eax
405556:	50                   	push   %eax
405557:	68 19 00 0f 00       	push   $0xf0019
40555c:	6a 00                	push   $0x0
40555e:	68 40 57 40 00       	push   $0x405740
405563:	68 02 00 00 80       	push   $0x80000002
405568:	e8 7f bd ff ff       	call   0x4012ec
40556d:	85 c0                	test   %eax,%eax
40556f:	74 22                	je     0x405593
405571:	8d 45 f8             	lea    -0x8(%ebp),%eax
405574:	50                   	push   %eax
405575:	68 19 00 0f 00       	push   $0xf0019
40557a:	6a 00                	push   $0x0
40557c:	68 5c 57 40 00       	push   $0x40575c
405581:	68 01 00 00 80       	push   $0x80000001
405586:	e8 61 bd ff ff       	call   0x4012ec
40558b:	85 c0                	test   %eax,%eax
40558d:	0f 85 89 00 00 00    	jne    0x40561c
405593:	33 c0                	xor    %eax,%eax
405595:	55                   	push   %ebp
405596:	68 15 56 40 00       	push   $0x405615
40559b:	64 ff 30             	push   %fs:(%eax)
40559e:	64 89 20             	mov    %esp,%fs:(%eax)
4055a1:	c7 45 e8 05 00 00 00 	movl   $0x5,-0x18(%ebp)
4055a8:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
4055ae:	ba 05 01 00 00       	mov    $0x105,%edx
4055b3:	e8 a0 fd ff ff       	call   0x405358
4055b8:	8d 45 e8             	lea    -0x18(%ebp),%eax
4055bb:	50                   	push   %eax
4055bc:	8d 45 ee             	lea    -0x12(%ebp),%eax
4055bf:	50                   	push   %eax
4055c0:	6a 00                	push   $0x0
4055c2:	6a 00                	push   $0x0
4055c4:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
4055ca:	50                   	push   %eax
4055cb:	8b 45 f8             	mov    -0x8(%ebp),%eax
4055ce:	50                   	push   %eax
4055cf:	e8 20 bd ff ff       	call   0x4012f4
4055d4:	85 c0                	test   %eax,%eax
4055d6:	74 22                	je     0x4055fa
4055d8:	8d 45 e8             	lea    -0x18(%ebp),%eax
4055db:	50                   	push   %eax
4055dc:	8d 45 ee             	lea    -0x12(%ebp),%eax
4055df:	50                   	push   %eax
4055e0:	6a 00                	push   $0x0
4055e2:	6a 00                	push   $0x0
4055e4:	68 7c 57 40 00       	push   $0x40577c
4055e9:	8b 45 f8             	mov    -0x8(%ebp),%eax
4055ec:	50                   	push   %eax
4055ed:	e8 02 bd ff ff       	call   0x4012f4
4055f2:	85 c0                	test   %eax,%eax
4055f4:	74 04                	je     0x4055fa
4055f6:	c6 45 ee 00          	movb   $0x0,-0x12(%ebp)
4055fa:	c6 45 f2 00          	movb   $0x0,-0xe(%ebp)
4055fe:	33 c0                	xor    %eax,%eax
405600:	5a                   	pop    %edx
405601:	59                   	pop    %ecx
405602:	59                   	pop    %ecx
405603:	64 89 10             	mov    %edx,%fs:(%eax)
405606:	68 1c 56 40 00       	push   $0x40561c
40560b:	8b 45 f8             	mov    -0x8(%ebp),%eax
40560e:	50                   	push   %eax
40560f:	e8 d0 bc ff ff       	call   0x4012e4
405614:	c3                   	ret
405615:	e9 3a e4 ff ff       	jmp    0x403a54
40561a:	eb ef                	jmp    0x40560b
40561c:	68 05 01 00 00       	push   $0x105
405621:	8b 45 fc             	mov    -0x4(%ebp),%eax
405624:	50                   	push   %eax
405625:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
40562b:	50                   	push   %eax
40562c:	e8 9b bc ff ff       	call   0x4012cc
405631:	6a 05                	push   $0x5
405633:	8d 45 f3             	lea    -0xd(%ebp),%eax
405636:	50                   	push   %eax
405637:	6a 03                	push   $0x3
405639:	e8 76 bc ff ff       	call   0x4012b4
40563e:	50                   	push   %eax
40563f:	e8 48 bc ff ff       	call   0x40128c
405644:	33 f6                	xor    %esi,%esi
405646:	80 bd e3 fe ff ff 00 	cmpb   $0x0,-0x11d(%ebp)
40564d:	0f 84 e3 00 00 00    	je     0x405736
405653:	80 7d f3 00          	cmpb   $0x0,-0xd(%ebp)
405657:	75 0a                	jne    0x405663
405659:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
40565d:	0f 84 d3 00 00 00    	je     0x405736
405663:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
405669:	50                   	push   %eax
40566a:	e8 65 bc ff ff       	call   0x4012d4
40566f:	8b d8                	mov    %eax,%ebx
405671:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
405677:	03 d8                	add    %eax,%ebx
405679:	eb 01                	jmp    0x40567c
40567b:	4b                   	dec    %ebx
40567c:	80 3b 2e             	cmpb   $0x2e,(%ebx)
40567f:	74 0a                	je     0x40568b
405681:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
405687:	3b d8                	cmp    %eax,%ebx
405689:	75 f0                	jne    0x40567b
40568b:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
405691:	3b d8                	cmp    %eax,%ebx
405693:	0f 84 9d 00 00 00    	je     0x405736
405699:	43                   	inc    %ebx
40569a:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
40569e:	74 28                	je     0x4056c8
4056a0:	8b d3                	mov    %ebx,%edx
4056a2:	2b d0                	sub    %eax,%edx
4056a4:	b8 05 01 00 00       	mov    $0x105,%eax
4056a9:	2b c2                	sub    %edx,%eax
4056ab:	50                   	push   %eax
4056ac:	8d 45 ee             	lea    -0x12(%ebp),%eax
4056af:	50                   	push   %eax
4056b0:	53                   	push   %ebx
4056b1:	e8 16 bc ff ff       	call   0x4012cc
4056b6:	6a 02                	push   $0x2
4056b8:	6a 00                	push   $0x0
4056ba:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
4056c0:	50                   	push   %eax
4056c1:	e8 f6 bb ff ff       	call   0x4012bc
4056c6:	8b f0                	mov    %eax,%esi
4056c8:	85 f6                	test   %esi,%esi
4056ca:	75 6a                	jne    0x405736
4056cc:	80 7d f3 00          	cmpb   $0x0,-0xd(%ebp)
4056d0:	74 64                	je     0x405736
4056d2:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
4056d8:	8b d3                	mov    %ebx,%edx
4056da:	2b d0                	sub    %eax,%edx
4056dc:	b8 05 01 00 00       	mov    $0x105,%eax
4056e1:	2b c2                	sub    %edx,%eax
4056e3:	50                   	push   %eax
4056e4:	8d 45 f3             	lea    -0xd(%ebp),%eax
4056e7:	50                   	push   %eax
4056e8:	53                   	push   %ebx
4056e9:	e8 de bb ff ff       	call   0x4012cc
4056ee:	6a 02                	push   $0x2
4056f0:	6a 00                	push   $0x0
4056f2:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
4056f8:	50                   	push   %eax
4056f9:	e8 be bb ff ff       	call   0x4012bc
4056fe:	8b f0                	mov    %eax,%esi
405700:	85 f6                	test   %esi,%esi
405702:	75 32                	jne    0x405736
405704:	c6 45 f5 00          	movb   $0x0,-0xb(%ebp)
405708:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
40570e:	8b d3                	mov    %ebx,%edx
405710:	2b d0                	sub    %eax,%edx
405712:	b8 05 01 00 00       	mov    $0x105,%eax
405717:	2b c2                	sub    %edx,%eax
405719:	50                   	push   %eax
40571a:	8d 45 f3             	lea    -0xd(%ebp),%eax
40571d:	50                   	push   %eax
40571e:	53                   	push   %ebx
40571f:	e8 a8 bb ff ff       	call   0x4012cc
405724:	6a 02                	push   $0x2
405726:	6a 00                	push   $0x0
405728:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
40572e:	50                   	push   %eax
40572f:	e8 88 bb ff ff       	call   0x4012bc
405734:	8b f0                	mov    %eax,%esi
405736:	8b c6                	mov    %esi,%eax
405738:	5e                   	pop    %esi
405739:	5b                   	pop    %ebx
40573a:	8b e5                	mov    %ebp,%esp
40573c:	5d                   	pop    %ebp
40573d:	c3                   	ret
40573e:	00 00                	add    %al,(%eax)
405740:	53                   	push   %ebx
405741:	6f                   	outsl  %ds:(%esi),(%dx)
405742:	66 74 77             	data16 je 0x4057bc
405745:	61                   	popa
405746:	72 65                	jb     0x4057ad
405748:	5c                   	pop    %esp
405749:	42                   	inc    %edx
40574a:	6f                   	outsl  %ds:(%esi),(%dx)
40574b:	72 6c                	jb     0x4057b9
40574d:	61                   	popa
40574e:	6e                   	outsb  %ds:(%esi),(%dx)
40574f:	64 5c                	fs pop %esp
405751:	4c                   	dec    %esp
405752:	6f                   	outsl  %ds:(%esi),(%dx)
405753:	63 61 6c             	arpl   %esp,0x6c(%ecx)
405756:	65 73 00             	gs jae 0x405759
405759:	00 00                	add    %al,(%eax)
40575b:	00 53 6f             	add    %dl,0x6f(%ebx)
40575e:	66 74 77             	data16 je 0x4057d8
405761:	61                   	popa
405762:	72 65                	jb     0x4057c9
405764:	5c                   	pop    %esp
405765:	42                   	inc    %edx
405766:	6f                   	outsl  %ds:(%esi),(%dx)
405767:	72 6c                	jb     0x4057d5
405769:	61                   	popa
40576a:	6e                   	outsb  %ds:(%esi),(%dx)
40576b:	64 5c                	fs pop %esp
40576d:	44                   	inc    %esp
40576e:	65 6c                	gs insb (%dx),%es:(%edi)
405770:	70 68                	jo     0x4057da
405772:	69 5c 4c 6f 63 61 6c 	imul   $0x656c6163,0x6f(%esp,%ecx,2),%ebx
405779:	65
40577a:	73 00                	jae    0x40577c
40577c:	00 00                	add    %al,(%eax)
40577e:	00 00                	add    %al,(%eax)
405780:	e8 03 00 00 00       	call   0x405788
405785:	c3                   	ret
405786:	8b c0                	mov    %eax,%eax
405788:	53                   	push   %ebx
405789:	56                   	push   %esi
40578a:	57                   	push   %edi
40578b:	8b fa                	mov    %edx,%edi
40578d:	8b f0                	mov    %eax,%esi
40578f:	8b 1d 34 90 46 00    	mov    0x469034,%ebx
405795:	85 db                	test   %ebx,%ebx
405797:	74 15                	je     0x4057ae
405799:	8b c3                	mov    %ebx,%eax
40579b:	e8 34 fb ff ff       	call   0x4052d4
4057a0:	8b d7                	mov    %edi,%edx
4057a2:	ff d6                	call   *%esi
4057a4:	84 c0                	test   %al,%al
4057a6:	74 06                	je     0x4057ae
4057a8:	8b 1b                	mov    (%ebx),%ebx
4057aa:	85 db                	test   %ebx,%ebx
4057ac:	75 eb                	jne    0x405799
4057ae:	5f                   	pop    %edi
4057af:	5e                   	pop    %esi
4057b0:	5b                   	pop    %ebx
4057b1:	c3                   	ret
4057b2:	8b c0                	mov    %eax,%eax
4057b4:	e8 0b 00 00 00       	call   0x4057c4
4057b9:	c3                   	ret
4057ba:	8b c0                	mov    %eax,%eax
4057bc:	e8 23 00 00 00       	call   0x4057e4
4057c1:	c3                   	ret
4057c2:	8b c0                	mov    %eax,%eax
4057c4:	53                   	push   %ebx
4057c5:	8b d8                	mov    %eax,%ebx
4057c7:	b8 08 00 00 00       	mov    $0x8,%eax
4057cc:	e8 23 cf ff ff       	call   0x4026f4
4057d1:	8b 15 38 90 46 00    	mov    0x469038,%edx
4057d7:	89 10                	mov    %edx,(%eax)
4057d9:	89 58 04             	mov    %ebx,0x4(%eax)
4057dc:	a3 38 90 46 00       	mov    %eax,0x469038
4057e1:	5b                   	pop    %ebx
4057e2:	c3                   	ret
4057e3:	90                   	nop
4057e4:	53                   	push   %ebx
4057e5:	56                   	push   %esi
4057e6:	8b 35 38 90 46 00    	mov    0x469038,%esi
4057ec:	85 f6                	test   %esi,%esi
4057ee:	74 22                	je     0x405812
4057f0:	8b 56 04             	mov    0x4(%esi),%edx
4057f3:	3b d0                	cmp    %eax,%edx
4057f5:	75 1b                	jne    0x405812
4057f7:	a1 38 90 46 00       	mov    0x469038,%eax