40ea61:	e8 29 ea ff ff       	call   0x40d48f
40ea66:	0b f8                	or     %eax,%edi
40ea68:	8d 86 84 00 00 00    	lea    0x84(%esi),%eax
40ea6e:	50                   	push   %eax
40ea6f:	6a 3f                	push   $0x3f
40ea71:	ff 75 fc             	push   -0x4(%ebp)
40ea74:	8d 45 f0             	lea    -0x10(%ebp),%eax
40ea77:	53                   	push   %ebx
40ea78:	50                   	push   %eax
40ea79:	e8 11 ea ff ff       	call   0x40d48f
40ea7e:	0b f8                	or     %eax,%edi
40ea80:	8d 86 88 00 00 00    	lea    0x88(%esi),%eax
40ea86:	50                   	push   %eax
40ea87:	6a 40                	push   $0x40
40ea89:	ff 75 fc             	push   -0x4(%ebp)
40ea8c:	53                   	push   %ebx
40ea8d:	8d 45 f0             	lea    -0x10(%ebp),%eax
40ea90:	50                   	push   %eax
40ea91:	e8 f9 e9 ff ff       	call   0x40d48f
40ea96:	0b f8                	or     %eax,%edi
40ea98:	8d 86 8c 00 00 00    	lea    0x8c(%esi),%eax
40ea9e:	50                   	push   %eax
40ea9f:	6a 41                	push   $0x41
40eaa1:	ff 75 fc             	push   -0x4(%ebp)
40eaa4:	8d 45 f0             	lea    -0x10(%ebp),%eax
40eaa7:	53                   	push   %ebx
40eaa8:	50                   	push   %eax
40eaa9:	e8 e1 e9 ff ff       	call   0x40d48f
40eaae:	83 c4 50             	add    $0x50,%esp
40eab1:	0b f8                	or     %eax,%edi
40eab3:	8d 86 90 00 00 00    	lea    0x90(%esi),%eax
40eab9:	50                   	push   %eax
40eaba:	6a 42                	push   $0x42
40eabc:	ff 75 fc             	push   -0x4(%ebp)
40eabf:	8d 45 f0             	lea    -0x10(%ebp),%eax
40eac2:	53                   	push   %ebx
40eac3:	50                   	push   %eax
40eac4:	e8 c6 e9 ff ff       	call   0x40d48f
40eac9:	0b f8                	or     %eax,%edi
40eacb:	8d 86 94 00 00 00    	lea    0x94(%esi),%eax
40ead1:	50                   	push   %eax
40ead2:	6a 43                	push   $0x43
40ead4:	ff 75 fc             	push   -0x4(%ebp)
40ead7:	8d 45 f0             	lea    -0x10(%ebp),%eax
40eada:	53                   	push   %ebx
40eadb:	50                   	push   %eax
40eadc:	e8 ae e9 ff ff       	call   0x40d48f
40eae1:	0b f8                	or     %eax,%edi
40eae3:	8d 86 98 00 00 00    	lea    0x98(%esi),%eax
40eae9:	50                   	push   %eax
40eaea:	6a 28                	push   $0x28
40eaec:	ff 75 fc             	push   -0x4(%ebp)
40eaef:	8d 45 f0             	lea    -0x10(%ebp),%eax
40eaf2:	53                   	push   %ebx
40eaf3:	50                   	push   %eax
40eaf4:	e8 96 e9 ff ff       	call   0x40d48f
40eaf9:	0b f8                	or     %eax,%edi
40eafb:	8d 86 9c 00 00 00    	lea    0x9c(%esi),%eax
40eb01:	50                   	push   %eax
40eb02:	6a 29                	push   $0x29
40eb04:	ff 75 fc             	push   -0x4(%ebp)
40eb07:	8d 45 f0             	lea    -0x10(%ebp),%eax
40eb0a:	53                   	push   %ebx
40eb0b:	50                   	push   %eax
40eb0c:	e8 7e e9 ff ff       	call   0x40d48f
40eb11:	83 c4 50             	add    $0x50,%esp
40eb14:	0b f8                	or     %eax,%edi
40eb16:	8d 86 a0 00 00 00    	lea    0xa0(%esi),%eax
40eb1c:	50                   	push   %eax
40eb1d:	6a 1f                	push   $0x1f
40eb1f:	ff 75 f8             	push   -0x8(%ebp)
40eb22:	8d 45 f0             	lea    -0x10(%ebp),%eax
40eb25:	53                   	push   %ebx
40eb26:	50                   	push   %eax
40eb27:	e8 63 e9 ff ff       	call   0x40d48f
40eb2c:	0b f8                	or     %eax,%edi
40eb2e:	8d 86 a4 00 00 00    	lea    0xa4(%esi),%eax
40eb34:	50                   	push   %eax
40eb35:	6a 20                	push   $0x20
40eb37:	ff 75 f8             	push   -0x8(%ebp)
40eb3a:	8d 45 f0             	lea    -0x10(%ebp),%eax
40eb3d:	53                   	push   %ebx
40eb3e:	50                   	push   %eax
40eb3f:	e8 4b e9 ff ff       	call   0x40d48f
40eb44:	0b f8                	or     %eax,%edi
40eb46:	8d 86 a8 00 00 00    	lea    0xa8(%esi),%eax
40eb4c:	50                   	push   %eax
40eb4d:	68 03 10 00 00       	push   $0x1003
40eb52:	ff 75 f8             	push   -0x8(%ebp)
40eb55:	8d 45 f0             	lea    -0x10(%ebp),%eax
40eb58:	53                   	push   %ebx
40eb59:	50                   	push   %eax
40eb5a:	e8 30 e9 ff ff       	call   0x40d48f
40eb5f:	0b f8                	or     %eax,%edi
40eb61:	8d 86 b0 00 00 00    	lea    0xb0(%esi),%eax
40eb67:	50                   	push   %eax
40eb68:	68 09 10 00 00       	push   $0x1009
40eb6d:	8b 5d f8             	mov    -0x8(%ebp),%ebx
40eb70:	53                   	push   %ebx
40eb71:	8d 45 f0             	lea    -0x10(%ebp),%eax
40eb74:	6a 00                	push   $0x0
40eb76:	50                   	push   %eax
40eb77:	e8 13 e9 ff ff       	call   0x40d48f
40eb7c:	83 c4 50             	add    $0x50,%esp
40eb7f:	0b f8                	or     %eax,%edi
40eb81:	8b c7                	mov    %edi,%eax
40eb83:	5f                   	pop    %edi
40eb84:	89 9e ac 00 00 00    	mov    %ebx,0xac(%esi)
40eb8a:	5b                   	pop    %ebx
40eb8b:	c9                   	leave
40eb8c:	c3                   	ret
40eb8d:	8b ff                	mov    %edi,%edi
40eb8f:	55                   	push   %ebp
40eb90:	8b ec                	mov    %esp,%ebp
40eb92:	56                   	push   %esi
40eb93:	8b 75 08             	mov    0x8(%ebp),%esi
40eb96:	85 f6                	test   %esi,%esi
40eb98:	0f 84 81 01 00 00    	je     0x40ed1f
40eb9e:	ff 76 04             	push   0x4(%esi)
40eba1:	e8 7a 64 ff ff       	call   0x405020
40eba6:	ff 76 08             	push   0x8(%esi)
40eba9:	e8 72 64 ff ff       	call   0x405020
40ebae:	ff 76 0c             	push   0xc(%esi)
40ebb1:	e8 6a 64 ff ff       	call   0x405020
40ebb6:	ff 76 10             	push   0x10(%esi)
40ebb9:	e8 62 64 ff ff       	call   0x405020
40ebbe:	ff 76 14             	push   0x14(%esi)
40ebc1:	e8 5a 64 ff ff       	call   0x405020
40ebc6:	ff 76 18             	push   0x18(%esi)
40ebc9:	e8 52 64 ff ff       	call   0x405020
40ebce:	ff 36                	push   (%esi)
40ebd0:	e8 4b 64 ff ff       	call   0x405020
40ebd5:	ff 76 20             	push   0x20(%esi)
40ebd8:	e8 43 64 ff ff       	call   0x405020
40ebdd:	ff 76 24             	push   0x24(%esi)
40ebe0:	e8 3b 64 ff ff       	call   0x405020
40ebe5:	ff 76 28             	push   0x28(%esi)
40ebe8:	e8 33 64 ff ff       	call   0x405020
40ebed:	ff 76 2c             	push   0x2c(%esi)
40ebf0:	e8 2b 64 ff ff       	call   0x405020
40ebf5:	ff 76 30             	push   0x30(%esi)
40ebf8:	e8 23 64 ff ff       	call   0x405020
40ebfd:	ff 76 34             	push   0x34(%esi)
40ec00:	e8 1b 64 ff ff       	call   0x405020
40ec05:	ff 76 1c             	push   0x1c(%esi)
40ec08:	e8 13 64 ff ff       	call   0x405020
40ec0d:	ff 76 38             	push   0x38(%esi)
40ec10:	e8 0b 64 ff ff       	call   0x405020
40ec15:	ff 76 3c             	push   0x3c(%esi)
40ec18:	e8 03 64 ff ff       	call   0x405020
40ec1d:	83 c4 40             	add    $0x40,%esp
40ec20:	ff 76 40             	push   0x40(%esi)
40ec23:	e8 f8 63 ff ff       	call   0x405020
40ec28:	ff 76 44             	push   0x44(%esi)
40ec2b:	e8 f0 63 ff ff       	call   0x405020
40ec30:	ff 76 48             	push   0x48(%esi)
40ec33:	e8 e8 63 ff ff       	call   0x405020
40ec38:	ff 76 4c             	push   0x4c(%esi)
40ec3b:	e8 e0 63 ff ff       	call   0x405020
40ec40:	ff 76 50             	push   0x50(%esi)
40ec43:	e8 d8 63 ff ff       	call   0x405020
40ec48:	ff 76 54             	push   0x54(%esi)
40ec4b:	e8 d0 63 ff ff       	call   0x405020
40ec50:	ff 76 58             	push   0x58(%esi)
40ec53:	e8 c8 63 ff ff       	call   0x405020
40ec58:	ff 76 5c             	push   0x5c(%esi)
40ec5b:	e8 c0 63 ff ff       	call   0x405020
40ec60:	ff 76 60             	push   0x60(%esi)
40ec63:	e8 b8 63 ff ff       	call   0x405020
40ec68:	ff 76 64             	push   0x64(%esi)
40ec6b:	e8 b0 63 ff ff       	call   0x405020
40ec70:	ff 76 68             	push   0x68(%esi)
40ec73:	e8 a8 63 ff ff       	call   0x405020
40ec78:	ff 76 6c             	push   0x6c(%esi)
40ec7b:	e8 a0 63 ff ff       	call   0x405020
40ec80:	ff 76 70             	push   0x70(%esi)
40ec83:	e8 98 63 ff ff       	call   0x405020
40ec88:	ff 76 74             	push   0x74(%esi)
40ec8b:	e8 90 63 ff ff       	call   0x405020
40ec90:	ff 76 78             	push   0x78(%esi)
40ec93:	e8 88 63 ff ff       	call   0x405020
40ec98:	ff 76 7c             	push   0x7c(%esi)
40ec9b:	e8 80 63 ff ff       	call   0x405020
40eca0:	83 c4 40             	add    $0x40,%esp
40eca3:	ff b6 80 00 00 00    	push   0x80(%esi)
40eca9:	e8 72 63 ff ff       	call   0x405020
40ecae:	ff b6 84 00 00 00    	push   0x84(%esi)
40ecb4:	e8 67 63 ff ff       	call   0x405020
40ecb9:	ff b6 88 00 00 00    	push   0x88(%esi)
40ecbf:	e8 5c 63 ff ff       	call   0x405020
40ecc4:	ff b6 8c 00 00 00    	push   0x8c(%esi)
40ecca:	e8 51 63 ff ff       	call   0x405020
40eccf:	ff b6 90 00 00 00    	push   0x90(%esi)
40ecd5:	e8 46 63 ff ff       	call   0x405020
40ecda:	ff b6 94 00 00 00    	push   0x94(%esi)
40ece0:	e8 3b 63 ff ff       	call   0x405020
40ece5:	ff b6 98 00 00 00    	push   0x98(%esi)
40eceb:	e8 30 63 ff ff       	call   0x405020
40ecf0:	ff b6 9c 00 00 00    	push   0x9c(%esi)
40ecf6:	e8 25 63 ff ff       	call   0x405020
40ecfb:	ff b6 a0 00 00 00    	push   0xa0(%esi)
40ed01:	e8 1a 63 ff ff       	call   0x405020
40ed06:	ff b6 a4 00 00 00    	push   0xa4(%esi)
40ed0c:	e8 0f 63 ff ff       	call   0x405020
40ed11:	ff b6 a8 00 00 00    	push   0xa8(%esi)
40ed17:	e8 04 63 ff ff       	call   0x405020
40ed1c:	83 c4 2c             	add    $0x2c,%esp
40ed1f:	5e                   	pop    %esi
40ed20:	5d                   	pop    %ebp
40ed21:	c3                   	ret
40ed22:	8b ff                	mov    %edi,%edi
40ed24:	55                   	push   %ebp
40ed25:	8b ec                	mov    %esp,%ebp
40ed27:	53                   	push   %ebx
40ed28:	56                   	push   %esi
40ed29:	57                   	push   %edi
40ed2a:	8b 7d 08             	mov    0x8(%ebp),%edi
40ed2d:	83 7f 20 00          	cmpl   $0x0,0x20(%edi)
40ed31:	bb c0 b8 42 00       	mov    $0x42b8c0,%ebx
40ed36:	74 40                	je     0x40ed78
40ed38:	68 b8 00 00 00       	push   $0xb8
40ed3d:	6a 01                	push   $0x1
40ed3f:	e8 61 8e ff ff       	call   0x407ba5
40ed44:	8b f0                	mov    %eax,%esi
40ed46:	59                   	pop    %ecx
40ed47:	59                   	pop    %ecx
40ed48:	85 f6                	test   %esi,%esi
40ed4a:	75 05                	jne    0x40ed51
40ed4c:	33 c0                	xor    %eax,%eax
40ed4e:	40                   	inc    %eax
40ed4f:	eb 45                	jmp    0x40ed96
40ed51:	8b c7                	mov    %edi,%eax
40ed53:	e8 1a fa ff ff       	call   0x40e772
40ed58:	85 c0                	test   %eax,%eax
40ed5a:	74 10                	je     0x40ed6c
40ed5c:	56                   	push   %esi
40ed5d:	e8 2b fe ff ff       	call   0x40eb8d
40ed62:	56                   	push   %esi
40ed63:	e8 b8 62 ff ff       	call   0x405020
40ed68:	59                   	pop    %ecx
40ed69:	59                   	pop    %ecx
40ed6a:	eb e0                	jmp    0x40ed4c
40ed6c:	c7 86 b4 00 00 00 01 	movl   $0x1,0xb4(%esi)
40ed73:	00 00 00
40ed76:	eb 02                	jmp    0x40ed7a
40ed78:	8b f3                	mov    %ebx,%esi
40ed7a:	81 c7 d4 00 00 00    	add    $0xd4,%edi
40ed80:	8b 07                	mov    (%edi),%eax
40ed82:	3b c3                	cmp    %ebx,%eax
40ed84:	74 0c                	je     0x40ed92
40ed86:	05 b4 00 00 00       	add    $0xb4,%eax
40ed8b:	50                   	push   %eax
40ed8c:	ff 15 78 a0 41 00    	call   *0x41a078
40ed92:	89 37                	mov    %esi,(%edi)
40ed94:	33 c0                	xor    %eax,%eax
40ed96:	5f                   	pop    %edi
40ed97:	5e                   	pop    %esi
40ed98:	5b                   	pop    %ebx
40ed99:	5d                   	pop    %ebp
40ed9a:	c3                   	ret
40ed9b:	8b ff                	mov    %edi,%edi
40ed9d:	55                   	push   %ebp
40ed9e:	8b ec                	mov    %esp,%ebp
40eda0:	56                   	push   %esi
40eda1:	8b 75 08             	mov    0x8(%ebp),%esi
40eda4:	85 f6                	test   %esi,%esi
40eda6:	74 35                	je     0x40eddd
40eda8:	8b 06                	mov    (%esi),%eax
40edaa:	3b 05 80 b9 42 00    	cmp    0x42b980,%eax
40edb0:	74 07                	je     0x40edb9
40edb2:	50                   	push   %eax
40edb3:	e8 68 62 ff ff       	call   0x405020
40edb8:	59                   	pop    %ecx
40edb9:	8b 46 04             	mov    0x4(%esi),%eax
40edbc:	3b 05 84 b9 42 00    	cmp    0x42b984,%eax
40edc2:	74 07                	je     0x40edcb
40edc4:	50                   	push   %eax
40edc5:	e8 56 62 ff ff       	call   0x405020
40edca:	59                   	pop    %ecx
40edcb:	8b 76 08             	mov    0x8(%esi),%esi
40edce:	3b 35 88 b9 42 00    	cmp    0x42b988,%esi
40edd4:	74 07                	je     0x40eddd
40edd6:	56                   	push   %esi
40edd7:	e8 44 62 ff ff       	call   0x405020
40eddc:	59                   	pop    %ecx
40eddd:	5e                   	pop    %esi
40edde:	5d                   	pop    %ebp
40eddf:	c3                   	ret
40ede0:	8b ff                	mov    %edi,%edi
40ede2:	55                   	push   %ebp
40ede3:	8b ec                	mov    %esp,%ebp
40ede5:	83 ec 18             	sub    $0x18,%esp
40ede8:	53                   	push   %ebx
40ede9:	8b 5d 08             	mov    0x8(%ebp),%ebx
40edec:	56                   	push   %esi
40eded:	33 f6                	xor    %esi,%esi
40edef:	57                   	push   %edi
40edf0:	89 5d e8             	mov    %ebx,-0x18(%ebp)
40edf3:	89 75 ec             	mov    %esi,-0x14(%ebp)
40edf6:	39 73 1c             	cmp    %esi,0x1c(%ebx)
40edf9:	75 17                	jne    0x40ee12
40edfb:	39 73 18             	cmp    %esi,0x18(%ebx)
40edfe:	75 12                	jne    0x40ee12
40ee00:	89 75 fc             	mov    %esi,-0x4(%ebp)
40ee03:	89 75 f8             	mov    %esi,-0x8(%ebp)
40ee06:	c7 45 08 80 b9 42 00 	movl   $0x42b980,0x8(%ebp)
40ee0d:	e9 3a 01 00 00       	jmp    0x40ef4c
40ee12:	6a 30                	push   $0x30
40ee14:	6a 01                	push   $0x1
40ee16:	e8 8a 8d ff ff       	call   0x407ba5
40ee1b:	8b f8                	mov    %eax,%edi
40ee1d:	59                   	pop    %ecx
40ee1e:	59                   	pop    %ecx
40ee1f:	89 7d 08             	mov    %edi,0x8(%ebp)
40ee22:	3b fe                	cmp    %esi,%edi
40ee24:	75 08                	jne    0x40ee2e
40ee26:	33 c0                	xor    %eax,%eax
40ee28:	40                   	inc    %eax
40ee29:	e9 77 01 00 00       	jmp    0x40efa5
40ee2e:	8b b3 bc 00 00 00    	mov    0xbc(%ebx),%esi
40ee34:	6a 0c                	push   $0xc
40ee36:	59                   	pop    %ecx
40ee37:	6a 04                	push   $0x4
40ee39:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
40ee3b:	e8 20 8d ff ff       	call   0x407b60
40ee40:	33 f6                	xor    %esi,%esi
40ee42:	59                   	pop    %ecx
40ee43:	89 45 f8             	mov    %eax,-0x8(%ebp)
40ee46:	3b c6                	cmp    %esi,%eax
40ee48:	75 0b                	jne    0x40ee55
40ee4a:	ff 75 08             	push   0x8(%ebp)
40ee4d:	e8 ce 61 ff ff       	call   0x405020
40ee52:	59                   	pop    %ecx
40ee53:	eb d1                	jmp    0x40ee26
40ee55:	89 30                	mov    %esi,(%eax)
40ee57:	39 73 1c             	cmp    %esi,0x1c(%ebx)
40ee5a:	0f 84 bb 00 00 00    	je     0x40ef1b
40ee60:	6a 04                	push   $0x4
40ee62:	e8 f9 8c ff ff       	call   0x407b60
40ee67:	59                   	pop    %ecx
40ee68:	89 45 fc             	mov    %eax,-0x4(%ebp)
40ee6b:	3b c6                	cmp    %esi,%eax
40ee6d:	75 1c                	jne    0x40ee8b
40ee6f:	33 f6                	xor    %esi,%esi
40ee71:	46                   	inc    %esi
40ee72:	ff 75 08             	push   0x8(%ebp)
40ee75:	e8 a6 61 ff ff       	call   0x405020
40ee7a:	ff 75 f8             	push   -0x8(%ebp)
40ee7d:	e8 9e 61 ff ff       	call   0x405020
40ee82:	59                   	pop    %ecx