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
402b9f:	66 25 00 ff          	and    $0xff00,%ax
402ba3:	66 83 c0 30          	add    $0x30,%ax
402ba7:	66 89 43 fe          	mov    %ax,-0x2(%ebx)
402bab:	83 c3 20             	add    $0x20,%ebx
402bae:	4e                   	dec    %esi
402baf:	0f 85 30 ff ff ff    	jne    0x402ae5
402bb5:	e8 da fe ff ff       	call   0x402a94
402bba:	c7 05 08 87 4a 00 08 	movl   $0x4a8708,0x4a8708
402bc1:	87 4a 00
402bc4:	c7 05 0c 87 4a 00 08 	movl   $0x4a8708,0x4a870c
402bcb:	87 4a 00
402bce:	be 00 04 00 00       	mov    $0x400,%esi
402bd3:	ba a8 87 4a 00       	mov    $0x4a87a8,%edx
402bd8:	8b c2                	mov    %edx,%eax
402bda:	89 00                	mov    %eax,(%eax)
402bdc:	89 40 04             	mov    %eax,0x4(%eax)
402bdf:	83 c2 08             	add    $0x8,%edx
402be2:	4e                   	dec    %esi
402be3:	75 f3                	jne    0x402bd8
402be5:	c7 05 ac a7 4a 00 ac 	movl   $0x4aa7ac,0x4aa7ac
402bec:	a7 4a 00
402bef:	c7 05 b0 a7 4a 00 ac 	movl   $0x4aa7ac,0x4aa7b0
402bf6:	a7 4a 00
402bf9:	5f                   	pop    %edi
402bfa:	5e                   	pop    %esi
402bfb:	5b                   	pop    %ebx
402bfc:	c3                   	ret
402bfd:	8d 40 00             	lea    0x0(%eax),%eax
402c00:	53                   	push   %ebx
402c01:	56                   	push   %esi
402c02:	57                   	push   %edi
402c03:	55                   	push   %ebp
402c04:	bb 08 87 4a 00       	mov    $0x4a8708,%ebx
402c09:	be ac a7 4a 00       	mov    $0x4aa7ac,%esi
402c0e:	8b 7b 04             	mov    0x4(%ebx),%edi
402c11:	eb 12                	jmp    0x402c25
402c13:	8b 6f 04             	mov    0x4(%edi),%ebp
402c16:	68 00 80 00 00       	push   $0x8000
402c1b:	6a 00                	push   $0x0
402c1d:	57                   	push   %edi
402c1e:	e8 85 e7 ff ff       	call   0x4013a8
402c23:	8b fd                	mov    %ebp,%edi
402c25:	3b fb                	cmp    %ebx,%edi
402c27:	75 ea                	jne    0x402c13
402c29:	ba 37 00 00 00       	mov    $0x37,%edx
402c2e:	b8 3c b0 49 00       	mov    $0x49b03c,%eax
402c33:	8b c8                	mov    %eax,%ecx
402c35:	89 48 14             	mov    %ecx,0x14(%eax)
402c38:	8b c8                	mov    %eax,%ecx
402c3a:	89 48 04             	mov    %ecx,0x4(%eax)
402c3d:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%eax)
402c44:	33 c9                	xor    %ecx,%ecx
402c46:	89 48 0c             	mov    %ecx,0xc(%eax)
402c49:	83 c0 20             	add    $0x20,%eax
402c4c:	4a                   	dec    %edx
402c4d:	75 e4                	jne    0x402c33
402c4f:	89 1b                	mov    %ebx,(%ebx)
402c51:	89 5b 04             	mov    %ebx,0x4(%ebx)
402c54:	ba 00 04 00 00       	mov    $0x400,%edx
402c59:	b9 a8 87 4a 00       	mov    $0x4a87a8,%ecx
402c5e:	8b c1                	mov    %ecx,%eax
402c60:	89 00                	mov    %eax,(%eax)
402c62:	89 40 04             	mov    %eax,0x4(%eax)
402c65:	83 c1 08             	add    $0x8,%ecx
402c68:	4a                   	dec    %edx
402c69:	75 f3                	jne    0x402c5e
402c6b:	8b 5e 04             	mov    0x4(%esi),%ebx
402c6e:	eb 12                	jmp    0x402c82
402c70:	8b 7b 04             	mov    0x4(%ebx),%edi
402c73:	68 00 80 00 00       	push   $0x8000
402c78:	6a 00                	push   $0x0
402c7a:	53                   	push   %ebx
402c7b:	e8 28 e7 ff ff       	call   0x4013a8
402c80:	8b df                	mov    %edi,%ebx
402c82:	3b de                	cmp    %esi,%ebx
402c84:	75 ea                	jne    0x402c70
402c86:	89 36                	mov    %esi,(%esi)
402c88:	89 76 04             	mov    %esi,0x4(%esi)
402c8b:	5d                   	pop    %ebp
402c8c:	5f                   	pop    %edi
402c8d:	5e                   	pop    %esi
402c8e:	5b                   	pop    %ebx
402c8f:	c3                   	ret
402c90:	83 3d c4 a7 4a 00 00 	cmpl   $0x0,0x4aa7c4
402c97:	74 12                	je     0x402cab
402c99:	a1 c4 a7 4a 00       	mov    0x4aa7c4,%eax
402c9e:	50                   	push   %eax
402c9f:	e8 14 e7 ff ff       	call   0x4013b8
402ca4:	33 c0                	xor    %eax,%eax
402ca6:	a3 c4 a7 4a 00       	mov    %eax,0x4aa7c4
402cab:	80 3d b4 85 4a 00 00 	cmpb   $0x0,0x4a85b4
402cb2:	74 05                	je     0x402cb9
402cb4:	e8 63 f9 ff ff       	call   0x40261c
402cb9:	83 3d bc a7 4a 00 00 	cmpl   $0x0,0x4aa7bc
402cc0:	74 19                	je     0x402cdb
402cc2:	68 00 80 00 00       	push   $0x8000
402cc7:	6a 00                	push   $0x0
402cc9:	a1 bc a7 4a 00       	mov    0x4aa7bc,%eax
402cce:	50                   	push   %eax
402ccf:	e8 d4 e6 ff ff       	call   0x4013a8
402cd4:	33 c0                	xor    %eax,%eax
402cd6:	a3 bc a7 4a 00       	mov    %eax,0x4aa7bc
402cdb:	e8 20 ff ff ff       	call   0x402c00
402ce0:	c3                   	ret
402ce1:	8d 40 00             	lea    0x0(%eax),%eax
402ce4:	85 c0                	test   %eax,%eax
402ce6:	74 0a                	je     0x402cf2
402ce8:	ff 15 28 b7 49 00    	call   *0x49b728
402cee:	85 c0                	test   %eax,%eax
402cf0:	74 02                	je     0x402cf4
402cf2:	f3 c3                	repz ret
402cf4:	b0 01                	mov    $0x1,%al
402cf6:	e9 51 01 00 00       	jmp    0x402e4c
402cfb:	c3                   	ret
402cfc:	85 c0                	test   %eax,%eax
402cfe:	7e 13                	jle    0x402d13
402d00:	ff 15 1c b7 49 00    	call   *0x49b71c
402d06:	85 c0                	test   %eax,%eax
402d08:	74 02                	je     0x402d0c
402d0a:	f3 c3                	repz ret
402d0c:	b0 01                	mov    $0x1,%al
402d0e:	e9 39 01 00 00       	jmp    0x402e4c
402d13:	31 c0                	xor    %eax,%eax
402d15:	f3 c3                	repz ret
402d17:	90                   	nop
402d18:	85 c0                	test   %eax,%eax
402d1a:	74 0a                	je     0x402d26
402d1c:	ff 15 20 b7 49 00    	call   *0x49b720
402d22:	85 c0                	test   %eax,%eax
402d24:	75 02                	jne    0x402d28
402d26:	f3 c3                	repz ret
402d28:	b0 02                	mov    $0x2,%al
402d2a:	e9 1d 01 00 00       	jmp    0x402e4c
402d2f:	c3                   	ret
402d30:	8b 08                	mov    (%eax),%ecx
402d32:	85 c9                	test   %ecx,%ecx
402d34:	74 32                	je     0x402d68
402d36:	85 d2                	test   %edx,%edx
402d38:	74 18                	je     0x402d52
402d3a:	50                   	push   %eax
402d3b:	89 c8                	mov    %ecx,%eax
402d3d:	ff 15 24 b7 49 00    	call   *0x49b724
402d43:	59                   	pop    %ecx
402d44:	09 c0                	or     %eax,%eax
402d46:	74 19                	je     0x402d61
402d48:	89 01                	mov    %eax,(%ecx)
402d4a:	c3                   	ret
402d4b:	b0 02                	mov    $0x2,%al
402d4d:	e9 fa 00 00 00       	jmp    0x402e4c
402d52:	89 10                	mov    %edx,(%eax)
402d54:	89 c8                	mov    %ecx,%eax
402d56:	ff 15 20 b7 49 00    	call   *0x49b720
402d5c:	09 c0                	or     %eax,%eax
402d5e:	75 eb                	jne    0x402d4b
402d60:	c3                   	ret
402d61:	b0 01                	mov    $0x1,%al
402d63:	e9 e4 00 00 00       	jmp    0x402e4c
402d68:	85 d2                	test   %edx,%edx
402d6a:	74 10                	je     0x402d7c
402d6c:	50                   	push   %eax
402d6d:	89 d0                	mov    %edx,%eax
402d6f:	ff 15 1c b7 49 00    	call   *0x49b71c
402d75:	59                   	pop    %ecx
402d76:	09 c0                	or     %eax,%eax
402d78:	74 e7                	je     0x402d61
402d7a:	89 01                	mov    %eax,(%ecx)
402d7c:	c3                   	ret
402d7d:	8d 40 00             	lea    0x0(%eax),%eax
402d80:	e8 27 3a 00 00       	call   0x4067ac
402d85:	83 b8 00 00 00 00 00 	cmpl   $0x0,0x0(%eax)
402d8c:	74 0f                	je     0x402d9d
402d8e:	e8 19 3a 00 00       	call   0x4067ac
402d93:	8b 80 00 00 00 00    	mov    0x0(%eax),%eax
402d99:	8b 40 08             	mov    0x8(%eax),%eax
402d9c:	c3                   	ret