40275e:	33 c0                	xor    %eax,%eax
402760:	89 85 e8 47 fe ff    	mov    %eax,-0x1b818(%ebp)
402766:	8d 95 d8 87 fd ff    	lea    -0x27828(%ebp),%edx
40276c:	b8 b8 29 40 00       	mov    $0x4029b8,%eax
402771:	b9 28 00 00 00       	mov    $0x28,%ecx
402776:	e8 41 fb ff ff       	call   0x4022bc
40277b:	8b d8                	mov    %eax,%ebx
40277d:	c7 85 f0 47 fe ff 37 	movl   $0x37,-0x1b810(%ebp)
402784:	00 00 00
402787:	c7 85 dc 47 fe ff 42 	movl   $0x460042,-0x1b824(%ebp)
40278e:	00 46 00
402791:	8d 85 fc 4f fe ff    	lea    -0x1b004(%ebp),%eax
402797:	89 85 d8 47 fe ff    	mov    %eax,-0x1b828(%ebp)
40279d:	8b 85 dc 47 fe ff    	mov    -0x1b824(%ebp),%eax
4027a3:	0f b7 00             	movzwl (%eax),%eax
4027a6:	83 e8 04             	sub    $0x4,%eax
4027a9:	89 85 e4 47 fe ff    	mov    %eax,-0x1b81c(%ebp)
4027af:	c6 85 f6 47 fe ff 00 	movb   $0x0,-0x1b80a(%ebp)
4027b6:	bf ff 00 00 00       	mov    $0xff,%edi
4027bb:	8b 85 d8 47 fe ff    	mov    -0x1b828(%ebp),%eax
4027c1:	8b f0                	mov    %eax,%esi
4027c3:	8d 85 d7 ff fd ff    	lea    -0x20029(%ebp),%eax
4027c9:	3b d8                	cmp    %eax,%ebx
4027cb:	0f 87 09 01 00 00    	ja     0x4028da
4027d1:	83 3e 00             	cmpl   $0x0,(%esi)
4027d4:	0f 86 f3 00 00 00    	jbe    0x4028cd
4027da:	80 bd f7 47 fe ff 00 	cmpb   $0x0,-0x1b809(%ebp)
4027e1:	75 1a                	jne    0x4027fd
4027e3:	b8 e4 29 40 00       	mov    $0x4029e4,%eax
4027e8:	b9 27 00 00 00       	mov    $0x27,%ecx
4027ed:	8b d3                	mov    %ebx,%edx
4027ef:	e8 c8 fa ff ff       	call   0x4022bc
4027f4:	8b d8                	mov    %eax,%ebx
4027f6:	c6 85 f7 47 fe ff 01 	movb   $0x1,-0x1b809(%ebp)
4027fd:	80 bd f6 47 fe ff 00 	cmpb   $0x0,-0x1b80a(%ebp)
402804:	75 4f                	jne    0x402855
402806:	c6 03 0d             	movb   $0xd,(%ebx)
402809:	43                   	inc    %ebx
40280a:	c6 03 0a             	movb   $0xa,(%ebx)
40280d:	43                   	inc    %ebx
40280e:	8b 85 e8 47 fe ff    	mov    -0x1b818(%ebp),%eax
402814:	40                   	inc    %eax
402815:	8b d3                	mov    %ebx,%edx
402817:	e8 84 f9 ff ff       	call   0x4021a0
40281c:	8b d8                	mov    %eax,%ebx
40281e:	c6 03 20             	movb   $0x20,(%ebx)
402821:	43                   	inc    %ebx
402822:	c6 03 2d             	movb   $0x2d,(%ebx)
402825:	43                   	inc    %ebx
402826:	c6 03 20             	movb   $0x20,(%ebx)
402829:	43                   	inc    %ebx
40282a:	8b d3                	mov    %ebx,%edx
40282c:	8b 85 e4 47 fe ff    	mov    -0x1b81c(%ebp),%eax
402832:	e8 69 f9 ff ff       	call   0x4021a0
402837:	8b d8                	mov    %eax,%ebx
402839:	b8 0c 2a 40 00       	mov    $0x402a0c,%eax
40283e:	b9 08 00 00 00       	mov    $0x8,%ecx
402843:	8b d3                	mov    %ebx,%edx
402845:	e8 72 fa ff ff       	call   0x4022bc
40284a:	8b d8                	mov    %eax,%ebx
40284c:	c6 85 f6 47 fe ff 01 	movb   $0x1,-0x1b80a(%ebp)
402853:	eb 08                	jmp    0x40285d
402855:	c6 03 2c             	movb   $0x2c,(%ebx)
402858:	43                   	inc    %ebx
402859:	c6 03 20             	movb   $0x20,(%ebx)
40285c:	43                   	inc    %ebx
40285d:	8b c7                	mov    %edi,%eax
40285f:	83 e8 01             	sub    $0x1,%eax
402862:	72 04                	jb     0x402868
402864:	74 17                	je     0x40287d
402866:	eb 2a                	jmp    0x402892
402868:	b8 18 2a 40 00       	mov    $0x402a18,%eax
40286d:	b9 07 00 00 00       	mov    $0x7,%ecx
402872:	8b d3                	mov    %ebx,%edx
402874:	e8 43 fa ff ff       	call   0x4022bc
402879:	8b d8                	mov    %eax,%ebx
40287b:	eb 39                	jmp    0x4028b6
40287d:	b8 20 2a 40 00       	mov    $0x402a20,%eax
402882:	b9 06 00 00 00       	mov    $0x6,%ecx
402887:	8b d3                	mov    %ebx,%edx
402889:	e8 2e fa ff ff       	call   0x4022bc
40288e:	8b d8                	mov    %eax,%ebx
402890:	eb 24                	jmp    0x4028b6
402892:	8d 95 d8 86 fd ff    	lea    -0x27928(%ebp),%edx
402898:	8b 46 fc             	mov    -0x4(%esi),%eax
40289b:	e8 34 0f 00 00       	call   0x4037d4
4028a0:	0f b6 8d d8 86 fd ff 	movzbl -0x27928(%ebp),%ecx
4028a7:	8d 85 d9 86 fd ff    	lea    -0x27927(%ebp),%eax
4028ad:	8b d3                	mov    %ebx,%edx
4028af:	e8 08 fa ff ff       	call   0x4022bc
4028b4:	8b d8                	mov    %eax,%ebx
4028b6:	c6 03 20             	movb   $0x20,(%ebx)
4028b9:	43                   	inc    %ebx
4028ba:	c6 03 78             	movb   $0x78,(%ebx)
4028bd:	43                   	inc    %ebx
4028be:	c6 03 20             	movb   $0x20,(%ebx)
4028c1:	43                   	inc    %ebx
4028c2:	8b 06                	mov    (%esi),%eax
4028c4:	8b d3                	mov    %ebx,%edx
4028c6:	e8 d5 f8 ff ff       	call   0x4021a0
4028cb:	8b d8                	mov    %eax,%ebx
4028cd:	4f                   	dec    %edi
4028ce:	83 ee 08             	sub    $0x8,%esi
4028d1:	83 ff ff             	cmp    $0xffffffff,%edi
4028d4:	0f 85 e9 fe ff ff    	jne    0x4027c3
4028da:	8b 85 e4 47 fe ff    	mov    -0x1b81c(%ebp),%eax
4028e0:	89 85 e8 47 fe ff    	mov    %eax,-0x1b818(%ebp)
4028e6:	81 85 d8 47 fe ff 00 	addl   $0x800,-0x1b828(%ebp)
4028ed:	08 00 00
4028f0:	83 85 dc 47 fe ff 20 	addl   $0x20,-0x1b824(%ebp)
4028f7:	ff 8d f0 47 fe ff    	decl   -0x1b810(%ebp)
4028fd:	0f 85 9a fe ff ff    	jne    0x40279d
402903:	83 bd f8 47 fe ff 00 	cmpl   $0x0,-0x1b808(%ebp)
40290a:	7e 7a                	jle    0x402986
40290c:	80 bd f7 47 fe ff 00 	cmpb   $0x0,-0x1b809(%ebp)
402913:	74 10                	je     0x402925
402915:	c6 03 0d             	movb   $0xd,(%ebx)
402918:	43                   	inc    %ebx
402919:	c6 03 0a             	movb   $0xa,(%ebx)
40291c:	43                   	inc    %ebx
40291d:	c6 03 0d             	movb   $0xd,(%ebx)
402920:	43                   	inc    %ebx
402921:	c6 03 0a             	movb   $0xa,(%ebx)
402924:	43                   	inc    %ebx
402925:	b8 28 2a 40 00       	mov    $0x402a28,%eax
40292a:	b9 3c 00 00 00       	mov    $0x3c,%ecx
40292f:	8b d3                	mov    %ebx,%edx
402931:	e8 86 f9 ff ff       	call   0x4022bc
402936:	8b d8                	mov    %eax,%ebx
402938:	8b bd f8 47 fe ff    	mov    -0x1b808(%ebp),%edi
40293e:	4f                   	dec    %edi
40293f:	85 ff                	test   %edi,%edi
402941:	72 43                	jb     0x402986
402943:	47                   	inc    %edi
402944:	c7 85 e0 47 fe ff 00 	movl   $0x0,-0x1b820(%ebp)
40294b:	00 00 00
40294e:	8d b5 d8 07 fe ff    	lea    -0x1f828(%ebp),%esi
402954:	83 bd e0 47 fe ff 00 	cmpl   $0x0,-0x1b820(%ebp)
40295b:	74 08                	je     0x402965
40295d:	c6 03 2c             	movb   $0x2c,(%ebx)
402960:	43                   	inc    %ebx
402961:	c6 03 20             	movb   $0x20,(%ebx)
402964:	43                   	inc    %ebx
402965:	8b 06                	mov    (%esi),%eax
402967:	8b d3                	mov    %ebx,%edx
402969:	e8 32 f8 ff ff       	call   0x4021a0
40296e:	8b d8                	mov    %eax,%ebx
402970:	8d 85 d7 ff fd ff    	lea    -0x20029(%ebp),%eax
402976:	3b d8                	cmp    %eax,%ebx
402978:	77 0c                	ja     0x402986
40297a:	ff 85 e0 47 fe ff    	incl   -0x1b820(%ebp)
402980:	83 c6 04             	add    $0x4,%esi
402983:	4f                   	dec    %edi
402984:	75 ce                	jne    0x402954
402986:	b8 68 2a 40 00       	mov    $0x402a68,%eax
40298b:	b9 03 00 00 00       	mov    $0x3,%ecx
402990:	8b d3                	mov    %ebx,%edx
402992:	e8 25 f9 ff ff       	call   0x4022bc
402997:	68 10 20 00 00       	push   $0x2010
40299c:	68 6c 2a 40 00       	push   $0x402a6c
4029a1:	8d 85 d8 87 fd ff    	lea    -0x27828(%ebp),%eax
4029a7:	50                   	push   %eax
4029a8:	6a 00                	push   $0x0
4029aa:	e8 d5 e8 ff ff       	call   0x401284
4029af:	5f                   	pop    %edi
4029b0:	5e                   	pop    %esi
4029b1:	5b                   	pop    %ebx
4029b2:	8b e5                	mov    %ebp,%esp
4029b4:	5d                   	pop    %ebp
4029b5:	c3                   	ret
4029b6:	00 00                	add    %al,(%eax)
4029b8:	41                   	inc    %ecx
4029b9:	6e                   	outsb  %ds:(%esi),(%dx)
4029ba:	20 75 6e             	and    %dh,0x6e(%ebp)
4029bd:	65 78 70             	gs js  0x402a30
4029c0:	65 63 74 65 64       	arpl   %esi,%gs:0x64(%ebp,%eiz,2)
4029c5:	20 6d 65             	and    %ch,0x65(%ebp)
4029c8:	6d                   	insl   (%dx),%es:(%edi)
4029c9:	6f                   	outsl  %ds:(%esi),(%dx)
4029ca:	72 79                	jb     0x402a45
4029cc:	20 6c 65 61          	and    %ch,0x61(%ebp,%eiz,2)
4029d0:	6b 20 68             	imul   $0x68,(%eax),%esp
4029d3:	61                   	popa
4029d4:	73 20                	jae    0x4029f6
4029d6:	6f                   	outsl  %ds:(%esi),(%dx)
4029d7:	63 63 75             	arpl   %esp,0x75(%ebx)
4029da:	72 72                	jb     0x402a4e
4029dc:	65 64 2e 20 00       	gs fs and %al,%cs:(%eax)
4029e1:	00 00                	add    %al,(%eax)
4029e3:	00 54 68 65          	add    %dl,0x65(%eax,%ebp,2)
4029e7:	20 75 6e             	and    %dh,0x6e(%ebp)
4029ea:	65 78 70             	gs js  0x402a5d
4029ed:	65 63 74 65 64       	arpl   %esi,%gs:0x64(%ebp,%eiz,2)
4029f2:	20 73 6d             	and    %dh,0x6d(%ebx)
4029f5:	61                   	popa
4029f6:	6c                   	insb   (%dx),%es:(%edi)
4029f7:	6c                   	insb   (%dx),%es:(%edi)
4029f8:	20 62 6c             	and    %ah,0x6c(%edx)
4029fb:	6f                   	outsl  %ds:(%esi),(%dx)
4029fc:	63 6b 20             	arpl   %ebp,0x20(%ebx)
4029ff:	6c                   	insb   (%dx),%es:(%edi)
402a00:	65 61                	gs popa
402a02:	6b 73 20 61          	imul   $0x61,0x20(%ebx),%esi
402a06:	72 65                	jb     0x402a6d
402a08:	3a 0d 0a 00 20 62    	cmp    0x6220000a,%cl
402a0e:	79 74                	jns    0x402a84
402a10:	65 73 3a             	gs jae 0x402a4d
402a13:	20 00                	and    %al,(%eax)
402a15:	00 00                	add    %al,(%eax)
402a17:	00 55 6e             	add    %dl,0x6e(%ebp)
402a1a:	6b 6e 6f 77          	imul   $0x77,0x6f(%esi),%ebp
402a1e:	6e                   	outsb  %ds:(%esi),(%dx)
402a1f:	00 53 74             	add    %dl,0x74(%ebx)
402a22:	72 69                	jb     0x402a8d
402a24:	6e                   	outsb  %ds:(%esi),(%dx)
402a25:	67 00 00             	add    %al,(%bx,%si)
402a28:	54                   	push   %esp
402a29:	68 65 20 73 69       	push   $0x69732065
402a2e:	7a 65                	jp     0x402a95
402a30:	73 20                	jae    0x402a52
402a32:	6f                   	outsl  %ds:(%esi),(%dx)
402a33:	66 20 75 6e          	data16 and %dh,0x6e(%ebp)
402a37:	65 78 70             	gs js  0x402aaa
402a3a:	65 63 74 65 64       	arpl   %esi,%gs:0x64(%ebp,%eiz,2)
402a3f:	20 6c 65 61          	and    %ch,0x61(%ebp,%eiz,2)
402a43:	6b 65 64 20          	imul   $0x20,0x64(%ebp),%esp
402a47:	6d                   	insl   (%dx),%es:(%edi)
402a48:	65 64 69 75 6d 20 61 	gs imul $0x646e6120,%fs:0x6d(%ebp),%esi
402a4f:	6e 64
402a51:	20 6c 61 72          	and    %ch,0x72(%ecx,%eiz,2)
402a55:	67 65 20 62 6c       	and    %ah,%gs:0x6c(%bp,%si)
402a5a:	6f                   	outsl  %ds:(%esi),(%dx)
402a5b:	63 6b 73             	arpl   %ebp,0x73(%ebx)
402a5e:	20 61 72             	and    %ah,0x72(%ecx)
402a61:	65 3a 20             	cmp    %gs:(%eax),%ah
402a64:	00 00                	add    %al,(%eax)
402a66:	00 00                	add    %al,(%eax)
402a68:	0d 0a 00 00 55       	or     $0x5500000a,%eax
402a6d:	6e                   	outsb  %ds:(%esi),(%dx)
402a6e:	65 78 70             	gs js  0x402ae1
402a71:	65 63 74 65 64       	arpl   %esi,%gs:0x64(%ebp,%eiz,2)
402a76:	20 4d 65             	and    %cl,0x65(%ebp)
402a79:	6d                   	insl   (%dx),%es:(%edi)
402a7a:	6f                   	outsl  %ds:(%esi),(%dx)
402a7b:	72 79                	jb     0x402af6
402a7d:	20 4c 65 61          	and    %cl,0x61(%ebp,%eiz,2)
402a81:	6b 00 00             	imul   $0x0,(%eax),%eax
402a84:	56                   	push   %esi
402a85:	57                   	push   %edi
402a86:	33 c0                	xor    %eax,%eax
402a88:	33 f6                	xor    %esi,%esi
402a8a:	ba 42 00 46 00       	mov    $0x460042,%edx
402a8f:	80 3d 06 e7 46 00 00 	cmpb   $0x0,0x46e706
402a96:	74 05                	je     0x402a9d
402a98:	f6 02 0f             	testb  $0xf,(%edx)
402a9b:	75 1d                	jne    0x402aba
402a9d:	0f b7 3a             	movzwl (%edx),%edi
402aa0:	c1 ef 03             	shr    $0x3,%edi
402aa3:	8b ce                	mov    %esi,%ecx
402aa5:	03 c9                	add    %ecx,%ecx
402aa7:	03 c9                	add    %ecx,%ecx
402aa9:	3b f8                	cmp    %eax,%edi
402aab:	76 0b                	jbe    0x402ab8
402aad:	88 88 c0 e5 46 00    	mov    %cl,0x46e5c0(%eax)
402ab3:	40                   	inc    %eax
402ab4:	3b f8                	cmp    %eax,%edi
402ab6:	77 f5                	ja     0x402aad
402ab8:	8b c7                	mov    %edi,%eax
402aba:	46                   	inc    %esi
402abb:	83 c2 20             	add    $0x20,%edx
402abe:	83 fe 37             	cmp    $0x37,%esi
402ac1:	75 cc                	jne    0x402a8f
402ac3:	5f                   	pop    %edi
402ac4:	5e                   	pop    %esi
402ac5:	c3                   	ret
402ac6:	8b c0                	mov    %eax,%eax
402ac8:	53                   	push   %ebx
402ac9:	56                   	push   %esi
402aca:	57                   	push   %edi
402acb:	be 37 00 00 00       	mov    $0x37,%esi
402ad0:	bb 5c 00 46 00       	mov    $0x46005c,%ebx
402ad5:	83 3b 00             	cmpl   $0x0,(%ebx)
402ad8:	75 06                	jne    0x402ae0
402ada:	c7 03 50 15 40 00    	movl   $0x401550,(%ebx)
402ae0:	8d 43 e4             	lea    -0x1c(%ebx),%eax
402ae3:	89 43 f8             	mov    %eax,-0x8(%ebx)
402ae6:	8d 43 e4             	lea    -0x1c(%ebx),%eax
402ae9:	89 43 e8             	mov    %eax,-0x18(%ebx)
402aec:	33 c0                	xor    %eax,%eax
402aee:	89 43 f0             	mov    %eax,-0x10(%ebx)
402af1:	c7 43 ec 01 00 00 00 	movl   $0x1,-0x14(%ebx)
402af8:	0f b7 43 e6          	movzwl -0x1a(%ebx),%eax
402afc:	03 c0                	add    %eax,%eax
402afe:	03 c0                	add    %eax,%eax
402b00:	8d 04 40             	lea    (%eax,%eax,2),%eax
402b03:	05 ef 00 00 00       	add    $0xef,%eax
402b08:	25 00 ff ff ff       	and    $0xffffff00,%eax
402b0d:	83 c0 30             	add    $0x30,%eax
402b10:	3d 30 0b 00 00       	cmp    $0xb30,%eax
402b15:	73 05                	jae    0x402b1c
402b17:	b8 30 0b 00 00       	mov    $0xb30,%eax
402b1c:	05 d0 04 00 00       	add    $0x4d0,%eax
402b21:	c1 e8 0d             	shr    $0xd,%eax
402b24:	83 f8 07             	cmp    $0x7,%eax
402b27:	76 05                	jbe    0x402b2e
402b29:	b8 07 00 00 00       	mov    $0x7,%eax
402b2e:	8b c8                	mov    %eax,%ecx
402b30:	b2 ff                	mov    $0xff,%dl
402b32:	d2 e2                	shl    %cl,%dl
402b34:	88 53 e5             	mov    %dl,-0x1b(%ebx)
402b37:	c1 e0 0d             	shl    $0xd,%eax
402b3a:	66 05 30 0b          	add    $0xb30,%ax
402b3e:	66 89 43 fc          	mov    %ax,-0x4(%ebx)
402b42:	0f b7 7b e6          	movzwl -0x1a(%ebx),%edi
402b46:	0f b7 c7             	movzwl %di,%eax
402b49:	8b c8                	mov    %eax,%ecx
402b4b:	c1 e1 04             	shl    $0x4,%ecx
402b4e:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
402b51:	81 c1 ef 00 00 00    	add    $0xef,%ecx
402b57:	81 e1 00 ff ff ff    	and    $0xffffff00,%ecx
402b5d:	83 c1 30             	add    $0x30,%ecx
402b60:	81 f9 30 73 00 00    	cmp    $0x7330,%ecx
402b66:	73 05                	jae    0x402b6d
402b68:	b9 30 73 00 00       	mov    $0x7330,%ecx
402b6d:	81 f9 30 ff 00 00    	cmp    $0xff30,%ecx
402b73:	76 05                	jbe    0x402b7a
402b75:	b9 30 ff 00 00       	mov    $0xff30,%ecx
402b7a:	8b c1                	mov    %ecx,%eax
402b7c:	83 e8 20             	sub    $0x20,%eax
402b7f:	0f b7 d7             	movzwl %di,%edx
402b82:	8b ca                	mov    %edx,%ecx
402b84:	33 d2                	xor    %edx,%edx
402b86:	f7 f1                	div    %ecx
402b88:	66 f7 ef             	imul   %di
402b8b:	66 05 ef 00          	add    $0xef,%ax
402b8f:	66 25 00 ff          	and    $0xff00,%ax
402b93:	66 83 c0 30          	add    $0x30,%ax
402b97:	66 89 43 fe          	mov    %ax,-0x2(%ebx)
402b9b:	83 c3 20             	add    $0x20,%ebx
402b9e:	4e                   	dec    %esi
402b9f:	0f 85 30 ff ff ff    	jne    0x402ad5
402ba5:	e8 da fe ff ff       	call   0x402a84
402baa:	c7 05 08 e7 46 00 08 	movl   $0x46e708,0x46e708
402bb1:	e7 46 00
402bb4:	c7 05 0c e7 46 00 08 	movl   $0x46e708,0x46e70c
402bbb:	e7 46 00
402bbe:	be 00 04 00 00       	mov    $0x400,%esi
402bc3:	ba a8 e7 46 00       	mov    $0x46e7a8,%edx
402bc8:	8b c2                	mov    %edx,%eax
402bca:	89 00                	mov    %eax,(%eax)