40cbeb:	83 c4 ec             	add    $0xffffffec,%esp
40cbee:	53                   	push   %ebx
40cbef:	33 c0                	xor    %eax,%eax
40cbf1:	89 45 ec             	mov    %eax,-0x14(%ebp)
40cbf4:	33 c0                	xor    %eax,%eax
40cbf6:	55                   	push   %ebp
40cbf7:	68 78 cc 40 00       	push   $0x40cc78
40cbfc:	64 ff 30             	push   %fs:(%eax)
40cbff:	64 89 20             	mov    %esp,%fs:(%eax)
40cc02:	e8 79 94 ff ff       	call   0x406080
40cc07:	8b d8                	mov    %eax,%ebx
40cc09:	85 db                	test   %ebx,%ebx
40cc0b:	74 37                	je     0x40cc44
40cc0d:	89 5d f0             	mov    %ebx,-0x10(%ebp)
40cc10:	c6 45 f4 00          	movb   $0x0,-0xc(%ebp)
40cc14:	8d 55 ec             	lea    -0x14(%ebp),%edx
40cc17:	8b c3                	mov    %ebx,%eax
40cc19:	e8 3a e3 ff ff       	call   0x40af58
40cc1e:	8b 45 ec             	mov    -0x14(%ebp),%eax
40cc21:	89 45 f8             	mov    %eax,-0x8(%ebp)
40cc24:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
40cc28:	8d 45 f0             	lea    -0x10(%ebp),%eax
40cc2b:	50                   	push   %eax
40cc2c:	6a 01                	push   $0x1
40cc2e:	8b 0d 34 7f 46 00    	mov    0x467f34,%ecx
40cc34:	b2 01                	mov    $0x1,%dl
40cc36:	a1 48 78 40 00       	mov    0x407848,%eax
40cc3b:	e8 18 ec ff ff       	call   0x40b858
40cc40:	8b d0                	mov    %eax,%edx
40cc42:	eb 14                	jmp    0x40cc58
40cc44:	8b 0d 2c 80 46 00    	mov    0x46802c,%ecx
40cc4a:	b2 01                	mov    $0x1,%dl
40cc4c:	a1 48 78 40 00       	mov    0x407848,%eax
40cc51:	e8 c6 eb ff ff       	call   0x40b81c
40cc56:	8b d0                	mov    %eax,%edx
40cc58:	89 5a 0c             	mov    %ebx,0xc(%edx)
40cc5b:	8b c2                	mov    %edx,%eax
40cc5d:	e8 96 6d ff ff       	call   0x4039f8
40cc62:	33 c0                	xor    %eax,%eax
40cc64:	5a                   	pop    %edx
40cc65:	59                   	pop    %ecx
40cc66:	59                   	pop    %ecx
40cc67:	64 89 10             	mov    %edx,%fs:(%eax)
40cc6a:	68 7f cc 40 00       	push   $0x40cc7f
40cc6f:	8d 45 ec             	lea    -0x14(%ebp),%eax
40cc72:	e8 45 73 ff ff       	call   0x403fbc
40cc77:	c3                   	ret
40cc78:	e9 43 6d ff ff       	jmp    0x4039c0
40cc7d:	eb f0                	jmp    0x40cc6f
40cc7f:	5b                   	pop    %ebx
40cc80:	8b e5                	mov    %ebp,%esp
40cc82:	5d                   	pop    %ebp
40cc83:	c3                   	ret
40cc84:	53                   	push   %ebx
40cc85:	8b d8                	mov    %eax,%ebx
40cc87:	85 db                	test   %ebx,%ebx
40cc89:	75 05                	jne    0x40cc90
40cc8b:	e8 58 ff ff ff       	call   0x40cbe8
40cc90:	8b c3                	mov    %ebx,%eax
40cc92:	5b                   	pop    %ebx
40cc93:	c3                   	ret
40cc94:	53                   	push   %ebx
40cc95:	b0 01                	mov    $0x1,%al
40cc97:	8b 1d 0c d3 45 00    	mov    0x45d30c,%ebx
40cc9d:	eb 05                	jmp    0x40cca4
40cc9f:	ff 53 04             	call   *0x4(%ebx)
40cca2:	8b 1b                	mov    (%ebx),%ebx
40cca4:	84 c0                	test   %al,%al
40cca6:	74 04                	je     0x40ccac
40cca8:	85 db                	test   %ebx,%ebx
40ccaa:	75 f3                	jne    0x40cc9f
40ccac:	5b                   	pop    %ebx
40ccad:	c3                   	ret
40ccae:	8b c0                	mov    %eax,%eax
40ccb0:	53                   	push   %ebx
40ccb1:	bb 0c d3 45 00       	mov    $0x45d30c,%ebx
40ccb6:	eb 10                	jmp    0x40ccc8
40ccb8:	8b 03                	mov    (%ebx),%eax
40ccba:	8b 10                	mov    (%eax),%edx
40ccbc:	89 13                	mov    %edx,(%ebx)
40ccbe:	ba 08 00 00 00       	mov    $0x8,%edx
40ccc3:	e8 14 5a ff ff       	call   0x4026dc
40ccc8:	83 3b 00             	cmpl   $0x0,(%ebx)
40cccb:	75 eb                	jne    0x40ccb8
40cccd:	5b                   	pop    %ebx
40ccce:	c3                   	ret
40cccf:	90                   	nop
40ccd0:	53                   	push   %ebx
40ccd1:	68 08 cd 40 00       	push   $0x40cd08
40ccd6:	e8 c5 93 ff ff       	call   0x4060a0
40ccdb:	8b d8                	mov    %eax,%ebx
40ccdd:	85 db                	test   %ebx,%ebx
40ccdf:	74 10                	je     0x40ccf1
40cce1:	68 18 cd 40 00       	push   $0x40cd18
40cce6:	53                   	push   %ebx
40cce7:	e8 bc 93 ff ff       	call   0x4060a8
40ccec:	a3 30 d1 45 00       	mov    %eax,0x45d130
40ccf1:	83 3d 30 d1 45 00 00 	cmpl   $0x0,0x45d130
40ccf8:	75 0a                	jne    0x40cd04
40ccfa:	b8 b4 85 40 00       	mov    $0x4085b4,%eax
40ccff:	a3 30 d1 45 00       	mov    %eax,0x45d130
40cd04:	5b                   	pop    %ebx
40cd05:	c3                   	ret
40cd06:	00 00                	add    %al,(%eax)
40cd08:	6b 65 72 6e          	imul   $0x6e,0x72(%ebp),%esp
40cd0c:	65 6c                	gs insb (%dx),%es:(%edi)
40cd0e:	33 32                	xor    (%edx),%esi
40cd10:	2e 64 6c             	cs fs insb (%dx),%es:(%edi)
40cd13:	6c                   	insb   (%dx),%es:(%edi)
40cd14:	00 00                	add    %al,(%eax)
40cd16:	00 00                	add    %al,(%eax)
40cd18:	47                   	inc    %edi
40cd19:	65 74 44             	gs je  0x40cd60
40cd1c:	69 73 6b 46 72 65 65 	imul   $0x65657246,0x6b(%ebx),%esi
40cd23:	53                   	push   %ebx
40cd24:	70 61                	jo     0x40cd87
40cd26:	63 65 45             	arpl   %esp,0x45(%ebp)
40cd29:	78 41                	js     0x40cd6c
40cd2b:	00 ba 01 00 00 00    	add    %bh,0x1(%edx)
40cd31:	92                   	xchg   %eax,%edx
40cd32:	f0 0f c1 02          	lock xadd %eax,(%edx)
40cd36:	40                   	inc    %eax
40cd37:	c3                   	ret
40cd38:	ba ff ff ff ff       	mov    $0xffffffff,%edx
40cd3d:	92                   	xchg   %eax,%edx
40cd3e:	f0 0f c1 02          	lock xadd %eax,(%edx)
40cd42:	48                   	dec    %eax
40cd43:	c3                   	ret
40cd44:	87 10                	xchg   %edx,(%eax)
40cd46:	89 d0                	mov    %edx,%eax
40cd48:	c3                   	ret
40cd49:	8d 40 00             	lea    0x0(%eax),%eax
40cd4c:	92                   	xchg   %eax,%edx
40cd4d:	f0 0f c1 02          	lock xadd %eax,(%edx)
40cd51:	c3                   	ret
40cd52:	8b c0                	mov    %eax,%eax
40cd54:	53                   	push   %ebx
40cd55:	56                   	push   %esi
40cd56:	57                   	push   %edi
40cd57:	55                   	push   %ebp
40cd58:	e8 9b 68 ff ff       	call   0x4035f8
40cd5d:	8b da                	mov    %edx,%ebx
40cd5f:	8b f8                	mov    %eax,%edi
40cd61:	33 f6                	xor    %esi,%esi
40cd63:	8b 6c b7 04          	mov    0x4(%edi,%esi,4),%ebp
40cd67:	33 c0                	xor    %eax,%eax
40cd69:	89 44 b7 04          	mov    %eax,0x4(%edi,%esi,4)
40cd6d:	85 ed                	test   %ebp,%ebp
40cd6f:	74 0e                	je     0x40cd7f
40cd71:	8b c5                	mov    %ebp,%eax
40cd73:	8b 6d 00             	mov    0x0(%ebp),%ebp
40cd76:	e8 61 59 ff ff       	call   0x4026dc
40cd7b:	85 ed                	test   %ebp,%ebp
40cd7d:	75 f2                	jne    0x40cd71
40cd7f:	46                   	inc    %esi
40cd80:	83 fe 10             	cmp    $0x10,%esi
40cd83:	75 de                	jne    0x40cd63
40cd85:	8b d3                	mov    %ebx,%edx
40cd87:	80 e2 fc             	and    $0xfc,%dl
40cd8a:	8b c7                	mov    %edi,%eax
40cd8c:	e8 cb 64 ff ff       	call   0x40325c
40cd91:	84 db                	test   %bl,%bl
40cd93:	7e 07                	jle    0x40cd9c
40cd95:	8b c7                	mov    %edi,%eax
40cd97:	e8 44 68 ff ff       	call   0x4035e0
40cd9c:	5d                   	pop    %ebp
40cd9d:	5f                   	pop    %edi
40cd9e:	5e                   	pop    %esi
40cd9f:	5b                   	pop    %ebx
40cda0:	c3                   	ret
40cda1:	8d 40 00             	lea    0x0(%eax),%eax
40cda4:	55                   	push   %ebp
40cda5:	8b ec                	mov    %esp,%ebp
40cda7:	51                   	push   %ecx
40cda8:	e8 ab 92 ff ff       	call   0x406058
40cdad:	66 89 45 fe          	mov    %ax,-0x2(%ebp)
40cdb1:	8a 45 fe             	mov    -0x2(%ebp),%al
40cdb4:	32 45 ff             	xor    -0x1(%ebp),%al
40cdb7:	24 0f                	and    $0xf,%al
40cdb9:	59                   	pop    %ecx
40cdba:	5d                   	pop    %ebp
40cdbb:	c3                   	ret
40cdbc:	53                   	push   %ebx
40cdbd:	56                   	push   %esi
40cdbe:	57                   	push   %edi
40cdbf:	55                   	push   %ebp
40cdc0:	51                   	push   %ecx
40cdc1:	89 14 24             	mov    %edx,(%esp)
40cdc4:	8b f8                	mov    %eax,%edi
40cdc6:	8b c7                	mov    %edi,%eax
40cdc8:	e8 d7 ff ff ff       	call   0x40cda4
40cdcd:	8b d8                	mov    %eax,%ebx
40cdcf:	e8 84 92 ff ff       	call   0x406058
40cdd4:	8b f0                	mov    %eax,%esi
40cdd6:	33 c0                	xor    %eax,%eax
40cdd8:	8a c3                	mov    %bl,%al
40cdda:	8b 6c 87 04          	mov    0x4(%edi,%eax,4),%ebp
40cdde:	eb 03                	jmp    0x40cde3
40cde0:	8b 6d 00             	mov    0x0(%ebp),%ebp
40cde3:	85 ed                	test   %ebp,%ebp
40cde5:	74 05                	je     0x40cdec
40cde7:	3b 75 04             	cmp    0x4(%ebp),%esi
40cdea:	75 f4                	jne    0x40cde0
40cdec:	85 ed                	test   %ebp,%ebp
40cdee:	75 38                	jne    0x40ce28
40cdf0:	8b c7                	mov    %edi,%eax
40cdf2:	e8 4d 00 00 00       	call   0x40ce44
40cdf7:	8b e8                	mov    %eax,%ebp
40cdf9:	85 ed                	test   %ebp,%ebp
40cdfb:	75 2b                	jne    0x40ce28
40cdfd:	b8 10 00 00 00       	mov    $0x10,%eax
40ce02:	e8 f5 ac ff ff       	call   0x407afc
40ce07:	8b e8                	mov    %eax,%ebp
40ce09:	89 75 04             	mov    %esi,0x4(%ebp)
40ce0c:	c7 45 08 ff ff ff 7f 	movl   $0x7fffffff,0x8(%ebp)
40ce13:	89 6d 00             	mov    %ebp,0x0(%ebp)
40ce16:	33 c0                	xor    %eax,%eax
40ce18:	8a c3                	mov    %bl,%al
40ce1a:	8d 44 87 04          	lea    0x4(%edi,%eax,4),%eax
40ce1e:	8b d5                	mov    %ebp,%edx
40ce20:	e8 1f ff ff ff       	call   0x40cd44
40ce25:	89 45 00             	mov    %eax,0x0(%ebp)
40ce28:	8b 04 24             	mov    (%esp),%eax
40ce2b:	89 28                	mov    %ebp,(%eax)
40ce2d:	5a                   	pop    %edx
40ce2e:	5d                   	pop    %ebp
40ce2f:	5f                   	pop    %edi
40ce30:	5e                   	pop    %esi
40ce31:	5b                   	pop    %ebx
40ce32:	c3                   	ret
40ce33:	90                   	nop
40ce34:	8b 02                	mov    (%edx),%eax
40ce36:	33 c9                	xor    %ecx,%ecx
40ce38:	89 48 04             	mov    %ecx,0x4(%eax)
40ce3b:	8b 02                	mov    (%edx),%eax
40ce3d:	33 d2                	xor    %edx,%edx
40ce3f:	89 50 08             	mov    %edx,0x8(%eax)
40ce42:	c3                   	ret
40ce43:	90                   	nop
40ce44:	53                   	push   %ebx
40ce45:	8b d8                	mov    %eax,%ebx
40ce47:	8b c3                	mov    %ebx,%eax
40ce49:	e8 56 ff ff ff       	call   0x40cda4
40ce4e:	25 ff 00 00 00       	and    $0xff,%eax
40ce53:	8b 5c 83 04          	mov    0x4(%ebx,%eax,4),%ebx
40ce57:	85 db                	test   %ebx,%ebx
40ce59:	74 24                	je     0x40ce7f
40ce5b:	8d 43 08             	lea    0x8(%ebx),%eax
40ce5e:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
40ce63:	e8 dc fe ff ff       	call   0x40cd44
40ce68:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
40ce6d:	74 0a                	je     0x40ce79
40ce6f:	e8 e4 91 ff ff       	call   0x406058
40ce74:	89 43 04             	mov    %eax,0x4(%ebx)
40ce77:	eb 06                	jmp    0x40ce7f
40ce79:	8b 1b                	mov    (%ebx),%ebx
40ce7b:	85 db                	test   %ebx,%ebx
40ce7d:	75 dc                	jne    0x40ce5b
40ce7f:	8b c3                	mov    %ebx,%eax
40ce81:	5b                   	pop    %ebx
40ce82:	c3                   	ret
40ce83:	90                   	nop
40ce84:	53                   	push   %ebx
40ce85:	56                   	push   %esi
40ce86:	84 d2                	test   %dl,%dl
40ce88:	74 08                	je     0x40ce92
40ce8a:	83 c4 f0             	add    $0xfffffff0,%esp
40ce8d:	e8 fe 66 ff ff       	call   0x403590
40ce92:	8b da                	mov    %edx,%ebx
40ce94:	8b f0                	mov    %eax,%esi
40ce96:	33 d2                	xor    %edx,%edx
40ce98:	8b c6                	mov    %esi,%eax
40ce9a:	e8 9d 63 ff ff       	call   0x40323c
40ce9f:	c7 46 0c ff ff 00 00 	movl   $0xffff,0xc(%esi)
40cea6:	6a 00                	push   $0x0
40cea8:	6a ff                	push   $0xffffffff
40ceaa:	6a ff                	push   $0xffffffff
40ceac:	6a 00                	push   $0x0
40ceae:	e8 0d 91 ff ff       	call   0x405fc0
40ceb3:	89 46 10             	mov    %eax,0x10(%esi)
40ceb6:	6a 00                	push   $0x0
40ceb8:	6a 00                	push   $0x0
40ceba:	6a 00                	push   $0x0
40cebc:	6a 00                	push   $0x0
40cebe:	e8 fd 90 ff ff       	call   0x405fc0
40cec3:	89 46 14             	mov    %eax,0x14(%esi)
40cec6:	c7 46 18 ff ff ff ff 	movl   $0xffffffff,0x18(%esi)
40cecd:	b2 01                	mov    $0x1,%dl
40cecf:	a1 54 79 40 00       	mov    0x407954,%eax
40ced4:	e8 63 63 ff ff       	call   0x40323c
40ced9:	89 46 20             	mov    %eax,0x20(%esi)
40cedc:	8b c6                	mov    %esi,%eax
40cede:	84 db                	test   %bl,%bl
40cee0:	74 0f                	je     0x40cef1
40cee2:	e8 01 67 ff ff       	call   0x4035e8
40cee7:	64 8f 05 00 00 00 00 	pop    %fs:0x0
40ceee:	83 c4 0c             	add    $0xc,%esp
40cef1:	8b c6                	mov    %esi,%eax
40cef3:	5e                   	pop    %esi
40cef4:	5b                   	pop    %ebx
40cef5:	c3                   	ret
40cef6:	8b c0                	mov    %eax,%eax
40cef8:	53                   	push   %ebx
40cef9:	56                   	push   %esi
40cefa:	e8 f9 66 ff ff       	call   0x4035f8
40ceff:	8b da                	mov    %edx,%ebx
40cf01:	8b f0                	mov    %eax,%esi
40cf03:	8b c6                	mov    %esi,%eax
40cf05:	e8 7a 00 00 00       	call   0x40cf84
40cf0a:	8b d3                	mov    %ebx,%edx
40cf0c:	80 e2 fc             	and    $0xfc,%dl
40cf0f:	8b c6                	mov    %esi,%eax
40cf11:	e8 46 63 ff ff       	call   0x40325c
40cf16:	8b 46 10             	mov    0x10(%esi),%eax
40cf19:	50                   	push   %eax
40cf1a:	e8 91 90 ff ff       	call   0x405fb0
40cf1f:	8b 46 14             	mov    0x14(%esi),%eax
40cf22:	50                   	push   %eax
40cf23:	e8 88 90 ff ff       	call   0x405fb0
40cf28:	8b 46 20             	mov    0x20(%esi),%eax
40cf2b:	e8 3c 63 ff ff       	call   0x40326c
40cf30:	84 db                	test   %bl,%bl
40cf32:	7e 07                	jle    0x40cf3b
40cf34:	8b c6                	mov    %esi,%eax
40cf36:	e8 a5 66 ff ff       	call   0x4035e0
40cf3b:	5e                   	pop    %esi
40cf3c:	5b                   	pop    %ebx
40cf3d:	c3                   	ret
40cf3e:	8b c0                	mov    %eax,%eax
40cf40:	8b 40 10             	mov    0x10(%eax),%eax
40cf43:	50                   	push   %eax
40cf44:	e8 2f 92 ff ff       	call   0x406178
40cf49:	c3                   	ret
40cf4a:	8b c0                	mov    %eax,%eax
40cf4c:	8b 40 10             	mov    0x10(%eax),%eax
40cf4f:	50                   	push   %eax
40cf50:	e8 3b 92 ff ff       	call   0x406190
40cf55:	c3                   	ret
40cf56:	8b c0                	mov    %eax,%eax
40cf58:	8b 40 14             	mov    0x14(%eax),%eax
40cf5b:	50                   	push   %eax
40cf5c:	e8 2f 92 ff ff       	call   0x406190
40cf61:	c3                   	ret
40cf62:	8b c0                	mov    %eax,%eax
40cf64:	8b 50 18             	mov    0x18(%eax),%edx
40cf67:	52                   	push   %edx
40cf68:	8b 40 10             	mov    0x10(%eax),%eax
40cf6b:	50                   	push   %eax
40cf6c:	e8 57 92 ff ff       	call   0x4061c8
40cf71:	c3                   	ret