40f8be:	6a f4                	push   $0xfffffff4
40f8c0:	eb 08                	jmp    0x40f8ca
40f8c2:	50                   	push   %eax
40f8c3:	6a f5                	push   $0xfffffff5
40f8c5:	eb 03                	jmp    0x40f8ca
40f8c7:	50                   	push   %eax
40f8c8:	6a f6                	push   $0xfffffff6
40f8ca:	ff 15 24 91 41 00    	call   *0x419124
40f8d0:	8b 04 9d a8 21 42 00 	mov    0x4221a8(,%ebx,4),%eax
40f8d7:	83 4c 38 18 ff       	orl    $0xffffffff,0x18(%eax,%edi,1)
40f8dc:	33 c0                	xor    %eax,%eax
40f8de:	eb 16                	jmp    0x40f8f6
40f8e0:	e8 4a ae ff ff       	call   0x40a72f
40f8e5:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
40f8eb:	e8 2c ae ff ff       	call   0x40a71c
40f8f0:	83 20 00             	andl   $0x0,(%eax)
40f8f3:	83 c8 ff             	or     $0xffffffff,%eax
40f8f6:	5f                   	pop    %edi
40f8f7:	5e                   	pop    %esi
40f8f8:	5b                   	pop    %ebx
40f8f9:	5d                   	pop    %ebp
40f8fa:	c3                   	ret
40f8fb:	8b ff                	mov    %edi,%edi
40f8fd:	55                   	push   %ebp
40f8fe:	8b ec                	mov    %esp,%ebp
40f900:	8b 4d 08             	mov    0x8(%ebp),%ecx
40f903:	83 f9 fe             	cmp    $0xfffffffe,%ecx
40f906:	75 15                	jne    0x40f91d
40f908:	e8 0f ae ff ff       	call   0x40a71c
40f90d:	83 20 00             	andl   $0x0,(%eax)
40f910:	e8 1a ae ff ff       	call   0x40a72f
40f915:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
40f91b:	eb 43                	jmp    0x40f960
40f91d:	85 c9                	test   %ecx,%ecx
40f91f:	78 27                	js     0x40f948
40f921:	3b 0d a8 23 42 00    	cmp    0x4223a8,%ecx
40f927:	73 1f                	jae    0x40f948
40f929:	8b c1                	mov    %ecx,%eax
40f92b:	83 e1 3f             	and    $0x3f,%ecx
40f92e:	c1 e8 06             	shr    $0x6,%eax
40f931:	6b c9 38             	imul   $0x38,%ecx,%ecx
40f934:	8b 04 85 a8 21 42 00 	mov    0x4221a8(,%eax,4),%eax
40f93b:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
40f940:	74 06                	je     0x40f948
40f942:	8b 44 08 18          	mov    0x18(%eax,%ecx,1),%eax
40f946:	5d                   	pop    %ebp
40f947:	c3                   	ret
40f948:	e8 cf ad ff ff       	call   0x40a71c
40f94d:	83 20 00             	andl   $0x0,(%eax)
40f950:	e8 da ad ff ff       	call   0x40a72f
40f955:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
40f95b:	e8 69 7b ff ff       	call   0x4074c9
40f960:	83 c8 ff             	or     $0xffffffff,%eax
40f963:	5d                   	pop    %ebp
40f964:	c3                   	ret
40f965:	83 3d 30 25 42 00 00 	cmpl   $0x0,0x422530
40f96c:	75 0a                	jne    0x40f978
40f96e:	c7 05 30 25 42 00 00 	movl   $0x4000,0x422530
40f975:	40 00 00
40f978:	33 c0                	xor    %eax,%eax
40f97a:	c3                   	ret
40f97b:	8b ff                	mov    %edi,%edi
40f97d:	55                   	push   %ebp
40f97e:	8b ec                	mov    %esp,%ebp
40f980:	56                   	push   %esi
40f981:	8b 75 08             	mov    0x8(%ebp),%esi
40f984:	85 f6                	test   %esi,%esi
40f986:	0f 84 ea 00 00 00    	je     0x40fa76
40f98c:	8b 46 0c             	mov    0xc(%esi),%eax
40f98f:	3b 05 1c 18 42 00    	cmp    0x42181c,%eax
40f995:	74 07                	je     0x40f99e
40f997:	50                   	push   %eax
40f998:	e8 02 ae ff ff       	call   0x40a79f
40f99d:	59                   	pop    %ecx
40f99e:	8b 46 10             	mov    0x10(%esi),%eax
40f9a1:	3b 05 20 18 42 00    	cmp    0x421820,%eax
40f9a7:	74 07                	je     0x40f9b0
40f9a9:	50                   	push   %eax
40f9aa:	e8 f0 ad ff ff       	call   0x40a79f
40f9af:	59                   	pop    %ecx
40f9b0:	8b 46 14             	mov    0x14(%esi),%eax
40f9b3:	3b 05 24 18 42 00    	cmp    0x421824,%eax
40f9b9:	74 07                	je     0x40f9c2
40f9bb:	50                   	push   %eax
40f9bc:	e8 de ad ff ff       	call   0x40a79f
40f9c1:	59                   	pop    %ecx
40f9c2:	8b 46 18             	mov    0x18(%esi),%eax
40f9c5:	3b 05 28 18 42 00    	cmp    0x421828,%eax
40f9cb:	74 07                	je     0x40f9d4
40f9cd:	50                   	push   %eax
40f9ce:	e8 cc ad ff ff       	call   0x40a79f
40f9d3:	59                   	pop    %ecx
40f9d4:	8b 46 1c             	mov    0x1c(%esi),%eax
40f9d7:	3b 05 2c 18 42 00    	cmp    0x42182c,%eax
40f9dd:	74 07                	je     0x40f9e6
40f9df:	50                   	push   %eax
40f9e0:	e8 ba ad ff ff       	call   0x40a79f
40f9e5:	59                   	pop    %ecx
40f9e6:	8b 46 20             	mov    0x20(%esi),%eax
40f9e9:	3b 05 30 18 42 00    	cmp    0x421830,%eax
40f9ef:	74 07                	je     0x40f9f8
40f9f1:	50                   	push   %eax
40f9f2:	e8 a8 ad ff ff       	call   0x40a79f
40f9f7:	59                   	pop    %ecx
40f9f8:	8b 46 24             	mov    0x24(%esi),%eax
40f9fb:	3b 05 34 18 42 00    	cmp    0x421834,%eax
40fa01:	74 07                	je     0x40fa0a
40fa03:	50                   	push   %eax
40fa04:	e8 96 ad ff ff       	call   0x40a79f
40fa09:	59                   	pop    %ecx
40fa0a:	8b 46 38             	mov    0x38(%esi),%eax
40fa0d:	3b 05 48 18 42 00    	cmp    0x421848,%eax
40fa13:	74 07                	je     0x40fa1c
40fa15:	50                   	push   %eax
40fa16:	e8 84 ad ff ff       	call   0x40a79f
40fa1b:	59                   	pop    %ecx
40fa1c:	8b 46 3c             	mov    0x3c(%esi),%eax
40fa1f:	3b 05 4c 18 42 00    	cmp    0x42184c,%eax
40fa25:	74 07                	je     0x40fa2e
40fa27:	50                   	push   %eax
40fa28:	e8 72 ad ff ff       	call   0x40a79f
40fa2d:	59                   	pop    %ecx
40fa2e:	8b 46 40             	mov    0x40(%esi),%eax
40fa31:	3b 05 50 18 42 00    	cmp    0x421850,%eax
40fa37:	74 07                	je     0x40fa40
40fa39:	50                   	push   %eax
40fa3a:	e8 60 ad ff ff       	call   0x40a79f
40fa3f:	59                   	pop    %ecx
40fa40:	8b 46 44             	mov    0x44(%esi),%eax
40fa43:	3b 05 54 18 42 00    	cmp    0x421854,%eax
40fa49:	74 07                	je     0x40fa52
40fa4b:	50                   	push   %eax
40fa4c:	e8 4e ad ff ff       	call   0x40a79f
40fa51:	59                   	pop    %ecx
40fa52:	8b 46 48             	mov    0x48(%esi),%eax
40fa55:	3b 05 58 18 42 00    	cmp    0x421858,%eax
40fa5b:	74 07                	je     0x40fa64
40fa5d:	50                   	push   %eax
40fa5e:	e8 3c ad ff ff       	call   0x40a79f
40fa63:	59                   	pop    %ecx
40fa64:	8b 46 4c             	mov    0x4c(%esi),%eax
40fa67:	3b 05 5c 18 42 00    	cmp    0x42185c,%eax
40fa6d:	74 07                	je     0x40fa76
40fa6f:	50                   	push   %eax
40fa70:	e8 2a ad ff ff       	call   0x40a79f
40fa75:	59                   	pop    %ecx
40fa76:	5e                   	pop    %esi
40fa77:	5d                   	pop    %ebp
40fa78:	c3                   	ret
40fa79:	8b ff                	mov    %edi,%edi
40fa7b:	55                   	push   %ebp
40fa7c:	8b ec                	mov    %esp,%ebp
40fa7e:	56                   	push   %esi
40fa7f:	8b 75 08             	mov    0x8(%ebp),%esi
40fa82:	85 f6                	test   %esi,%esi
40fa84:	74 59                	je     0x40fadf
40fa86:	8b 06                	mov    (%esi),%eax
40fa88:	3b 05 10 18 42 00    	cmp    0x421810,%eax
40fa8e:	74 07                	je     0x40fa97
40fa90:	50                   	push   %eax
40fa91:	e8 09 ad ff ff       	call   0x40a79f
40fa96:	59                   	pop    %ecx
40fa97:	8b 46 04             	mov    0x4(%esi),%eax
40fa9a:	3b 05 14 18 42 00    	cmp    0x421814,%eax
40faa0:	74 07                	je     0x40faa9
40faa2:	50                   	push   %eax
40faa3:	e8 f7 ac ff ff       	call   0x40a79f
40faa8:	59                   	pop    %ecx
40faa9:	8b 46 08             	mov    0x8(%esi),%eax
40faac:	3b 05 18 18 42 00    	cmp    0x421818,%eax
40fab2:	74 07                	je     0x40fabb
40fab4:	50                   	push   %eax
40fab5:	e8 e5 ac ff ff       	call   0x40a79f
40faba:	59                   	pop    %ecx
40fabb:	8b 46 30             	mov    0x30(%esi),%eax
40fabe:	3b 05 40 18 42 00    	cmp    0x421840,%eax
40fac4:	74 07                	je     0x40facd
40fac6:	50                   	push   %eax
40fac7:	e8 d3 ac ff ff       	call   0x40a79f
40facc:	59                   	pop    %ecx
40facd:	8b 46 34             	mov    0x34(%esi),%eax
40fad0:	3b 05 44 18 42 00    	cmp    0x421844,%eax
40fad6:	74 07                	je     0x40fadf
40fad8:	50                   	push   %eax
40fad9:	e8 c1 ac ff ff       	call   0x40a79f
40fade:	59                   	pop    %ecx
40fadf:	5e                   	pop    %esi
40fae0:	5d                   	pop    %ebp
40fae1:	c3                   	ret
40fae2:	8b ff                	mov    %edi,%edi
40fae4:	55                   	push   %ebp
40fae5:	8b ec                	mov    %esp,%ebp
40fae7:	8b 45 0c             	mov    0xc(%ebp),%eax
40faea:	56                   	push   %esi
40faeb:	8b 75 08             	mov    0x8(%ebp),%esi
40faee:	57                   	push   %edi
40faef:	8d 3c 86             	lea    (%esi,%eax,4),%edi
40faf2:	eb 0b                	jmp    0x40faff
40faf4:	ff 36                	push   (%esi)
40faf6:	e8 a4 ac ff ff       	call   0x40a79f
40fafb:	59                   	pop    %ecx
40fafc:	83 c6 04             	add    $0x4,%esi
40faff:	3b f7                	cmp    %edi,%esi
40fb01:	75 f1                	jne    0x40faf4
40fb03:	5f                   	pop    %edi
40fb04:	5e                   	pop    %esi
40fb05:	5d                   	pop    %ebp
40fb06:	c3                   	ret
40fb07:	8b ff                	mov    %edi,%edi
40fb09:	55                   	push   %ebp
40fb0a:	8b ec                	mov    %esp,%ebp
40fb0c:	56                   	push   %esi
40fb0d:	8b 75 08             	mov    0x8(%ebp),%esi
40fb10:	85 f6                	test   %esi,%esi
40fb12:	0f 84 d0 00 00 00    	je     0x40fbe8
40fb18:	6a 07                	push   $0x7
40fb1a:	56                   	push   %esi
40fb1b:	e8 c2 ff ff ff       	call   0x40fae2
40fb20:	8d 46 1c             	lea    0x1c(%esi),%eax
40fb23:	6a 07                	push   $0x7
40fb25:	50                   	push   %eax
40fb26:	e8 b7 ff ff ff       	call   0x40fae2
40fb2b:	8d 46 38             	lea    0x38(%esi),%eax
40fb2e:	6a 0c                	push   $0xc
40fb30:	50                   	push   %eax
40fb31:	e8 ac ff ff ff       	call   0x40fae2
40fb36:	8d 46 68             	lea    0x68(%esi),%eax
40fb39:	6a 0c                	push   $0xc
40fb3b:	50                   	push   %eax
40fb3c:	e8 a1 ff ff ff       	call   0x40fae2
40fb41:	8d 86 98 00 00 00    	lea    0x98(%esi),%eax
40fb47:	6a 02                	push   $0x2
40fb49:	50                   	push   %eax
40fb4a:	e8 93 ff ff ff       	call   0x40fae2
40fb4f:	ff b6 a0 00 00 00    	push   0xa0(%esi)
40fb55:	e8 45 ac ff ff       	call   0x40a79f
40fb5a:	ff b6 a4 00 00 00    	push   0xa4(%esi)
40fb60:	e8 3a ac ff ff       	call   0x40a79f
40fb65:	ff b6 a8 00 00 00    	push   0xa8(%esi)
40fb6b:	e8 2f ac ff ff       	call   0x40a79f
40fb70:	8d 86 b4 00 00 00    	lea    0xb4(%esi),%eax
40fb76:	6a 07                	push   $0x7
40fb78:	50                   	push   %eax
40fb79:	e8 64 ff ff ff       	call   0x40fae2
40fb7e:	8d 86 d0 00 00 00    	lea    0xd0(%esi),%eax
40fb84:	6a 07                	push   $0x7
40fb86:	50                   	push   %eax
40fb87:	e8 56 ff ff ff       	call   0x40fae2
40fb8c:	83 c4 44             	add    $0x44,%esp
40fb8f:	8d 86 ec 00 00 00    	lea    0xec(%esi),%eax
40fb95:	6a 0c                	push   $0xc
40fb97:	50                   	push   %eax
40fb98:	e8 45 ff ff ff       	call   0x40fae2
40fb9d:	8d 86 1c 01 00 00    	lea    0x11c(%esi),%eax
40fba3:	6a 0c                	push   $0xc
40fba5:	50                   	push   %eax
40fba6:	e8 37 ff ff ff       	call   0x40fae2
40fbab:	8d 86 4c 01 00 00    	lea    0x14c(%esi),%eax
40fbb1:	6a 02                	push   $0x2
40fbb3:	50                   	push   %eax
40fbb4:	e8 29 ff ff ff       	call   0x40fae2
40fbb9:	ff b6 54 01 00 00    	push   0x154(%esi)
40fbbf:	e8 db ab ff ff       	call   0x40a79f
40fbc4:	ff b6 58 01 00 00    	push   0x158(%esi)
40fbca:	e8 d0 ab ff ff       	call   0x40a79f
40fbcf:	ff b6 5c 01 00 00    	push   0x15c(%esi)
40fbd5:	e8 c5 ab ff ff       	call   0x40a79f
40fbda:	ff b6 60 01 00 00    	push   0x160(%esi)
40fbe0:	e8 ba ab ff ff       	call   0x40a79f
40fbe5:	83 c4 28             	add    $0x28,%esp
40fbe8:	5e                   	pop    %esi
40fbe9:	5d                   	pop    %ebp
40fbea:	c3                   	ret
40fbeb:	8b ff                	mov    %edi,%edi
40fbed:	55                   	push   %ebp
40fbee:	8b ec                	mov    %esp,%ebp
40fbf0:	51                   	push   %ecx
40fbf1:	e8 b7 c7 ff ff       	call   0x40c3ad
40fbf6:	8b 48 4c             	mov    0x4c(%eax),%ecx
40fbf9:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40fbfc:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40fbff:	51                   	push   %ecx
40fc00:	50                   	push   %eax
40fc01:	e8 1a d4 ff ff       	call   0x40d020
40fc06:	8b 45 fc             	mov    -0x4(%ebp),%eax
40fc09:	59                   	pop    %ecx
40fc0a:	59                   	pop    %ecx
40fc0b:	8b 00                	mov    (%eax),%eax
40fc0d:	c9                   	leave
40fc0e:	c3                   	ret
40fc0f:	8b ff                	mov    %edi,%edi
40fc11:	55                   	push   %ebp
40fc12:	8b ec                	mov    %esp,%ebp
40fc14:	8b 4d 08             	mov    0x8(%ebp),%ecx
40fc17:	33 c0                	xor    %eax,%eax
40fc19:	53                   	push   %ebx
40fc1a:	56                   	push   %esi
40fc1b:	57                   	push   %edi
40fc1c:	66 39 01             	cmp    %ax,(%ecx)
40fc1f:	74 31                	je     0x40fc52
40fc21:	8b 55 0c             	mov    0xc(%ebp),%edx
40fc24:	0f b7 3a             	movzwl (%edx),%edi
40fc27:	8b f2                	mov    %edx,%esi
40fc29:	66 85 ff             	test   %di,%di
40fc2c:	74 1c                	je     0x40fc4a
40fc2e:	0f b7 01             	movzwl (%ecx),%eax
40fc31:	8b df                	mov    %edi,%ebx
40fc33:	66 3b d8             	cmp    %ax,%bx
40fc36:	74 21                	je     0x40fc59
40fc38:	83 c6 02             	add    $0x2,%esi
40fc3b:	0f b7 06             	movzwl (%esi),%eax
40fc3e:	8b d8                	mov    %eax,%ebx
40fc40:	66 85 c0             	test   %ax,%ax
40fc43:	0f b7 01             	movzwl (%ecx),%eax
40fc46:	75 eb                	jne    0x40fc33
40fc48:	33 c0                	xor    %eax,%eax
40fc4a:	83 c1 02             	add    $0x2,%ecx
40fc4d:	66 39 01             	cmp    %ax,(%ecx)
40fc50:	75 d5                	jne    0x40fc27
40fc52:	33 c0                	xor    %eax,%eax
40fc54:	5f                   	pop    %edi
40fc55:	5e                   	pop    %esi
40fc56:	5b                   	pop    %ebx
40fc57:	5d                   	pop    %ebp
40fc58:	c3                   	ret
40fc59:	8b c1                	mov    %ecx,%eax
40fc5b:	eb f7                	jmp    0x40fc54
40fc5d:	8b ff                	mov    %edi,%edi
40fc5f:	55                   	push   %ebp
40fc60:	8b ec                	mov    %esp,%ebp
40fc62:	83 ec 1c             	sub    $0x1c,%esp
40fc65:	a1 c0 10 42 00       	mov    0x4210c0,%eax
40fc6a:	33 c5                	xor    %ebp,%eax
40fc6c:	89 45 fc             	mov    %eax,-0x4(%ebp)
40fc6f:	53                   	push   %ebx
40fc70:	56                   	push   %esi
40fc71:	57                   	push   %edi
40fc72:	ff 75 08             	push   0x8(%ebp)
40fc75:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40fc78:	e8 a5 e8 ff ff       	call   0x40e522
40fc7d:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
40fc80:	85 db                	test   %ebx,%ebx
40fc82:	75 06                	jne    0x40fc8a
40fc84:	8b 45 e8             	mov    -0x18(%ebp),%eax
40fc87:	8b 58 08             	mov    0x8(%eax),%ebx
40fc8a:	33 c0                	xor    %eax,%eax
40fc8c:	33 ff                	xor    %edi,%edi
40fc8e:	39 45 20             	cmp    %eax,0x20(%ebp)
40fc91:	57                   	push   %edi
40fc92:	57                   	push   %edi