402727:	83 e6 f0             	and    $0xfffffff0,%esi
40272a:	83 ee 04             	sub    $0x4,%esi
40272d:	83 ee 10             	sub    $0x10,%esi
402730:	8b 85 f8 47 fe ff    	mov    -0x1b808(%ebp),%eax
402736:	89 b4 85 d8 07 fe ff 	mov    %esi,-0x1f828(%ebp,%eax,4)
40273d:	ff 85 f8 47 fe ff    	incl   -0x1b808(%ebp)
402743:	8b 5b 04             	mov    0x4(%ebx),%ebx
402746:	81 fb ac a7 4a 00    	cmp    $0x4aa7ac,%ebx
40274c:	74 0c                	je     0x40275a
40274e:	81 bd f8 47 fe ff 00 	cmpl   $0x1000,-0x1b808(%ebp)
402755:	10 00 00
402758:	7c b5                	jl     0x40270f
40275a:	80 bd ff 47 fe ff 00 	cmpb   $0x0,-0x1b801(%ebp)
402761:	0f 85 58 02 00 00    	jne    0x4029bf
402767:	c6 85 f7 47 fe ff 00 	movb   $0x0,-0x1b809(%ebp)
40276e:	33 c0                	xor    %eax,%eax
402770:	89 85 e8 47 fe ff    	mov    %eax,-0x1b818(%ebp)
402776:	8d 95 d8 87 fd ff    	lea    -0x27828(%ebp),%edx
40277c:	b8 c8 29 40 00       	mov    $0x4029c8,%eax
402781:	b9 28 00 00 00       	mov    $0x28,%ecx
402786:	e8 41 fb ff ff       	call   0x4022cc
40278b:	8b d8                	mov    %eax,%ebx
40278d:	c7 85 f0 47 fe ff 37 	movl   $0x37,-0x1b810(%ebp)
402794:	00 00 00
402797:	c7 85 dc 47 fe ff 3e 	movl   $0x49b03e,-0x1b824(%ebp)
40279e:	b0 49 00
4027a1:	8d 85 fc 4f fe ff    	lea    -0x1b004(%ebp),%eax
4027a7:	89 85 d8 47 fe ff    	mov    %eax,-0x1b828(%ebp)
4027ad:	8b 85 dc 47 fe ff    	mov    -0x1b824(%ebp),%eax
4027b3:	0f b7 00             	movzwl (%eax),%eax
4027b6:	83 e8 04             	sub    $0x4,%eax
4027b9:	89 85 e4 47 fe ff    	mov    %eax,-0x1b81c(%ebp)
4027bf:	c6 85 f6 47 fe ff 00 	movb   $0x0,-0x1b80a(%ebp)
4027c6:	bf ff 00 00 00       	mov    $0xff,%edi
4027cb:	8b 85 d8 47 fe ff    	mov    -0x1b828(%ebp),%eax
4027d1:	8b f0                	mov    %eax,%esi
4027d3:	8d 85 d7 ff fd ff    	lea    -0x20029(%ebp),%eax
4027d9:	3b d8                	cmp    %eax,%ebx
4027db:	0f 87 09 01 00 00    	ja     0x4028ea
4027e1:	83 3e 00             	cmpl   $0x0,(%esi)
4027e4:	0f 86 f3 00 00 00    	jbe    0x4028dd
4027ea:	80 bd f7 47 fe ff 00 	cmpb   $0x0,-0x1b809(%ebp)
4027f1:	75 1a                	jne    0x40280d
4027f3:	b8 f4 29 40 00       	mov    $0x4029f4,%eax
4027f8:	b9 27 00 00 00       	mov    $0x27,%ecx
4027fd:	8b d3                	mov    %ebx,%edx
4027ff:	e8 c8 fa ff ff       	call   0x4022cc
402804:	8b d8                	mov    %eax,%ebx
402806:	c6 85 f7 47 fe ff 01 	movb   $0x1,-0x1b809(%ebp)
40280d:	80 bd f6 47 fe ff 00 	cmpb   $0x0,-0x1b80a(%ebp)
402814:	75 4f                	jne    0x402865
402816:	c6 03 0d             	movb   $0xd,(%ebx)
402819:	43                   	inc    %ebx
40281a:	c6 03 0a             	movb   $0xa,(%ebx)
40281d:	43                   	inc    %ebx
40281e:	8b 85 e8 47 fe ff    	mov    -0x1b818(%ebp),%eax
402824:	40                   	inc    %eax
402825:	8b d3                	mov    %ebx,%edx
402827:	e8 84 f9 ff ff       	call   0x4021b0
40282c:	8b d8                	mov    %eax,%ebx
40282e:	c6 03 20             	movb   $0x20,(%ebx)
402831:	43                   	inc    %ebx
402832:	c6 03 2d             	movb   $0x2d,(%ebx)
402835:	43                   	inc    %ebx
402836:	c6 03 20             	movb   $0x20,(%ebx)
402839:	43                   	inc    %ebx
40283a:	8b d3                	mov    %ebx,%edx
40283c:	8b 85 e4 47 fe ff    	mov    -0x1b81c(%ebp),%eax
402842:	e8 69 f9 ff ff       	call   0x4021b0
402847:	8b d8                	mov    %eax,%ebx
402849:	b8 1c 2a 40 00       	mov    $0x402a1c,%eax
40284e:	b9 08 00 00 00       	mov    $0x8,%ecx
402853:	8b d3                	mov    %ebx,%edx
402855:	e8 72 fa ff ff       	call   0x4022cc
40285a:	8b d8                	mov    %eax,%ebx
40285c:	c6 85 f6 47 fe ff 01 	movb   $0x1,-0x1b80a(%ebp)
402863:	eb 08                	jmp    0x40286d
402865:	c6 03 2c             	movb   $0x2c,(%ebx)
402868:	43                   	inc    %ebx
402869:	c6 03 20             	movb   $0x20,(%ebx)
40286c:	43                   	inc    %ebx
40286d:	8b c7                	mov    %edi,%eax
40286f:	83 e8 01             	sub    $0x1,%eax
402872:	72 04                	jb     0x402878
402874:	74 17                	je     0x40288d
402876:	eb 2a                	jmp    0x4028a2
402878:	b8 28 2a 40 00       	mov    $0x402a28,%eax
40287d:	b9 07 00 00 00       	mov    $0x7,%ecx
402882:	8b d3                	mov    %ebx,%edx
402884:	e8 43 fa ff ff       	call   0x4022cc
402889:	8b d8                	mov    %eax,%ebx
40288b:	eb 39                	jmp    0x4028c6
40288d:	b8 30 2a 40 00       	mov    $0x402a30,%eax
402892:	b9 06 00 00 00       	mov    $0x6,%ecx
402897:	8b d3                	mov    %ebx,%edx
402899:	e8 2e fa ff ff       	call   0x4022cc
40289e:	8b d8                	mov    %eax,%ebx
4028a0:	eb 24                	jmp    0x4028c6
4028a2:	8d 95 d8 86 fd ff    	lea    -0x27928(%ebp),%edx
4028a8:	8b 46 fc             	mov    -0x4(%esi),%eax
4028ab:	e8 4c 0f 00 00       	call   0x4037fc
4028b0:	0f b6 8d d8 86 fd ff 	movzbl -0x27928(%ebp),%ecx
4028b7:	8d 85 d9 86 fd ff    	lea    -0x27927(%ebp),%eax
4028bd:	8b d3                	mov    %ebx,%edx
4028bf:	e8 08 fa ff ff       	call   0x4022cc
4028c4:	8b d8                	mov    %eax,%ebx
4028c6:	c6 03 20             	movb   $0x20,(%ebx)
4028c9:	43                   	inc    %ebx
4028ca:	c6 03 78             	movb   $0x78,(%ebx)
4028cd:	43                   	inc    %ebx
4028ce:	c6 03 20             	movb   $0x20,(%ebx)
4028d1:	43                   	inc    %ebx
4028d2:	8b 06                	mov    (%esi),%eax
4028d4:	8b d3                	mov    %ebx,%edx
4028d6:	e8 d5 f8 ff ff       	call   0x4021b0
4028db:	8b d8                	mov    %eax,%ebx
4028dd:	4f                   	dec    %edi
4028de:	83 ee 08             	sub    $0x8,%esi
4028e1:	83 ff ff             	cmp    $0xffffffff,%edi
4028e4:	0f 85 e9 fe ff ff    	jne    0x4027d3
4028ea:	8b 85 e4 47 fe ff    	mov    -0x1b81c(%ebp),%eax
4028f0:	89 85 e8 47 fe ff    	mov    %eax,-0x1b818(%ebp)
4028f6:	81 85 d8 47 fe ff 00 	addl   $0x800,-0x1b828(%ebp)
4028fd:	08 00 00
402900:	83 85 dc 47 fe ff 20 	addl   $0x20,-0x1b824(%ebp)
402907:	ff 8d f0 47 fe ff    	decl   -0x1b810(%ebp)
40290d:	0f 85 9a fe ff ff    	jne    0x4027ad
402913:	83 bd f8 47 fe ff 00 	cmpl   $0x0,-0x1b808(%ebp)
40291a:	7e 7a                	jle    0x402996
40291c:	80 bd f7 47 fe ff 00 	cmpb   $0x0,-0x1b809(%ebp)
402923:	74 10                	je     0x402935
402925:	c6 03 0d             	movb   $0xd,(%ebx)
402928:	43                   	inc    %ebx
402929:	c6 03 0a             	movb   $0xa,(%ebx)
40292c:	43                   	inc    %ebx
40292d:	c6 03 0d             	movb   $0xd,(%ebx)
402930:	43                   	inc    %ebx
402931:	c6 03 0a             	movb   $0xa,(%ebx)
402934:	43                   	inc    %ebx
402935:	b8 38 2a 40 00       	mov    $0x402a38,%eax
40293a:	b9 3c 00 00 00       	mov    $0x3c,%ecx
40293f:	8b d3                	mov    %ebx,%edx
402941:	e8 86 f9 ff ff       	call   0x4022cc
402946:	8b d8                	mov    %eax,%ebx
402948:	8b bd f8 47 fe ff    	mov    -0x1b808(%ebp),%edi
40294e:	4f                   	dec    %edi
40294f:	85 ff                	test   %edi,%edi
402951:	72 43                	jb     0x402996
402953:	47                   	inc    %edi
402954:	c7 85 e0 47 fe ff 00 	movl   $0x0,-0x1b820(%ebp)
40295b:	00 00 00
40295e:	8d b5 d8 07 fe ff    	lea    -0x1f828(%ebp),%esi
402964:	83 bd e0 47 fe ff 00 	cmpl   $0x0,-0x1b820(%ebp)
40296b:	74 08                	je     0x402975
40296d:	c6 03 2c             	movb   $0x2c,(%ebx)
402970:	43                   	inc    %ebx
402971:	c6 03 20             	movb   $0x20,(%ebx)
402974:	43                   	inc    %ebx
402975:	8b 06                	mov    (%esi),%eax
402977:	8b d3                	mov    %ebx,%edx
402979:	e8 32 f8 ff ff       	call   0x4021b0
40297e:	8b d8                	mov    %eax,%ebx
402980:	8d 85 d7 ff fd ff    	lea    -0x20029(%ebp),%eax
402986:	3b d8                	cmp    %eax,%ebx
402988:	77 0c                	ja     0x402996
40298a:	ff 85 e0 47 fe ff    	incl   -0x1b820(%ebp)
402990:	83 c6 04             	add    $0x4,%esi
402993:	4f                   	dec    %edi
402994:	75 ce                	jne    0x402964
402996:	b8 78 2a 40 00       	mov    $0x402a78,%eax
40299b:	b9 03 00 00 00       	mov    $0x3,%ecx
4029a0:	8b d3                	mov    %ebx,%edx
4029a2:	e8 25 f9 ff ff       	call   0x4022cc
4029a7:	68 10 20 00 00       	push   $0x2010
4029ac:	68 7c 2a 40 00       	push   $0x402a7c
4029b1:	8d 85 d8 87 fd ff    	lea    -0x27828(%ebp),%eax
4029b7:	50                   	push   %eax
4029b8:	6a 00                	push   $0x0
4029ba:	e8 e5 e8 ff ff       	call   0x4012a4
4029bf:	5f                   	pop    %edi
4029c0:	5e                   	pop    %esi
4029c1:	5b                   	pop    %ebx
4029c2:	8b e5                	mov    %ebp,%esp
4029c4:	5d                   	pop    %ebp
4029c5:	c3                   	ret
4029c6:	00 00                	add    %al,(%eax)
4029c8:	41                   	inc    %ecx
4029c9:	6e                   	outsb  %ds:(%esi),(%dx)
4029ca:	20 75 6e             	and    %dh,0x6e(%ebp)
4029cd:	65 78 70             	gs js  0x402a40
4029d0:	65 63 74 65 64       	arpl   %esi,%gs:0x64(%ebp,%eiz,2)
4029d5:	20 6d 65             	and    %ch,0x65(%ebp)
4029d8:	6d                   	insl   (%dx),%es:(%edi)
4029d9:	6f                   	outsl  %ds:(%esi),(%dx)
4029da:	72 79                	jb     0x402a55
4029dc:	20 6c 65 61          	and    %ch,0x61(%ebp,%eiz,2)
4029e0:	6b 20 68             	imul   $0x68,(%eax),%esp
4029e3:	61                   	popa
4029e4:	73 20                	jae    0x402a06
4029e6:	6f                   	outsl  %ds:(%esi),(%dx)
4029e7:	63 63 75             	arpl   %esp,0x75(%ebx)
4029ea:	72 72                	jb     0x402a5e
4029ec:	65 64 2e 20 00       	gs fs and %al,%cs:(%eax)
4029f1:	00 00                	add    %al,(%eax)
4029f3:	00 54 68 65          	add    %dl,0x65(%eax,%ebp,2)
4029f7:	20 75 6e             	and    %dh,0x6e(%ebp)
4029fa:	65 78 70             	gs js  0x402a6d
4029fd:	65 63 74 65 64       	arpl   %esi,%gs:0x64(%ebp,%eiz,2)
402a02:	20 73 6d             	and    %dh,0x6d(%ebx)
402a05:	61                   	popa
402a06:	6c                   	insb   (%dx),%es:(%edi)
402a07:	6c                   	insb   (%dx),%es:(%edi)
402a08:	20 62 6c             	and    %ah,0x6c(%edx)
402a0b:	6f                   	outsl  %ds:(%esi),(%dx)
402a0c:	63 6b 20             	arpl   %ebp,0x20(%ebx)
402a0f:	6c                   	insb   (%dx),%es:(%edi)
402a10:	65 61                	gs popa
402a12:	6b 73 20 61          	imul   $0x61,0x20(%ebx),%esi
402a16:	72 65                	jb     0x402a7d
402a18:	3a 0d 0a 00 20 62    	cmp    0x6220000a,%cl
402a1e:	79 74                	jns    0x402a94
402a20:	65 73 3a             	gs jae 0x402a5d
402a23:	20 00                	and    %al,(%eax)
402a25:	00 00                	add    %al,(%eax)
402a27:	00 55 6e             	add    %dl,0x6e(%ebp)
402a2a:	6b 6e 6f 77          	imul   $0x77,0x6f(%esi),%ebp
402a2e:	6e                   	outsb  %ds:(%esi),(%dx)
402a2f:	00 53 74             	add    %dl,0x74(%ebx)
402a32:	72 69                	jb     0x402a9d
402a34:	6e                   	outsb  %ds:(%esi),(%dx)
402a35:	67 00 00             	add    %al,(%bx,%si)
402a38:	54                   	push   %esp
402a39:	68 65 20 73 69       	push   $0x69732065
402a3e:	7a 65                	jp     0x402aa5
402a40:	73 20                	jae    0x402a62
402a42:	6f                   	outsl  %ds:(%esi),(%dx)
402a43:	66 20 75 6e          	data16 and %dh,0x6e(%ebp)
402a47:	65 78 70             	gs js  0x402aba
402a4a:	65 63 74 65 64       	arpl   %esi,%gs:0x64(%ebp,%eiz,2)
402a4f:	20 6c 65 61          	and    %ch,0x61(%ebp,%eiz,2)
402a53:	6b 65 64 20          	imul   $0x20,0x64(%ebp),%esp
402a57:	6d                   	insl   (%dx),%es:(%edi)
402a58:	65 64 69 75 6d 20 61 	gs imul $0x646e6120,%fs:0x6d(%ebp),%esi
402a5f:	6e 64
402a61:	20 6c 61 72          	and    %ch,0x72(%ecx,%eiz,2)
402a65:	67 65 20 62 6c       	and    %ah,%gs:0x6c(%bp,%si)
402a6a:	6f                   	outsl  %ds:(%esi),(%dx)
402a6b:	63 6b 73             	arpl   %ebp,0x73(%ebx)
402a6e:	20 61 72             	and    %ah,0x72(%ecx)
402a71:	65 3a 20             	cmp    %gs:(%eax),%ah
402a74:	00 00                	add    %al,(%eax)
402a76:	00 00                	add    %al,(%eax)
402a78:	0d 0a 00 00 55       	or     $0x5500000a,%eax
402a7d:	6e                   	outsb  %ds:(%esi),(%dx)
402a7e:	65 78 70             	gs js  0x402af1
402a81:	65 63 74 65 64       	arpl   %esi,%gs:0x64(%ebp,%eiz,2)
402a86:	20 4d 65             	and    %cl,0x65(%ebp)
402a89:	6d                   	insl   (%dx),%es:(%edi)
402a8a:	6f                   	outsl  %ds:(%esi),(%dx)
402a8b:	72 79                	jb     0x402b06
402a8d:	20 4c 65 61          	and    %cl,0x61(%ebp,%eiz,2)
402a91:	6b 00 00             	imul   $0x0,(%eax),%eax
402a94:	56                   	push   %esi
402a95:	57                   	push   %edi
402a96:	33 c0                	xor    %eax,%eax
402a98:	33 f6                	xor    %esi,%esi
402a9a:	ba 3e b0 49 00       	mov    $0x49b03e,%edx
402a9f:	80 3d 06 87 4a 00 00 	cmpb   $0x0,0x4a8706
402aa6:	74 05                	je     0x402aad
402aa8:	f6 02 0f             	testb  $0xf,(%edx)
402aab:	75 1d                	jne    0x402aca
402aad:	0f b7 3a             	movzwl (%edx),%edi
402ab0:	c1 ef 03             	shr    $0x3,%edi
402ab3:	8b ce                	mov    %esi,%ecx
402ab5:	03 c9                	add    %ecx,%ecx
402ab7:	03 c9                	add    %ecx,%ecx
402ab9:	3b f8                	cmp    %eax,%edi
402abb:	76 0b                	jbe    0x402ac8
402abd:	88 88 c0 85 4a 00    	mov    %cl,0x4a85c0(%eax)
402ac3:	40                   	inc    %eax
402ac4:	3b f8                	cmp    %eax,%edi
402ac6:	77 f5                	ja     0x402abd
402ac8:	8b c7                	mov    %edi,%eax
402aca:	46                   	inc    %esi
402acb:	83 c2 20             	add    $0x20,%edx
402ace:	83 fe 37             	cmp    $0x37,%esi
402ad1:	75 cc                	jne    0x402a9f
402ad3:	5f                   	pop    %edi
402ad4:	5e                   	pop    %esi
402ad5:	c3                   	ret
402ad6:	8b c0                	mov    %eax,%eax
402ad8:	53                   	push   %ebx
402ad9:	56                   	push   %esi
402ada:	57                   	push   %edi
402adb:	be 37 00 00 00       	mov    $0x37,%esi
402ae0:	bb 58 b0 49 00       	mov    $0x49b058,%ebx
402ae5:	83 3b 00             	cmpl   $0x0,(%ebx)
402ae8:	75 06                	jne    0x402af0
402aea:	c7 03 60 15 40 00    	movl   $0x401560,(%ebx)
402af0:	8d 43 e4             	lea    -0x1c(%ebx),%eax
402af3:	89 43 f8             	mov    %eax,-0x8(%ebx)
402af6:	8d 43 e4             	lea    -0x1c(%ebx),%eax
402af9:	89 43 e8             	mov    %eax,-0x18(%ebx)
402afc:	33 c0                	xor    %eax,%eax
402afe:	89 43 f0             	mov    %eax,-0x10(%ebx)
402b01:	c7 43 ec 01 00 00 00 	movl   $0x1,-0x14(%ebx)
402b08:	0f b7 43 e6          	movzwl -0x1a(%ebx),%eax
402b0c:	03 c0                	add    %eax,%eax
402b0e:	03 c0                	add    %eax,%eax
402b10:	8d 04 40             	lea    (%eax,%eax,2),%eax
402b13:	05 ef 00 00 00       	add    $0xef,%eax
402b18:	25 00 ff ff ff       	and    $0xffffff00,%eax
402b1d:	83 c0 30             	add    $0x30,%eax
402b20:	3d 30 0b 00 00       	cmp    $0xb30,%eax
402b25:	73 05                	jae    0x402b2c
402b27:	b8 30 0b 00 00       	mov    $0xb30,%eax
402b2c:	05 d0 04 00 00       	add    $0x4d0,%eax
402b31:	c1 e8 0d             	shr    $0xd,%eax
402b34:	83 f8 07             	cmp    $0x7,%eax
402b37:	76 05                	jbe    0x402b3e
402b39:	b8 07 00 00 00       	mov    $0x7,%eax
402b3e:	8b c8                	mov    %eax,%ecx
402b40:	b2 ff                	mov    $0xff,%dl
402b42:	d2 e2                	shl    %cl,%dl
402b44:	88 53 e5             	mov    %dl,-0x1b(%ebx)
402b47:	c1 e0 0d             	shl    $0xd,%eax
402b4a:	66 05 30 0b          	add    $0xb30,%ax
402b4e:	66 89 43 fc          	mov    %ax,-0x4(%ebx)
402b52:	0f b7 7b e6          	movzwl -0x1a(%ebx),%edi
402b56:	0f b7 c7             	movzwl %di,%eax
402b59:	8b c8                	mov    %eax,%ecx
402b5b:	c1 e1 04             	shl    $0x4,%ecx
402b5e:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
402b61:	81 c1 ef 00 00 00    	add    $0xef,%ecx
402b67:	81 e1 00 ff ff ff    	and    $0xffffff00,%ecx
402b6d:	83 c1 30             	add    $0x30,%ecx
402b70:	81 f9 30 73 00 00    	cmp    $0x7330,%ecx
402b76:	73 05                	jae    0x402b7d
402b78:	b9 30 73 00 00       	mov    $0x7330,%ecx
402b7d:	81 f9 30 ff 00 00    	cmp    $0xff30,%ecx
402b83:	76 05                	jbe    0x402b8a
402b85:	b9 30 ff 00 00       	mov    $0xff30,%ecx
402b8a:	8b c1                	mov    %ecx,%eax
402b8c:	83 e8 20             	sub    $0x20,%eax
402b8f:	0f b7 d7             	movzwl %di,%edx
402b92:	8b ca                	mov    %edx,%ecx
402b94:	33 d2                	xor    %edx,%edx
402b96:	f7 f1                	div    %ecx
402b98:	66 f7 ef             	imul   %di
402b9b:	66 05 ef 00          	add    $0xef,%ax