40d992:	40                   	inc    %eax
40d993:	00 98 d9 40 00 0e    	add    %bl,0xe0040d9(%eax)
40d999:	0b 54 4d 6f          	or     0x6f(%ebp,%ecx,2),%edx
40d99d:	64 75 6c             	fs jne 0x40da0c
40d9a0:	65 49                	gs dec %ecx
40d9a2:	6e                   	outsb  %ds:(%esi),(%dx)
40d9a3:	66 6f                	outsw  %ds:(%esi),(%dx)
40d9a5:	08 00                	or     %al,(%eax)
40d9a7:	00 00                	add    %al,(%eax)
40d9a9:	01 00                	add    %eax,(%eax)
40d9ab:	00 00                	add    %al,(%eax)
40d9ad:	64 d9 40 00          	flds   %fs:0x0(%eax)
40d9b1:	04 00                	add    $0x0,%al
40d9b3:	00 00                	add    %al,(%eax)
40d9b5:	8d 40 00             	lea    0x0(%eax),%eax
40d9b8:	53                   	push   %ebx
40d9b9:	56                   	push   %esi
40d9ba:	57                   	push   %edi
40d9bb:	55                   	push   %ebp
40d9bc:	83 c4 f4             	add    $0xfffffff4,%esp
40d9bf:	8b 15 70 77 4a 00    	mov    0x4a7770,%edx
40d9c5:	8b 12                	mov    (%edx),%edx
40d9c7:	85 d2                	test   %edx,%edx
40d9c9:	74 0b                	je     0x40d9d6
40d9cb:	3b 42 04             	cmp    0x4(%edx),%eax
40d9ce:	74 06                	je     0x40d9d6
40d9d0:	8b 12                	mov    (%edx),%edx
40d9d2:	85 d2                	test   %edx,%edx
40d9d4:	75 f5                	jne    0x40d9cb
40d9d6:	89 14 24             	mov    %edx,(%esp)
40d9d9:	83 3c 24 00          	cmpl   $0x0,(%esp)
40d9dd:	0f 84 a5 01 00 00    	je     0x40db88
40d9e3:	8b 04 24             	mov    (%esp),%eax
40d9e6:	83 78 14 00          	cmpl   $0x0,0x14(%eax)
40d9ea:	0f 84 98 01 00 00    	je     0x40db88
40d9f0:	8b 04 24             	mov    (%esp),%eax
40d9f3:	8b 58 14             	mov    0x14(%eax),%ebx
40d9f6:	80 3b 00             	cmpb   $0x0,(%ebx)
40d9f9:	74 0a                	je     0x40da05
40d9fb:	c7 44 24 04 24 aa 4a 	movl   $0x4aaa24,0x4(%esp)
40da02:	00
40da03:	eb 08                	jmp    0x40da0d
40da05:	c7 44 24 04 24 ae 4a 	movl   $0x4aae24,0x4(%esp)
40da0c:	00
40da0d:	8b 43 04             	mov    0x4(%ebx),%eax
40da10:	e8 cb 7e ff ff       	call   0x4058e0
40da15:	8b f8                	mov    %eax,%edi
40da17:	85 ff                	test   %edi,%edi
40da19:	0f 8c 54 01 00 00    	jl     0x40db73
40da1f:	47                   	inc    %edi
40da20:	33 f6                	xor    %esi,%esi
40da22:	8d 04 b6             	lea    (%esi,%esi,4),%eax
40da25:	8b 53 04             	mov    0x4(%ebx),%edx
40da28:	83 7c 82 04 00       	cmpl   $0x0,0x4(%edx,%eax,4)
40da2d:	74 17                	je     0x40da46
40da2f:	8b 53 04             	mov    0x4(%ebx),%edx
40da32:	8b 04 82             	mov    (%edx,%eax,4),%eax
40da35:	8d 14 b6             	lea    (%esi,%esi,4),%edx
40da38:	8b 4b 04             	mov    0x4(%ebx),%ecx
40da3b:	8b 54 91 04          	mov    0x4(%ecx,%edx,4),%edx
40da3f:	89 02                	mov    %eax,(%edx)
40da41:	e9 06 01 00 00       	jmp    0x40db4c
40da46:	8b 53 04             	mov    0x4(%ebx),%edx
40da49:	83 7c 82 0c 00       	cmpl   $0x0,0xc(%edx,%eax,4)
40da4e:	0f 84 f8 00 00 00    	je     0x40db4c
40da54:	8d 04 b6             	lea    (%esi,%esi,4),%eax
40da57:	8b 53 04             	mov    0x4(%ebx),%edx
40da5a:	8b 44 82 0c          	mov    0xc(%edx,%eax,4),%eax
40da5e:	33 d2                	xor    %edx,%edx
40da60:	89 54 24 08          	mov    %edx,0x8(%esp)
40da64:	0f b6 10             	movzbl (%eax),%edx
40da67:	84 d2                	test   %dl,%dl
40da69:	0f 84 a1 00 00 00    	je     0x40db10
40da6f:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40da73:	03 c9                	add    %ecx,%ecx
40da75:	03 c9                	add    %ecx,%ecx
40da77:	8b 6c 24 08          	mov    0x8(%esp),%ebp
40da7b:	c1 ed 1e             	shr    $0x1e,%ebp
40da7e:	0b cd                	or     %ebp,%ecx
40da80:	0f b6 d2             	movzbl %dl,%edx
40da83:	0f b6 92 24 a9 4a 00 	movzbl 0x4aa924(%edx),%edx
40da8a:	33 ca                	xor    %edx,%ecx
40da8c:	89 4c 24 08          	mov    %ecx,0x8(%esp)
40da90:	80 78 01 00          	cmpb   $0x0,0x1(%eax)
40da94:	74 7a                	je     0x40db10
40da96:	8b 54 24 08          	mov    0x8(%esp),%edx
40da9a:	03 d2                	add    %edx,%edx
40da9c:	03 d2                	add    %edx,%edx
40da9e:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40daa2:	c1 e9 1e             	shr    $0x1e,%ecx
40daa5:	0b d1                	or     %ecx,%edx
40daa7:	0f b6 48 01          	movzbl 0x1(%eax),%ecx
40daab:	0f b6 89 24 a9 4a 00 	movzbl 0x4aa924(%ecx),%ecx
40dab2:	33 d1                	xor    %ecx,%edx
40dab4:	89 54 24 08          	mov    %edx,0x8(%esp)
40dab8:	80 78 02 00          	cmpb   $0x0,0x2(%eax)
40dabc:	74 52                	je     0x40db10
40dabe:	8b 54 24 08          	mov    0x8(%esp),%edx
40dac2:	03 d2                	add    %edx,%edx
40dac4:	03 d2                	add    %edx,%edx
40dac6:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40daca:	c1 e9 1e             	shr    $0x1e,%ecx
40dacd:	0b d1                	or     %ecx,%edx
40dacf:	0f b6 48 02          	movzbl 0x2(%eax),%ecx
40dad3:	0f b6 89 24 a9 4a 00 	movzbl 0x4aa924(%ecx),%ecx
40dada:	33 d1                	xor    %ecx,%edx
40dadc:	89 54 24 08          	mov    %edx,0x8(%esp)
40dae0:	80 78 03 00          	cmpb   $0x0,0x3(%eax)
40dae4:	74 2a                	je     0x40db10
40dae6:	8b 54 24 08          	mov    0x8(%esp),%edx
40daea:	03 d2                	add    %edx,%edx
40daec:	03 d2                	add    %edx,%edx
40daee:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40daf2:	c1 e9 1e             	shr    $0x1e,%ecx
40daf5:	0b d1                	or     %ecx,%edx
40daf7:	0f b6 48 03          	movzbl 0x3(%eax),%ecx
40dafb:	0f b6 89 24 a9 4a 00 	movzbl 0x4aa924(%ecx),%ecx
40db02:	33 d1                	xor    %ecx,%edx
40db04:	89 54 24 08          	mov    %edx,0x8(%esp)
40db08:	83 c0 04             	add    $0x4,%eax
40db0b:	e9 54 ff ff ff       	jmp    0x40da64
40db10:	0f b6 44 24 08       	movzbl 0x8(%esp),%eax
40db15:	32 44 24 09          	xor    0x9(%esp),%al
40db19:	32 44 24 0a          	xor    0xa(%esp),%al
40db1d:	32 44 24 0b          	xor    0xb(%esp),%al
40db21:	0f b6 d0             	movzbl %al,%edx
40db24:	8b 4c 24 04          	mov    0x4(%esp),%ecx
40db28:	8b 14 91             	mov    (%ecx,%edx,4),%edx
40db2b:	8d 0c b6             	lea    (%esi,%esi,4),%ecx
40db2e:	8b 6b 04             	mov    0x4(%ebx),%ebp
40db31:	8d 4c 8d 00          	lea    0x0(%ebp,%ecx,4),%ecx
40db35:	3b d1                	cmp    %ecx,%edx
40db37:	75 13                	jne    0x40db4c
40db39:	8d 14 b6             	lea    (%esi,%esi,4),%edx
40db3c:	8b 4b 04             	mov    0x4(%ebx),%ecx
40db3f:	8b 14 91             	mov    (%ecx,%edx,4),%edx
40db42:	0f b6 c0             	movzbl %al,%eax
40db45:	8b 4c 24 04          	mov    0x4(%esp),%ecx
40db49:	89 14 81             	mov    %edx,(%ecx,%eax,4)
40db4c:	8d 04 b6             	lea    (%esi,%esi,4),%eax
40db4f:	8b 53 04             	mov    0x4(%ebx),%edx
40db52:	83 3c 82 00          	cmpl   $0x0,(%edx,%eax,4)
40db56:	74 13                	je     0x40db6b
40db58:	8b 53 04             	mov    0x4(%ebx),%edx
40db5b:	8b 44 82 04          	mov    0x4(%edx,%eax,4),%eax
40db5f:	8d 14 b6             	lea    (%esi,%esi,4),%edx
40db62:	8b 4b 04             	mov    0x4(%ebx),%ecx
40db65:	8b 14 91             	mov    (%ecx,%edx,4),%edx
40db68:	89 42 04             	mov    %eax,0x4(%edx)
40db6b:	46                   	inc    %esi
40db6c:	4f                   	dec    %edi
40db6d:	0f 85 af fe ff ff    	jne    0x40da22
40db73:	8b 15 94 d9 40 00    	mov    0x40d994,%edx
40db79:	8b c3                	mov    %ebx,%eax
40db7b:	e8 b4 7a ff ff       	call   0x405634
40db80:	8b 04 24             	mov    (%esp),%eax
40db83:	33 d2                	xor    %edx,%edx
40db85:	89 50 14             	mov    %edx,0x14(%eax)
40db88:	83 c4 0c             	add    $0xc,%esp
40db8b:	5d                   	pop    %ebp
40db8c:	5f                   	pop    %edi
40db8d:	5e                   	pop    %esi
40db8e:	5b                   	pop    %ebx
40db8f:	c3                   	ret
40db90:	ff 25 4c ce 4a 00    	jmp    *0x4ace4c
40db96:	8b c0                	mov    %eax,%eax
40db98:	e8 83 8e ff ff       	call   0x406a20
40db9d:	e8 02 00 00 00       	call   0x40dba4
40dba2:	c3                   	ret
40dba3:	90                   	nop
40dba4:	55                   	push   %ebp
40dba5:	8b ec                	mov    %esp,%ebp
40dba7:	83 c4 ec             	add    $0xffffffec,%esp
40dbaa:	53                   	push   %ebx
40dbab:	33 d2                	xor    %edx,%edx
40dbad:	89 55 ec             	mov    %edx,-0x14(%ebp)
40dbb0:	8b d8                	mov    %eax,%ebx
40dbb2:	33 c0                	xor    %eax,%eax
40dbb4:	55                   	push   %ebp
40dbb5:	68 2f dc 40 00       	push   $0x40dc2f
40dbba:	64 ff 30             	push   %fs:(%eax)
40dbbd:	64 89 20             	mov    %esp,%fs:(%eax)
40dbc0:	85 db                	test   %ebx,%ebx
40dbc2:	74 37                	je     0x40dbfb
40dbc4:	89 5d f0             	mov    %ebx,-0x10(%ebp)
40dbc7:	c6 45 f4 00          	movb   $0x0,-0xc(%ebp)
40dbcb:	8d 55 ec             	lea    -0x14(%ebp),%edx
40dbce:	8b c3                	mov    %ebx,%eax
40dbd0:	e8 1b e0 ff ff       	call   0x40bbf0
40dbd5:	8b 45 ec             	mov    -0x14(%ebp),%eax
40dbd8:	89 45 f8             	mov    %eax,-0x8(%ebp)
40dbdb:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
40dbdf:	8d 45 f0             	lea    -0x10(%ebp),%eax
40dbe2:	50                   	push   %eax
40dbe3:	6a 01                	push   $0x1
40dbe5:	8b 0d d8 76 4a 00    	mov    0x4a76d8,%ecx
40dbeb:	b2 01                	mov    $0x1,%dl
40dbed:	a1 cc 84 40 00       	mov    0x4084cc,%eax
40dbf2:	e8 11 e9 ff ff       	call   0x40c508
40dbf7:	8b d0                	mov    %eax,%edx
40dbf9:	eb 14                	jmp    0x40dc0f
40dbfb:	8b 0d d8 77 4a 00    	mov    0x4a77d8,%ecx
40dc01:	b2 01                	mov    $0x1,%dl
40dc03:	a1 cc 84 40 00       	mov    0x4084cc,%eax
40dc08:	e8 bf e8 ff ff       	call   0x40c4cc
40dc0d:	8b d0                	mov    %eax,%edx
40dc0f:	89 5a 0c             	mov    %ebx,0xc(%edx)
40dc12:	8b c2                	mov    %edx,%eax
40dc14:	e8 77 65 ff ff       	call   0x404190
40dc19:	33 c0                	xor    %eax,%eax
40dc1b:	5a                   	pop    %edx
40dc1c:	59                   	pop    %ecx
40dc1d:	59                   	pop    %ecx
40dc1e:	64 89 10             	mov    %edx,%fs:(%eax)
40dc21:	68 36 dc 40 00       	push   $0x40dc36
40dc26:	8d 45 ec             	lea    -0x14(%ebp),%eax
40dc29:	e8 1a 6b ff ff       	call   0x404748
40dc2e:	c3                   	ret
40dc2f:	e9 7c 64 ff ff       	jmp    0x4040b0
40dc34:	eb f0                	jmp    0x40dc26
40dc36:	5b                   	pop    %ebx
40dc37:	8b e5                	mov    %ebp,%esp
40dc39:	5d                   	pop    %ebp
40dc3a:	c3                   	ret
40dc3b:	90                   	nop
40dc3c:	53                   	push   %ebx
40dc3d:	8b d8                	mov    %eax,%ebx
40dc3f:	85 db                	test   %ebx,%ebx
40dc41:	75 05                	jne    0x40dc48
40dc43:	e8 50 ff ff ff       	call   0x40db98
40dc48:	8b c3                	mov    %ebx,%eax
40dc4a:	5b                   	pop    %ebx
40dc4b:	c3                   	ret
40dc4c:	53                   	push   %ebx
40dc4d:	56                   	push   %esi
40dc4e:	b3 01                	mov    $0x1,%bl
40dc50:	8b 35 04 ba 49 00    	mov    0x49ba04,%esi
40dc56:	eb 07                	jmp    0x40dc5f
40dc58:	ff 56 04             	call   *0x4(%esi)
40dc5b:	8b d8                	mov    %eax,%ebx
40dc5d:	8b 36                	mov    (%esi),%esi
40dc5f:	84 db                	test   %bl,%bl
40dc61:	74 04                	je     0x40dc67
40dc63:	85 f6                	test   %esi,%esi
40dc65:	75 f1                	jne    0x40dc58
40dc67:	8b c3                	mov    %ebx,%eax
40dc69:	5e                   	pop    %esi
40dc6a:	5b                   	pop    %ebx
40dc6b:	c3                   	ret
40dc6c:	53                   	push   %ebx
40dc6d:	56                   	push   %esi
40dc6e:	be 04 ba 49 00       	mov    $0x49ba04,%esi
40dc73:	eb 12                	jmp    0x40dc87
40dc75:	8b 1e                	mov    (%esi),%ebx
40dc77:	8b 03                	mov    (%ebx),%eax
40dc79:	89 06                	mov    %eax,(%esi)
40dc7b:	ba 08 00 00 00       	mov    $0x8,%edx
40dc80:	8b c3                	mov    %ebx,%eax
40dc82:	e8 91 50 ff ff       	call   0x402d18
40dc87:	83 3e 00             	cmpl   $0x0,(%esi)
40dc8a:	75 e9                	jne    0x40dc75
40dc8c:	5e                   	pop    %esi
40dc8d:	5b                   	pop    %ebx
40dc8e:	c3                   	ret
40dc8f:	90                   	nop
40dc90:	53                   	push   %ebx
40dc91:	68 c8 dc 40 00       	push   $0x40dcc8
40dc96:	e8 a5 8d ff ff       	call   0x406a40
40dc9b:	8b d8                	mov    %eax,%ebx
40dc9d:	85 db                	test   %ebx,%ebx
40dc9f:	74 10                	je     0x40dcb1
40dca1:	68 d8 dc 40 00       	push   $0x40dcd8
40dca6:	53                   	push   %ebx
40dca7:	e8 9c 8d ff ff       	call   0x406a48
40dcac:	a3 2c b8 49 00       	mov    %eax,0x49b82c
40dcb1:	83 3d 2c b8 49 00 00 	cmpl   $0x0,0x49b82c
40dcb8:	75 0a                	jne    0x40dcc4
40dcba:	b8 d8 92 40 00       	mov    $0x4092d8,%eax
40dcbf:	a3 2c b8 49 00       	mov    %eax,0x49b82c
40dcc4:	5b                   	pop    %ebx
40dcc5:	c3                   	ret
40dcc6:	00 00                	add    %al,(%eax)
40dcc8:	6b 65 72 6e          	imul   $0x6e,0x72(%ebp),%esp
40dccc:	65 6c                	gs insb (%dx),%es:(%edi)
40dcce:	33 32                	xor    (%edx),%esi
40dcd0:	2e 64 6c             	cs fs insb (%dx),%es:(%edi)
40dcd3:	6c                   	insb   (%dx),%es:(%edi)
40dcd4:	00 00                	add    %al,(%eax)
40dcd6:	00 00                	add    %al,(%eax)
40dcd8:	47                   	inc    %edi
40dcd9:	65 74 44             	gs je  0x40dd20
40dcdc:	69 73 6b 46 72 65 65 	imul   $0x65657246,0x6b(%ebx),%esi
40dce3:	53                   	push   %ebx
40dce4:	70 61                	jo     0x40dd47
40dce6:	63 65 45             	arpl   %esp,0x45(%ebp)
40dce9:	78 41                	js     0x40dd2c
40dceb:	00 ba 01 00 00 00    	add    %bh,0x1(%edx)
40dcf1:	92                   	xchg   %eax,%edx
40dcf2:	f0 0f c1 02          	lock xadd %eax,(%edx)
40dcf6:	40                   	inc    %eax
40dcf7:	c3                   	ret
40dcf8:	ba ff ff ff ff       	mov    $0xffffffff,%edx
40dcfd:	92                   	xchg   %eax,%edx
40dcfe:	f0 0f c1 02          	lock xadd %eax,(%edx)
40dd02:	48                   	dec    %eax
40dd03:	c3                   	ret
40dd04:	87 10                	xchg   %edx,(%eax)
40dd06:	89 d0                	mov    %edx,%eax
40dd08:	c3                   	ret
40dd09:	8d 40 00             	lea    0x0(%eax),%eax
40dd0c:	92                   	xchg   %eax,%edx
40dd0d:	f0 0f c1 02          	lock xadd %eax,(%edx)
40dd11:	c3                   	ret
40dd12:	8b c0                	mov    %eax,%eax
40dd14:	53                   	push   %ebx
40dd15:	56                   	push   %esi
40dd16:	57                   	push   %edi
40dd17:	55                   	push   %ebp
40dd18:	51                   	push   %ecx
40dd19:	e8 ca 5f ff ff       	call   0x403ce8
40dd1e:	88 14 24             	mov    %dl,(%esp)
40dd21:	8b e8                	mov    %eax,%ebp
40dd23:	33 ff                	xor    %edi,%edi
40dd25:	8b 5c bd 04          	mov    0x4(%ebp,%edi,4),%ebx
40dd29:	33 c0                	xor    %eax,%eax
40dd2b:	89 44 bd 04          	mov    %eax,0x4(%ebp,%edi,4)
40dd2f:	85 db                	test   %ebx,%ebx
40dd31:	74 0f                	je     0x40dd42
40dd33:	8b f3                	mov    %ebx,%esi
40dd35:	8b 1b                	mov    (%ebx),%ebx
40dd37:	8b c6                	mov    %esi,%eax
40dd39:	e8 da 4f ff ff       	call   0x402d18
40dd3e:	85 db                	test   %ebx,%ebx
40dd40:	75 f1                	jne    0x40dd33
40dd42:	47                   	inc    %edi
40dd43:	83 ff 10             	cmp    $0x10,%edi
40dd46:	75 dd                	jne    0x40dd25
40dd48:	0f b6 14 24          	movzbl (%esp),%edx
40dd4c:	80 e2 fc             	and    $0xfc,%dl
40dd4f:	8b c5                	mov    %ebp,%eax
40dd51:	e8 b6 5b ff ff       	call   0x40390c
40dd56:	80 3c 24 00          	cmpb   $0x0,(%esp)
40dd5a:	7e 07                	jle    0x40dd63
40dd5c:	8b c5                	mov    %ebp,%eax
40dd5e:	e8 2d 5f ff ff       	call   0x403c90
40dd63:	5a                   	pop    %edx
40dd64:	5d                   	pop    %ebp
40dd65:	5f                   	pop    %edi
40dd66:	5e                   	pop    %esi
40dd67:	5b                   	pop    %ebx