403510:	6a 0a                	push   $0xa
403512:	e8 ab 32 00 00       	call   0x4067c2
403517:	6a 08                	push   $0x8
403519:	e8 a4 32 00 00       	call   0x4067c2
40351e:	6a 06                	push   $0x6
403520:	a3 44 a2 42 00       	mov    %eax,0x42a244
403525:	e8 98 32 00 00       	call   0x4067c2
40352a:	3b c3                	cmp    %ebx,%eax
40352c:	74 0f                	je     0x40353d
40352e:	6a 1e                	push   $0x1e
403530:	ff d0                	call   *%eax
403532:	85 c0                	test   %eax,%eax
403534:	74 07                	je     0x40353d
403536:	80 0d 4f a2 42 00 40 	orb    $0x40,0x42a24f
40353d:	55                   	push   %ebp
40353e:	ff 15 44 80 40 00    	call   *0x408044
403544:	53                   	push   %ebx
403545:	ff 15 a0 82 40 00    	call   *0x4082a0
40354b:	a3 18 a3 42 00       	mov    %eax,0x42a318
403550:	53                   	push   %ebx
403551:	8d 44 24 34          	lea    0x34(%esp),%eax
403555:	68 b4 02 00 00       	push   $0x2b4
40355a:	50                   	push   %eax
40355b:	53                   	push   %ebx
40355c:	68 e8 16 42 00       	push   $0x4216e8
403561:	ff 15 88 81 40 00    	call   *0x408188
403567:	68 84 a3 40 00       	push   $0x40a384
40356c:	68 40 92 42 00       	push   $0x429240
403571:	e8 72 2e 00 00       	call   0x4063e8
403576:	ff 15 a4 80 40 00    	call   *0x4080a4
40357c:	bd 00 50 43 00       	mov    $0x435000,%ebp
403581:	50                   	push   %eax
403582:	55                   	push   %ebp
403583:	e8 60 2e 00 00       	call   0x4063e8
403588:	66 83 3d 00 50 43 00 	cmpw   $0x22,0x435000
40358f:	22
403590:	c7 05 40 a2 42 00 00 	movl   $0x400000,0x42a240
403597:	00 40 00
40359a:	8b c5                	mov    %ebp,%eax
40359c:	75 08                	jne    0x4035a6
40359e:	6a 22                	push   $0x22
4035a0:	b8 02 50 43 00       	mov    $0x435002,%eax
4035a5:	5f                   	pop    %edi
4035a6:	57                   	push   %edi
4035a7:	50                   	push   %eax
4035a8:	e8 3d 27 00 00       	call   0x405cea
4035ad:	50                   	push   %eax
4035ae:	ff 15 48 82 40 00    	call   *0x408248
4035b4:	8b c8                	mov    %eax,%ecx
4035b6:	89 4c 24 18          	mov    %ecx,0x18(%esp)
4035ba:	66 8b 01             	mov    (%ecx),%ax
4035bd:	66 3b c3             	cmp    %bx,%ax
4035c0:	0f 84 11 01 00 00    	je     0x4036d7
4035c6:	6a 20                	push   $0x20
4035c8:	5b                   	pop    %ebx
4035c9:	66 3b c3             	cmp    %bx,%ax
4035cc:	75 07                	jne    0x4035d5
4035ce:	41                   	inc    %ecx
4035cf:	41                   	inc    %ecx
4035d0:	66 39 19             	cmp    %bx,(%ecx)
4035d3:	74 f9                	je     0x4035ce
4035d5:	66 83 39 22          	cmpw   $0x22,(%ecx)
4035d9:	75 05                	jne    0x4035e0
4035db:	41                   	inc    %ecx
4035dc:	6a 22                	push   $0x22
4035de:	41                   	inc    %ecx
4035df:	5b                   	pop    %ebx
4035e0:	66 83 39 2f          	cmpw   $0x2f,(%ecx)
4035e4:	0f 85 b9 00 00 00    	jne    0x4036a3
4035ea:	41                   	inc    %ecx
4035eb:	41                   	inc    %ecx
4035ec:	66 83 39 53          	cmpw   $0x53,(%ecx)
4035f0:	75 19                	jne    0x40360b
4035f2:	66 8b 41 02          	mov    0x2(%ecx),%ax
4035f6:	66 3d 20 00          	cmp    $0x20,%ax
4035fa:	74 05                	je     0x403601
4035fc:	66 85 c0             	test   %ax,%ax
4035ff:	75 0a                	jne    0x40360b
403601:	c7 05 00 a3 42 00 01 	movl   $0x1,0x42a300
403608:	00 00 00
40360b:	0f b7 05 7e a3 40 00 	movzwl 0x40a37e,%eax
403612:	99                   	cltd
403613:	0f a4 c2 10          	shld   $0x10,%eax,%edx
403617:	c1 e0 10             	shl    $0x10,%eax
40361a:	8b f8                	mov    %eax,%edi
40361c:	33 f6                	xor    %esi,%esi
40361e:	0f b7 05 7c a3 40 00 	movzwl 0x40a37c,%eax
403625:	99                   	cltd
403626:	0f b7 15 78 a3 40 00 	movzwl 0x40a378,%edx
40362d:	0b f8                	or     %eax,%edi
40362f:	0f b7 05 7a a3 40 00 	movzwl 0x40a37a,%eax
403636:	c1 e0 10             	shl    $0x10,%eax
403639:	0b c2                	or     %edx,%eax
40363b:	99                   	cltd
40363c:	0b f0                	or     %eax,%esi
40363e:	8b 01                	mov    (%ecx),%eax
403640:	0b fa                	or     %edx,%edi
403642:	3b c6                	cmp    %esi,%eax
403644:	75 1b                	jne    0x403661
403646:	8b 41 04             	mov    0x4(%ecx),%eax
403649:	3b c7                	cmp    %edi,%eax
40364b:	75 14                	jne    0x403661
40364d:	66 8b 41 08          	mov    0x8(%ecx),%ax
403651:	66 3d 20 00          	cmp    $0x20,%ax
403655:	74 05                	je     0x40365c
403657:	66 85 c0             	test   %ax,%ax
40365a:	75 05                	jne    0x403661
40365c:	83 4c 24 1c 04       	orl    $0x4,0x1c(%esp)
403661:	0f b7 05 72 a3 40 00 	movzwl 0x40a372,%eax
403668:	99                   	cltd
403669:	0f a4 c2 10          	shld   $0x10,%eax,%edx
40366d:	c1 e0 10             	shl    $0x10,%eax
403670:	8b f8                	mov    %eax,%edi
403672:	33 f6                	xor    %esi,%esi
403674:	0f b7 05 70 a3 40 00 	movzwl 0x40a370,%eax
40367b:	99                   	cltd
40367c:	0f b7 15 6c a3 40 00 	movzwl 0x40a36c,%edx
403683:	0b f8                	or     %eax,%edi
403685:	0f b7 05 6e a3 40 00 	movzwl 0x40a36e,%eax
40368c:	c1 e0 10             	shl    $0x10,%eax
40368f:	0b c2                	or     %edx,%eax
403691:	99                   	cltd
403692:	0b f0                	or     %eax,%esi
403694:	8b 41 fc             	mov    -0x4(%ecx),%eax
403697:	0b fa                	or     %edx,%edi
403699:	3b c6                	cmp    %esi,%eax
40369b:	75 06                	jne    0x4036a3
40369d:	8b 01                	mov    (%ecx),%eax
40369f:	3b c7                	cmp    %edi,%eax
4036a1:	74 1f                	je     0x4036c2
4036a3:	53                   	push   %ebx
4036a4:	51                   	push   %ecx
4036a5:	e8 40 26 00 00       	call   0x405cea
4036aa:	8b c8                	mov    %eax,%ecx
4036ac:	66 83 39 22          	cmpw   $0x22,(%ecx)
4036b0:	75 02                	jne    0x4036b4
4036b2:	41                   	inc    %ecx
4036b3:	41                   	inc    %ecx
4036b4:	66 8b 01             	mov    (%ecx),%ax
4036b7:	66 85 c0             	test   %ax,%ax
4036ba:	0f 85 06 ff ff ff    	jne    0x4035c6
4036c0:	eb 13                	jmp    0x4036d5
4036c2:	66 83 61 fc 00       	andw   $0x0,-0x4(%ecx)
4036c7:	83 c1 04             	add    $0x4,%ecx
4036ca:	51                   	push   %ecx
4036cb:	68 00 58 43 00       	push   $0x435800
4036d0:	e8 13 2d 00 00       	call   0x4063e8
4036d5:	33 db                	xor    %ebx,%ebx
4036d7:	8b 35 a0 80 40 00    	mov    0x4080a0,%esi
4036dd:	bf 00 78 43 00       	mov    $0x437800,%edi
4036e2:	57                   	push   %edi
4036e3:	68 00 04 00 00       	push   $0x400
4036e8:	ff d6                	call   *%esi
4036ea:	e8 85 fd ff ff       	call   0x403474
4036ef:	85 c0                	test   %eax,%eax
4036f1:	75 56                	jne    0x403749
4036f3:	68 fb 03 00 00       	push   $0x3fb
4036f8:	57                   	push   %edi
4036f9:	ff 15 9c 80 40 00    	call   *0x40809c
4036ff:	68 60 a3 40 00       	push   $0x40a360
403704:	57                   	push   %edi
403705:	e8 fa 2c 00 00       	call   0x406404
40370a:	e8 65 fd ff ff       	call   0x403474
40370f:	85 c0                	test   %eax,%eax
403711:	75 36                	jne    0x403749
403713:	57                   	push   %edi
403714:	68 fc 03 00 00       	push   $0x3fc
403719:	ff d6                	call   *%esi
40371b:	68 58 a3 40 00       	push   $0x40a358
403720:	57                   	push   %edi
403721:	e8 de 2c 00 00       	call   0x406404
403726:	8b 35 98 80 40 00    	mov    0x408098,%esi
40372c:	57                   	push   %edi
40372d:	68 4c a3 40 00       	push   $0x40a34c
403732:	ff d6                	call   *%esi
403734:	57                   	push   %edi
403735:	68 44 a3 40 00       	push   $0x40a344
40373a:	ff d6                	call   *%esi
40373c:	e8 33 fd ff ff       	call   0x403474
403741:	85 c0                	test   %eax,%eax
403743:	0f 84 cb 00 00 00    	je     0x403814
403749:	68 00 70 43 00       	push   $0x437000
40374e:	ff 15 40 81 40 00    	call   *0x408140
403754:	ff 74 24 1c          	push   0x1c(%esp)
403758:	e8 d3 f7 ff ff       	call   0x402f30
40375d:	3b c3                	cmp    %ebx,%eax
40375f:	89 44 24 10          	mov    %eax,0x10(%esp)
403763:	0f 85 ab 00 00 00    	jne    0x403814
403769:	39 1d 60 a2 42 00    	cmp    %ebx,0x42a260
40376f:	0f 84 8f 00 00 00    	je     0x403804
403775:	53                   	push   %ebx
403776:	55                   	push   %ebp
403777:	e8 6e 25 00 00       	call   0x405cea
40377c:	8b f0                	mov    %eax,%esi
40377e:	3b f5                	cmp    %ebp,%esi
403780:	72 4c                	jb     0x4037ce
403782:	0f b7 05 3e a3 40 00 	movzwl 0x40a33e,%eax
403789:	99                   	cltd
40378a:	0f a4 c2 10          	shld   $0x10,%eax,%edx
40378e:	c1 e0 10             	shl    $0x10,%eax
403791:	8b d8                	mov    %eax,%ebx
403793:	0f b7 05 3c a3 40 00 	movzwl 0x40a33c,%eax
40379a:	0f b7 0d 38 a3 40 00 	movzwl 0x40a338,%ecx
4037a1:	99                   	cltd
4037a2:	0b d8                	or     %eax,%ebx
4037a4:	0f b7 05 3a a3 40 00 	movzwl 0x40a33a,%eax
4037ab:	c1 e0 10             	shl    $0x10,%eax
4037ae:	0b c1                	or     %ecx,%eax
4037b0:	33 c9                	xor    %ecx,%ecx
4037b2:	99                   	cltd
4037b3:	0b c8                	or     %eax,%ecx
4037b5:	8b c3                	mov    %ebx,%eax
4037b7:	0b c2                	or     %edx,%eax
4037b9:	8b 16                	mov    (%esi),%edx
4037bb:	3b d1                	cmp    %ecx,%edx
4037bd:	75 07                	jne    0x4037c6
4037bf:	8b 56 04             	mov    0x4(%esi),%edx
4037c2:	3b d0                	cmp    %eax,%edx
4037c4:	74 06                	je     0x4037cc
4037c6:	4e                   	dec    %esi
4037c7:	4e                   	dec    %esi
4037c8:	3b f5                	cmp    %ebp,%esi
4037ca:	73 ed                	jae    0x4037b9
4037cc:	33 db                	xor    %ebx,%ebx
4037ce:	3b f5                	cmp    %ebp,%esi
4037d0:	c7 44 24 10 b8 a2 40 	movl   $0x40a2b8,0x10(%esp)
4037d7:	00
4037d8:	72 66                	jb     0x403840
4037da:	66 89 1e             	mov    %bx,(%esi)
4037dd:	83 c6 08             	add    $0x8,%esi
4037e0:	56                   	push   %esi
4037e1:	e8 df 25 00 00       	call   0x405dc5
4037e6:	85 c0                	test   %eax,%eax
4037e8:	74 2a                	je     0x403814
4037ea:	56                   	push   %esi
4037eb:	68 00 58 43 00       	push   $0x435800
4037f0:	e8 f3 2b 00 00       	call   0x4063e8
4037f5:	56                   	push   %esi
4037f6:	68 00 60 43 00       	push   $0x436000
4037fb:	e8 e8 2b 00 00       	call   0x4063e8
403800:	89 5c 24 10          	mov    %ebx,0x10(%esp)
403804:	83 0d 0c a3 42 00 ff 	orl    $0xffffffff,0x42a30c
40380b:	e8 c8 02 00 00       	call   0x403ad8
403810:	89 44 24 14          	mov    %eax,0x14(%esp)
403814:	e8 cd 01 00 00       	call   0x4039e6
403819:	ff 15 9c 82 40 00    	call   *0x40829c
40381f:	39 5c 24 10          	cmp    %ebx,0x10(%esp)
403823:	5d                   	pop    %ebp
403824:	0f 84 20 01 00 00    	je     0x40394a
40382a:	68 10 00 20 00       	push   $0x200010
40382f:	ff 74 24 10          	push   0x10(%esp)
403833:	e8 16 22 00 00       	call   0x405a4e
403838:	6a 02                	push   $0x2
40383a:	ff 15 70 80 40 00    	call   *0x408070
403840:	e8 74 21 00 00       	call   0x4059b9
403845:	68 2c a3 40 00       	push   $0x40a32c
40384a:	57                   	push   %edi
40384b:	8b f0                	mov    %eax,%esi
40384d:	e8 b2 2b 00 00       	call   0x406404
403852:	3b f3                	cmp    %ebx,%esi
403854:	74 0b                	je     0x403861
403856:	68 28 a3 40 00       	push   $0x40a328
40385b:	57                   	push   %edi
40385c:	e8 a3 2b 00 00       	call   0x406404
403861:	68 1c a3 40 00       	push   $0x40a31c
403866:	57                   	push   %edi
403867:	e8 98 2b 00 00       	call   0x406404
40386c:	bd 00 68 43 00       	mov    $0x436800,%ebp
403871:	55                   	push   %ebp
403872:	57                   	push   %edi
403873:	ff 15 04 81 40 00    	call   *0x408104
403879:	85 c0                	test   %eax,%eax
40387b:	74 97                	je     0x403814
40387d:	3b f3                	cmp    %ebx,%esi
40387f:	57                   	push   %edi
403880:	74 07                	je     0x403889
403882:	e8 98 20 00 00       	call   0x40591f
403887:	eb 05                	jmp    0x40388e
403889:	e8 0e 21 00 00       	call   0x40599c
40388e:	57                   	push   %edi
40388f:	ff 15 90 80 40 00    	call   *0x408090
403895:	66 39 1d 00 58 43 00 	cmp    %bx,0x435800
40389c:	75 0b                	jne    0x4038a9
40389e:	55                   	push   %ebp
40389f:	68 00 58 43 00       	push   $0x435800
4038a4:	e8 3f 2b 00 00       	call   0x4063e8
4038a9:	ff 74 24 18          	push   0x18(%esp)
4038ad:	68 00 b0 42 00       	push   $0x42b000
4038b2:	e8 31 2b 00 00       	call   0x4063e8
4038b7:	0f b7 05 16 a3 40 00 	movzwl 0x40a316,%eax
4038be:	0f b7 0d 14 a3 40 00 	movzwl 0x40a314,%ecx
4038c5:	c1 e0 10             	shl    $0x10,%eax
4038c8:	0b c1                	or     %ecx,%eax
4038ca:	6a 1a                	push   $0x1a
4038cc:	a3 00 b8 42 00       	mov    %eax,0x42b800
4038d1:	5d                   	pop    %ebp
4038d2:	be e8 0e 42 00       	mov    $0x420ee8,%esi
4038d7:	a1 54 a2 42 00       	mov    0x42a254,%eax
4038dc:	ff b0 20 01 00 00    	push   0x120(%eax)
4038e2:	56                   	push   %esi
4038e3:	e8 22 2b 00 00       	call   0x40640a
4038e8:	56                   	push   %esi
4038e9:	ff 15 40 81 40 00    	call   *0x408140
4038ef:	39 5c 24 10          	cmp    %ebx,0x10(%esp)
4038f3:	74 3f                	je     0x403934
4038f5:	6a 01                	push   $0x1
4038f7:	56                   	push   %esi
4038f8:	68 00 88 43 00       	push   $0x438800
4038fd:	ff 15 b8 80 40 00    	call   *0x4080b8
403903:	85 c0                	test   %eax,%eax
403905:	74 2d                	je     0x403934
403907:	53                   	push   %ebx
403908:	56                   	push   %esi
403909:	e8 a0 28 00 00       	call   0x4061ae
40390e:	a1 54 a2 42 00       	mov    0x42a254,%eax
403913:	ff b0 24 01 00 00    	push   0x124(%eax)
403919:	56                   	push   %esi
40391a:	e8 eb 2a 00 00       	call   0x40640a
40391f:	56                   	push   %esi
403920:	e8 ac 20 00 00       	call   0x4059d1
403925:	3b c3                	cmp    %ebx,%eax
403927:	74 0b                	je     0x403934
403929:	50                   	push   %eax
40392a:	ff 15 20 81 40 00    	call   *0x408120
403930:	89 5c 24 10          	mov    %ebx,0x10(%esp)
403934:	66 ff 05 00 b8 42 00 	incw   0x42b800
40393b:	4d                   	dec    %ebp
40393c:	75 99                	jne    0x4038d7
40393e:	53                   	push   %ebx
40393f:	57                   	push   %edi
403940:	e8 69 28 00 00       	call   0x4061ae
403945:	e9 ca fe ff ff       	jmp    0x403814
40394a:	39 1d f4 a2 42 00    	cmp    %ebx,0x42a2f4
403950:	74 7c                	je     0x4039ce
403952:	8d 44 24 14          	lea    0x14(%esp),%eax
403956:	50                   	push   %eax
403957:	6a 28                	push   $0x28
403959:	ff 15 8c 80 40 00    	call   *0x40808c
40395f:	50                   	push   %eax
403960:	ff 15 10 80 40 00    	call   *0x408010
403966:	85 c0                	test   %eax,%eax
403968:	74 34                	je     0x40399e
40396a:	8d 44 24 20          	lea    0x20(%esp),%eax
40396e:	50                   	push   %eax
40396f:	68 ec a2 40 00       	push   $0x40a2ec
403974:	53                   	push   %ebx
403975:	ff 15 14 80 40 00    	call   *0x408014
40397b:	53                   	push   %ebx
40397c:	53                   	push   %ebx
40397d:	8d 44 24 24          	lea    0x24(%esp),%eax