4034b5:	3b c3                	cmp    %ebx,%eax
4034b7:	89 44 24 10          	mov    %eax,0x10(%esp)
4034bb:	0f 85 8e 00 00 00    	jne    0x40354f
4034c1:	39 1d 20 37 42 00    	cmp    %ebx,0x423720
4034c7:	74 76                	je     0x40353f
4034c9:	53                   	push   %ebx
4034ca:	55                   	push   %ebp
4034cb:	e8 cd 24 00 00       	call   0x40599d
4034d0:	8b f8                	mov    %eax,%edi
4034d2:	3b fd                	cmp    %ebp,%edi
4034d4:	72 34                	jb     0x40350a
4034d6:	0f be 05 5b 91 40 00 	movsbl 0x40915b,%eax
4034dd:	0f be 0d 5a 91 40 00 	movsbl 0x40915a,%ecx
4034e4:	c1 e0 08             	shl    $0x8,%eax
4034e7:	0b c1                	or     %ecx,%eax
4034e9:	0f be 0d 59 91 40 00 	movsbl 0x409159,%ecx
4034f0:	c1 e0 08             	shl    $0x8,%eax
4034f3:	0b c1                	or     %ecx,%eax
4034f5:	0f be 0d 58 91 40 00 	movsbl 0x409158,%ecx
4034fc:	c1 e0 08             	shl    $0x8,%eax
4034ff:	0b c1                	or     %ecx,%eax
403501:	39 07                	cmp    %eax,(%edi)
403503:	74 05                	je     0x40350a
403505:	4f                   	dec    %edi
403506:	3b fd                	cmp    %ebp,%edi
403508:	73 f7                	jae    0x403501
40350a:	3b fd                	cmp    %ebp,%edi
40350c:	c7 44 24 10 04 91 40 	movl   $0x409104,0x10(%esp)
403513:	00
403514:	72 65                	jb     0x40357b
403516:	88 1f                	mov    %bl,(%edi)
403518:	83 c7 04             	add    $0x4,%edi
40351b:	57                   	push   %edi
40351c:	e8 3f 25 00 00       	call   0x405a60
403521:	85 c0                	test   %eax,%eax
403523:	74 2a                	je     0x40354f
403525:	57                   	push   %edi
403526:	68 00 94 42 00       	push   $0x429400
40352b:	e8 aa 2a 00 00       	call   0x405fda
403530:	57                   	push   %edi
403531:	68 00 98 42 00       	push   $0x429800
403536:	e8 9f 2a 00 00       	call   0x405fda
40353b:	89 5c 24 10          	mov    %ebx,0x10(%esp)
40353f:	83 0d cc 37 42 00 ff 	orl    $0xffffffff,0x4237cc
403546:	e8 ac 02 00 00       	call   0x4037f7
40354b:	89 44 24 18          	mov    %eax,0x18(%esp)
40354f:	e8 c9 01 00 00       	call   0x40371d
403554:	ff 15 80 72 40 00    	call   *0x407280
40355a:	39 5c 24 10          	cmp    %ebx,0x10(%esp)
40355e:	5d                   	pop    %ebp
40355f:	0f 84 1e 01 00 00    	je     0x403683
403565:	68 10 00 20 00       	push   $0x200010
40356a:	ff 74 24 10          	push   0x10(%esp)
40356e:	e8 83 21 00 00       	call   0x4056f6
403573:	6a 02                	push   $0x2
403575:	ff 15 84 70 40 00    	call   *0x407084
40357b:	e8 e1 20 00 00       	call   0x405661
403580:	68 50 91 40 00       	push   $0x409150
403585:	56                   	push   %esi
403586:	8b f8                	mov    %eax,%edi
403588:	e8 69 2a 00 00       	call   0x405ff6
40358d:	3b fb                	cmp    %ebx,%edi
40358f:	74 0b                	je     0x40359c
403591:	68 4c 91 40 00       	push   $0x40914c
403596:	56                   	push   %esi
403597:	e8 5a 2a 00 00       	call   0x405ff6
40359c:	68 44 91 40 00       	push   $0x409144
4035a1:	56                   	push   %esi
4035a2:	e8 4f 2a 00 00       	call   0x405ff6
4035a7:	bd 00 9c 42 00       	mov    $0x429c00,%ebp
4035ac:	55                   	push   %ebp
4035ad:	56                   	push   %esi
4035ae:	ff 15 18 71 40 00    	call   *0x407118
4035b4:	85 c0                	test   %eax,%eax
4035b6:	74 97                	je     0x40354f
4035b8:	3b fb                	cmp    %ebx,%edi
4035ba:	56                   	push   %esi
4035bb:	74 07                	je     0x4035c4
4035bd:	e8 05 20 00 00       	call   0x4055c7
4035c2:	eb 05                	jmp    0x4035c9
4035c4:	e8 7b 20 00 00       	call   0x405644
4035c9:	56                   	push   %esi
4035ca:	ff 15 00 71 40 00    	call   *0x407100
4035d0:	38 1d 00 94 42 00    	cmp    %bl,0x429400
4035d6:	75 0b                	jne    0x4035e3
4035d8:	55                   	push   %ebp
4035d9:	68 00 94 42 00       	push   $0x429400
4035de:	e8 f7 29 00 00       	call   0x405fda
4035e3:	ff 74 24 1c          	push   0x1c(%esp)
4035e7:	68 00 40 42 00       	push   $0x424000
4035ec:	e8 e9 29 00 00       	call   0x405fda
4035f1:	66 0f be 0d 40 91 40 	movsbw 0x409140,%cx
4035f8:	00
4035f9:	33 c0                	xor    %eax,%eax
4035fb:	6a 1a                	push   $0x1a
4035fd:	8a 25 41 91 40 00    	mov    0x409141,%ah
403603:	5d                   	pop    %ebp
403604:	0b c1                	or     %ecx,%eax
403606:	bf c8 e8 41 00       	mov    $0x41e8c8,%edi
40360b:	66 a3 00 44 42 00    	mov    %ax,0x424400
403611:	a1 14 37 42 00       	mov    0x423714,%eax
403616:	ff b0 20 01 00 00    	push   0x120(%eax)
40361c:	57                   	push   %edi
40361d:	e8 da 29 00 00       	call   0x405ffc
403622:	57                   	push   %edi
403623:	ff 15 28 71 40 00    	call   *0x407128
403629:	39 5c 24 10          	cmp    %ebx,0x10(%esp)
40362d:	74 3f                	je     0x40366e
40362f:	6a 01                	push   $0x1
403631:	57                   	push   %edi
403632:	68 00 ac 42 00       	push   $0x42ac00
403637:	ff 15 80 70 40 00    	call   *0x407080
40363d:	85 c0                	test   %eax,%eax
40363f:	74 2d                	je     0x40366e
403641:	53                   	push   %ebx
403642:	57                   	push   %edi
403643:	e8 71 27 00 00       	call   0x405db9
403648:	a1 14 37 42 00       	mov    0x423714,%eax
40364d:	ff b0 24 01 00 00    	push   0x124(%eax)
403653:	57                   	push   %edi
403654:	e8 a3 29 00 00       	call   0x405ffc
403659:	57                   	push   %edi
40365a:	e8 1a 20 00 00       	call   0x405679
40365f:	3b c3                	cmp    %ebx,%eax
403661:	74 0b                	je     0x40366e
403663:	50                   	push   %eax
403664:	ff 15 14 71 40 00    	call   *0x407114
40366a:	89 5c 24 10          	mov    %ebx,0x10(%esp)
40366e:	fe 05 00 44 42 00    	incb   0x424400
403674:	4d                   	dec    %ebp
403675:	75 9a                	jne    0x403611
403677:	53                   	push   %ebx
403678:	56                   	push   %esi
403679:	e8 3b 27 00 00       	call   0x405db9
40367e:	e9 cc fe ff ff       	jmp    0x40354f
403683:	39 1d b4 37 42 00    	cmp    %ebx,0x4237b4
403689:	74 7a                	je     0x403705
40368b:	8d 44 24 18          	lea    0x18(%esp),%eax
40368f:	50                   	push   %eax
403690:	6a 28                	push   $0x28
403692:	ff 15 7c 70 40 00    	call   *0x40707c
403698:	50                   	push   %eax
403699:	ff 15 10 70 40 00    	call   *0x407010
40369f:	6a 02                	push   $0x2
4036a1:	85 c0                	test   %eax,%eax
4036a3:	5f                   	pop    %edi
4036a4:	74 30                	je     0x4036d6
4036a6:	8d 44 24 24          	lea    0x24(%esp),%eax
4036aa:	50                   	push   %eax
4036ab:	68 2c 91 40 00       	push   $0x40912c
4036b0:	53                   	push   %ebx
4036b1:	ff 15 14 70 40 00    	call   *0x407014
4036b7:	53                   	push   %ebx
4036b8:	53                   	push   %ebx
4036b9:	8d 44 24 28          	lea    0x28(%esp),%eax
4036bd:	53                   	push   %ebx
4036be:	50                   	push   %eax
4036bf:	53                   	push   %ebx
4036c0:	ff 74 24 2c          	push   0x2c(%esp)
4036c4:	c7 44 24 38 01 00 00 	movl   $0x1,0x38(%esp)
4036cb:	00
4036cc:	89 7c 24 44          	mov    %edi,0x44(%esp)
4036d0:	ff 15 00 70 40 00    	call   *0x407000
4036d6:	6a 04                	push   $0x4
4036d8:	e8 95 2c 00 00       	call   0x406372
4036dd:	3b c3                	cmp    %ebx,%eax
4036df:	be 02 00 04 80       	mov    $0x80040002,%esi
4036e4:	74 0c                	je     0x4036f2
4036e6:	56                   	push   %esi
4036e7:	6a 25                	push   $0x25
4036e9:	53                   	push   %ebx
4036ea:	53                   	push   %ebx
4036eb:	53                   	push   %ebx
4036ec:	ff d0                	call   *%eax
4036ee:	85 c0                	test   %eax,%eax
4036f0:	74 0c                	je     0x4036fe
4036f2:	56                   	push   %esi
4036f3:	57                   	push   %edi
4036f4:	ff 15 30 72 40 00    	call   *0x407230
4036fa:	85 c0                	test   %eax,%eax
4036fc:	75 07                	jne    0x403705
4036fe:	6a 09                	push   $0x9
403700:	e8 06 dd ff ff       	call   0x40140b
403705:	a1 cc 37 42 00       	mov    0x4237cc,%eax
40370a:	83 f8 ff             	cmp    $0xffffffff,%eax
40370d:	74 04                	je     0x403713
40370f:	89 44 24 14          	mov    %eax,0x14(%esp)
403713:	ff 74 24 14          	push   0x14(%esp)
403717:	ff 15 84 70 40 00    	call   *0x407084
40371d:	a1 18 90 40 00       	mov    0x409018,%eax
403722:	83 f8 ff             	cmp    $0xffffffff,%eax
403725:	74 0e                	je     0x403735
403727:	50                   	push   %eax
403728:	ff 15 14 71 40 00    	call   *0x407114
40372e:	83 0d 18 90 40 00 ff 	orl    $0xffffffff,0x409018
403735:	e8 28 00 00 00       	call   0x403762
40373a:	6a 07                	push   $0x7
40373c:	68 00 a8 42 00       	push   $0x42a800
403741:	e8 5c 20 00 00       	call   0x4057a2
403746:	c3                   	ret
403747:	56                   	push   %esi
403748:	8b 35 cc ec 41 00    	mov    0x41eccc,%esi
40374e:	eb 0a                	jmp    0x40375a
403750:	ff 74 24 08          	push   0x8(%esp)
403754:	ff 56 04             	call   *0x4(%esi)
403757:	8b 36                	mov    (%esi),%esi
403759:	59                   	pop    %ecx
40375a:	85 f6                	test   %esi,%esi
40375c:	75 f2                	jne    0x403750
40375e:	5e                   	pop    %esi
40375f:	c2 04 00             	ret    $0x4
403762:	56                   	push   %esi
403763:	8b 35 cc ec 41 00    	mov    0x41eccc,%esi
403769:	6a 00                	push   $0x0
40376b:	e8 d7 ff ff ff       	call   0x403747
403770:	85 f6                	test   %esi,%esi
403772:	74 1a                	je     0x40378e
403774:	57                   	push   %edi
403775:	8b fe                	mov    %esi,%edi
403777:	8b 36                	mov    (%esi),%esi
403779:	ff 77 08             	push   0x8(%edi)
40377c:	ff 15 4c 71 40 00    	call   *0x40714c
403782:	57                   	push   %edi
403783:	ff 15 5c 71 40 00    	call   *0x40715c
403789:	85 f6                	test   %esi,%esi
40378b:	75 e8                	jne    0x403775
40378d:	5f                   	pop    %edi
40378e:	83 25 cc ec 41 00 00 	andl   $0x0,0x41eccc
403795:	5e                   	pop    %esi
403796:	c3                   	ret
403797:	a1 cc ec 41 00       	mov    0x41eccc,%eax
40379c:	eb 0b                	jmp    0x4037a9
40379e:	8b 48 08             	mov    0x8(%eax),%ecx
4037a1:	3b 4c 24 04          	cmp    0x4(%esp),%ecx
4037a5:	74 0a                	je     0x4037b1
4037a7:	8b 00                	mov    (%eax),%eax
4037a9:	85 c0                	test   %eax,%eax
4037ab:	75 f1                	jne    0x40379e
4037ad:	40                   	inc    %eax
4037ae:	c2 04 00             	ret    $0x4
4037b1:	33 c0                	xor    %eax,%eax
4037b3:	eb f9                	jmp    0x4037ae
4037b5:	56                   	push   %esi
4037b6:	8b 74 24 08          	mov    0x8(%esp),%esi
4037ba:	56                   	push   %esi
4037bb:	e8 d7 ff ff ff       	call   0x403797
4037c0:	85 c0                	test   %eax,%eax
4037c2:	75 03                	jne    0x4037c7
4037c4:	40                   	inc    %eax
4037c5:	eb 2c                	jmp    0x4037f3
4037c7:	6a 0c                	push   $0xc
4037c9:	6a 40                	push   $0x40
4037cb:	ff 15 58 71 40 00    	call   *0x407158
4037d1:	85 c0                	test   %eax,%eax
4037d3:	74 1b                	je     0x4037f0
4037d5:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4037d9:	89 70 08             	mov    %esi,0x8(%eax)
4037dc:	89 48 04             	mov    %ecx,0x4(%eax)
4037df:	8b 0d cc ec 41 00    	mov    0x41eccc,%ecx
4037e5:	89 08                	mov    %ecx,(%eax)
4037e7:	a3 cc ec 41 00       	mov    %eax,0x41eccc
4037ec:	33 c0                	xor    %eax,%eax
4037ee:	eb 03                	jmp    0x4037f3
4037f0:	83 c8 ff             	or     $0xffffffff,%eax
4037f3:	5e                   	pop    %esi
4037f4:	c2 08 00             	ret    $0x8
4037f7:	83 ec 10             	sub    $0x10,%esp
4037fa:	53                   	push   %ebx
4037fb:	55                   	push   %ebp
4037fc:	56                   	push   %esi
4037fd:	8b 35 14 37 42 00    	mov    0x423714,%esi
403803:	57                   	push   %edi
403804:	6a 02                	push   $0x2
403806:	e8 67 2b 00 00       	call   0x406372
40380b:	33 db                	xor    %ebx,%ebx
40380d:	3b c3                	cmp    %ebx,%eax
40380f:	74 12                	je     0x403823
403811:	ff d0                	call   *%eax
403813:	0f b7 c0             	movzwl %ax,%eax
403816:	50                   	push   %eax
403817:	68 00 a0 42 00       	push   $0x42a000
40381c:	e8 17 27 00 00       	call   0x405f38
403821:	eb 54                	jmp    0x403877
403823:	bf 08 fd 41 00       	mov    $0x41fd08,%edi
403828:	53                   	push   %ebx
403829:	57                   	push   %edi
40382a:	53                   	push   %ebx
40382b:	68 44 73 40 00       	push   $0x407344
403830:	68 01 00 00 80       	push   $0x80000001
403835:	c6 05 00 a0 42 00 30 	movb   $0x30,0x42a000
40383c:	c6 05 01 a0 42 00 78 	movb   $0x78,0x42a001
403843:	88 1d 02 a0 42 00    	mov    %bl,0x42a002
403849:	e8 73 26 00 00       	call   0x405ec1
40384e:	38 1d 08 fd 41 00    	cmp    %bl,0x41fd08
403854:	75 16                	jne    0x40386c
403856:	53                   	push   %ebx
403857:	57                   	push   %edi
403858:	68 62 73 40 00       	push   $0x407362
40385d:	68 1c 73 40 00       	push   $0x40731c
403862:	68 03 00 00 80       	push   $0x80000003
403867:	e8 55 26 00 00       	call   0x405ec1
40386c:	57                   	push   %edi
40386d:	68 00 a0 42 00       	push   $0x42a000
403872:	e8 7f 27 00 00       	call   0x405ff6
403877:	e8 40 02 00 00       	call   0x403abc
40387c:	a1 1c 37 42 00       	mov    0x42371c,%eax
403881:	bd 00 94 42 00       	mov    $0x429400,%ebp
403886:	83 e0 20             	and    $0x20,%eax
403889:	55                   	push   %ebp
40388a:	a3 a0 37 42 00       	mov    %eax,0x4237a0
40388f:	c7 05 bc 37 42 00 00 	movl   $0x10000,0x4237bc
403896:	00 01 00
403899:	e8 c2 21 00 00       	call   0x405a60
40389e:	85 c0                	test   %eax,%eax
4038a0:	0f 85 81 00 00 00    	jne    0x403927
4038a6:	8b 4e 48             	mov    0x48(%esi),%ecx
4038a9:	3b cb                	cmp    %ebx,%ecx
4038ab:	74 7a                	je     0x403927
4038ad:	8b 56 4c             	mov    0x4c(%esi),%edx
4038b0:	a1 58 37 42 00       	mov    0x423758,%eax
4038b5:	bf a0 26 42 00       	mov    $0x4226a0,%edi
4038ba:	53                   	push   %ebx
4038bb:	03 d0                	add    %eax,%edx
4038bd:	57                   	push   %edi
4038be:	03 c8                	add    %eax,%ecx
4038c0:	52                   	push   %edx
4038c1:	51                   	push   %ecx
4038c2:	ff 76 44             	push   0x44(%esi)
4038c5:	e8 f7 25 00 00       	call   0x405ec1
4038ca:	a0 a0 26 42 00       	mov    0x4226a0,%al
4038cf:	3a c3                	cmp    %bl,%al
4038d1:	74 54                	je     0x403927
4038d3:	3c 22                	cmp    $0x22,%al
4038d5:	75 0f                	jne    0x4038e6
4038d7:	bf a1 26 42 00       	mov    $0x4226a1,%edi
4038dc:	6a 22                	push   $0x22
4038de:	57                   	push   %edi
4038df:	e8 b9 20 00 00       	call   0x40599d
4038e4:	88 18                	mov    %bl,(%eax)
4038e6:	57                   	push   %edi
4038e7:	e8 04 27 00 00       	call   0x405ff0
4038ec:	8d 44 38 fc          	lea    -0x4(%eax,%edi,1),%eax
4038f0:	3b c7                	cmp    %edi,%eax
4038f2:	76 26                	jbe    0x40391a
4038f4:	68 f8 91 40 00       	push   $0x4091f8
4038f9:	50                   	push   %eax
4038fa:	ff 15 18 71 40 00    	call   *0x407118
403900:	85 c0                	test   %eax,%eax
403902:	75 16                	jne    0x40391a
403904:	57                   	push   %edi