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
40dd68:	c3                   	ret
40dd69:	8d 40 00             	lea    0x0(%eax),%eax
40dd6c:	55                   	push   %ebp
40dd6d:	8b ec                	mov    %esp,%ebp
40dd6f:	51                   	push   %ecx
40dd70:	e8 8b 8c ff ff       	call   0x406a00
40dd75:	66 89 45 fe          	mov    %ax,-0x2(%ebp)
40dd79:	0f b6 45 fe          	movzbl -0x2(%ebp),%eax
40dd7d:	32 45 ff             	xor    -0x1(%ebp),%al
40dd80:	24 0f                	and    $0xf,%al
40dd82:	59                   	pop    %ecx
40dd83:	5d                   	pop    %ebp
40dd84:	c3                   	ret
40dd85:	8d 40 00             	lea    0x0(%eax),%eax
40dd88:	53                   	push   %ebx
40dd89:	56                   	push   %esi
40dd8a:	57                   	push   %edi
40dd8b:	55                   	push   %ebp
40dd8c:	51                   	push   %ecx
40dd8d:	89 14 24             	mov    %edx,(%esp)
40dd90:	8b f8                	mov    %eax,%edi
40dd92:	8b c7                	mov    %edi,%eax
40dd94:	e8 d3 ff ff ff       	call   0x40dd6c
40dd99:	8b d8                	mov    %eax,%ebx
40dd9b:	e8 60 8c ff ff       	call   0x406a00
40dda0:	8b f0                	mov    %eax,%esi
40dda2:	0f b6 c3             	movzbl %bl,%eax
40dda5:	8b 6c 87 04          	mov    0x4(%edi,%eax,4),%ebp
40dda9:	eb 03                	jmp    0x40ddae
40ddab:	8b 6d 00             	mov    0x0(%ebp),%ebp
40ddae:	85 ed                	test   %ebp,%ebp
40ddb0:	74 05                	je     0x40ddb7
40ddb2:	3b 75 04             	cmp    0x4(%ebp),%esi
40ddb5:	75 f4                	jne    0x40ddab
40ddb7:	85 ed                	test   %ebp,%ebp
40ddb9:	75 37                	jne    0x40ddf2
40ddbb:	8b c7                	mov    %edi,%eax
40ddbd:	e8 4e 00 00 00       	call   0x40de10
40ddc2:	8b e8                	mov    %eax,%ebp
40ddc4:	85 ed                	test   %ebp,%ebp
40ddc6:	75 2a                	jne    0x40ddf2
40ddc8:	b8 10 00 00 00       	mov    $0x10,%eax
40ddcd:	e8 12 4f ff ff       	call   0x402ce4
40ddd2:	8b e8                	mov    %eax,%ebp
40ddd4:	89 75 04             	mov    %esi,0x4(%ebp)
40ddd7:	c7 45 08 ff ff ff 7f 	movl   $0x7fffffff,0x8(%ebp)
40ddde:	89 6d 00             	mov    %ebp,0x0(%ebp)
40dde1:	0f b6 c3             	movzbl %bl,%eax
40dde4:	8d 44 87 04          	lea    0x4(%edi,%eax,4),%eax
40dde8:	8b d5                	mov    %ebp,%edx
40ddea:	e8 15 ff ff ff       	call   0x40dd04
40ddef:	89 45 00             	mov    %eax,0x0(%ebp)
40ddf2:	8b 04 24             	mov    (%esp),%eax
40ddf5:	89 28                	mov    %ebp,(%eax)
40ddf7:	5a                   	pop    %edx
40ddf8:	5d                   	pop    %ebp
40ddf9:	5f                   	pop    %edi
40ddfa:	5e                   	pop    %esi
40ddfb:	5b                   	pop    %ebx
40ddfc:	c3                   	ret
40ddfd:	8d 40 00             	lea    0x0(%eax),%eax
40de00:	8b 02                	mov    (%edx),%eax
40de02:	33 c9                	xor    %ecx,%ecx
40de04:	89 48 04             	mov    %ecx,0x4(%eax)
40de07:	8b 02                	mov    (%edx),%eax
40de09:	33 d2                	xor    %edx,%edx
40de0b:	89 50 08             	mov    %edx,0x8(%eax)
40de0e:	c3                   	ret
40de0f:	90                   	nop
40de10:	53                   	push   %ebx
40de11:	56                   	push   %esi
40de12:	8b d8                	mov    %eax,%ebx
40de14:	8b c3                	mov    %ebx,%eax
40de16:	e8 51 ff ff ff       	call   0x40dd6c
40de1b:	0f b6 c0             	movzbl %al,%eax
40de1e:	8b 5c 83 04          	mov    0x4(%ebx,%eax,4),%ebx
40de22:	85 db                	test   %ebx,%ebx
40de24:	74 27                	je     0x40de4d
40de26:	8d 43 08             	lea    0x8(%ebx),%eax
40de29:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
40de2e:	e8 d1 fe ff ff       	call   0x40dd04
40de33:	8b f0                	mov    %eax,%esi
40de35:	81 fe ff ff ff 7f    	cmp    $0x7fffffff,%esi
40de3b:	74 0a                	je     0x40de47
40de3d:	e8 be 8b ff ff       	call   0x406a00
40de42:	89 43 04             	mov    %eax,0x4(%ebx)
40de45:	eb 06                	jmp    0x40de4d
40de47:	8b 1b                	mov    (%ebx),%ebx
40de49:	85 db                	test   %ebx,%ebx
40de4b:	75 d9                	jne    0x40de26
40de4d:	8b c3                	mov    %ebx,%eax
40de4f:	5e                   	pop    %esi
40de50:	5b                   	pop    %ebx
40de51:	c3                   	ret
40de52:	8b c0                	mov    %eax,%eax
40de54:	53                   	push   %ebx
40de55:	56                   	push   %esi
40de56:	84 d2                	test   %dl,%dl
40de58:	74 08                	je     0x40de62
40de5a:	83 c4 f0             	add    $0xfffffff0,%esp
40de5d:	e8 de 5d ff ff       	call   0x403c40
40de62:	8b da                	mov    %edx,%ebx
40de64:	8b f0                	mov    %eax,%esi
40de66:	33 d2                	xor    %edx,%edx
40de68:	8b c6                	mov    %esi,%eax
40de6a:	e8 7d 5a ff ff       	call   0x4038ec
40de6f:	c7 46 0c ff ff 00 00 	movl   $0xffff,0xc(%esi)
40de76:	6a 00                	push   $0x0
40de78:	6a ff                	push   $0xffffffff
40de7a:	6a ff                	push   $0xffffffff
40de7c:	6a 00                	push   $0x0
40de7e:	e8 0d 8b ff ff       	call   0x406990
40de83:	89 46 10             	mov    %eax,0x10(%esi)
40de86:	6a 00                	push   $0x0
40de88:	6a 00                	push   $0x0
40de8a:	6a 00                	push   $0x0
40de8c:	6a 00                	push   $0x0
40de8e:	e8 fd 8a ff ff       	call   0x406990
40de93:	89 46 14             	mov    %eax,0x14(%esi)
40de96:	c7 46 18 ff ff ff ff 	movl   $0xffffffff,0x18(%esi)
40de9d:	b2 01                	mov    $0x1,%dl
40de9f:	a1 d8 85 40 00       	mov    0x4085d8,%eax
40dea4:	e8 43 5a ff ff       	call   0x4038ec
40dea9:	89 46 20             	mov    %eax,0x20(%esi)
40deac:	8b c6                	mov    %esi,%eax
40deae:	84 db                	test   %bl,%bl
40deb0:	74 0f                	je     0x40dec1
40deb2:	e8 e1 5d ff ff       	call   0x403c98
40deb7:	64 8f 05 00 00 00 00 	pop    %fs:0x0
40debe:	83 c4 0c             	add    $0xc,%esp
40dec1:	8b c6                	mov    %esi,%eax
40dec3:	5e                   	pop    %esi
40dec4:	5b                   	pop    %ebx
40dec5:	c3                   	ret
40dec6:	8b c0                	mov    %eax,%eax
40dec8:	53                   	push   %ebx
40dec9:	56                   	push   %esi
40deca:	e8 19 5e ff ff       	call   0x403ce8
40decf:	8b da                	mov    %edx,%ebx
40ded1:	8b f0                	mov    %eax,%esi
40ded3:	8b c6                	mov    %esi,%eax
40ded5:	e8 7a 00 00 00       	call   0x40df54
40deda:	8b d3                	mov    %ebx,%edx
40dedc:	80 e2 fc             	and    $0xfc,%dl
40dedf:	8b c6                	mov    %esi,%eax
40dee1:	e8 26 5a ff ff       	call   0x40390c
40dee6:	8b 46 10             	mov    0x10(%esi),%eax
40dee9:	50                   	push   %eax
40deea:	e8 91 8a ff ff       	call   0x406980
40deef:	8b 46 14             	mov    0x14(%esi),%eax
40def2:	50                   	push   %eax
40def3:	e8 88 8a ff ff       	call   0x406980
40def8:	8b 46 20             	mov    0x20(%esi),%eax
40defb:	e8 1c 5a ff ff       	call   0x40391c
40df00:	84 db                	test   %bl,%bl
40df02:	7e 07                	jle    0x40df0b
40df04:	8b c6                	mov    %esi,%eax
40df06:	e8 85 5d ff ff       	call   0x403c90
40df0b:	5e                   	pop    %esi
40df0c:	5b                   	pop    %ebx
40df0d:	c3                   	ret
40df0e:	8b c0                	mov    %eax,%eax
40df10:	8b 40 10             	mov    0x10(%eax),%eax
40df13:	50                   	push   %eax
40df14:	e8 e7 8b ff ff       	call   0x406b00
40df19:	c3                   	ret
40df1a:	8b c0                	mov    %eax,%eax
40df1c:	8b 40 10             	mov    0x10(%eax),%eax
40df1f:	50                   	push   %eax
40df20:	e8 f3 8b ff ff       	call   0x406b18
40df25:	c3                   	ret
40df26:	8b c0                	mov    %eax,%eax
40df28:	8b 40 14             	mov    0x14(%eax),%eax
40df2b:	50                   	push   %eax
40df2c:	e8 e7 8b ff ff       	call   0x406b18