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
40ee83:	59                   	pop    %ecx
40ee84:	8b c6                	mov    %esi,%eax
40ee86:	e9 1a 01 00 00       	jmp    0x40efa5
40ee8b:	89 30                	mov    %esi,(%eax)
40ee8d:	8b 75 08             	mov    0x8(%ebp),%esi
40ee90:	0f b7 7b 3e          	movzwl 0x3e(%ebx),%edi
40ee94:	56                   	push   %esi
40ee95:	6a 0e                	push   $0xe
40ee97:	57                   	push   %edi
40ee98:	8d 45 e8             	lea    -0x18(%ebp),%eax
40ee9b:	6a 01                	push   $0x1
40ee9d:	50                   	push   %eax
40ee9e:	e8 ec e5 ff ff       	call   0x40d48f
40eea3:	89 45 f4             	mov    %eax,-0xc(%ebp)
40eea6:	8d 46 04             	lea    0x4(%esi),%eax
40eea9:	50                   	push   %eax
40eeaa:	6a 0f                	push   $0xf
40eeac:	57                   	push   %edi
40eead:	8d 45 e8             	lea    -0x18(%ebp),%eax
40eeb0:	6a 01                	push   $0x1
40eeb2:	50                   	push   %eax
40eeb3:	e8 d7 e5 ff ff       	call   0x40d48f
40eeb8:	09 45 f4             	or     %eax,-0xc(%ebp)
40eebb:	8d 46 08             	lea    0x8(%esi),%eax
40eebe:	50                   	push   %eax
40eebf:	6a 10                	push   $0x10
40eec1:	57                   	push   %edi
40eec2:	89 45 f0             	mov    %eax,-0x10(%ebp)
40eec5:	8d 45 e8             	lea    -0x18(%ebp),%eax
40eec8:	6a 01                	push   $0x1
40eeca:	50                   	push   %eax
40eecb:	e8 bf e5 ff ff       	call   0x40d48f
40eed0:	83 c4 3c             	add    $0x3c,%esp
40eed3:	0b 45 f4             	or     -0xc(%ebp),%eax
40eed6:	74 0c                	je     0x40eee4
40eed8:	56                   	push   %esi
40eed9:	e8 bd fe ff ff       	call   0x40ed9b
40eede:	59                   	pop    %ecx
40eedf:	83 ce ff             	or     $0xffffffff,%esi
40eee2:	eb 8e                	jmp    0x40ee72
40eee4:	8b 45 f0             	mov    -0x10(%ebp),%eax
40eee7:	8b 00                	mov    (%eax),%eax
40eee9:	eb 12                	jmp    0x40eefd
40eeeb:	8a 08                	mov    (%eax),%cl
40eeed:	80 f9 30             	cmp    $0x30,%cl
40eef0:	7c 12                	jl     0x40ef04
40eef2:	80 f9 39             	cmp    $0x39,%cl
40eef5:	7f 0d                	jg     0x40ef04
40eef7:	80 e9 30             	sub    $0x30,%cl
40eefa:	88 08                	mov    %cl,(%eax)
40eefc:	40                   	inc    %eax
40eefd:	80 38 00             	cmpb   $0x0,(%eax)
40ef00:	75 e9                	jne    0x40eeeb
40ef02:	eb 37                	jmp    0x40ef3b
40ef04:	80 f9 3b             	cmp    $0x3b,%cl
40ef07:	75 f3                	jne    0x40eefc
40ef09:	8b f0                	mov    %eax,%esi
40ef0b:	8d 7e 01             	lea    0x1(%esi),%edi
40ef0e:	8a 0f                	mov    (%edi),%cl
40ef10:	88 0e                	mov    %cl,(%esi)
40ef12:	8b f7                	mov    %edi,%esi
40ef14:	80 3e 00             	cmpb   $0x0,(%esi)
40ef17:	75 f2                	jne    0x40ef0b
40ef19:	eb e2                	jmp    0x40eefd
40ef1b:	8b 0d 80 b9 42 00    	mov    0x42b980,%ecx
40ef21:	8b 45 08             	mov    0x8(%ebp),%eax
40ef24:	89 08                	mov    %ecx,(%eax)
40ef26:	8b 0d 84 b9 42 00    	mov    0x42b984,%ecx
40ef2c:	89 48 04             	mov    %ecx,0x4(%eax)
40ef2f:	8b 0d 88 b9 42 00    	mov    0x42b988,%ecx
40ef35:	89 75 fc             	mov    %esi,-0x4(%ebp)
40ef38:	89 48 08             	mov    %ecx,0x8(%eax)
40ef3b:	8b 45 f8             	mov    -0x8(%ebp),%eax
40ef3e:	33 c9                	xor    %ecx,%ecx
40ef40:	41                   	inc    %ecx
40ef41:	89 08                	mov    %ecx,(%eax)
40ef43:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ef46:	85 c0                	test   %eax,%eax
40ef48:	74 02                	je     0x40ef4c
40ef4a:	89 08                	mov    %ecx,(%eax)
40ef4c:	8b 83 b4 00 00 00    	mov    0xb4(%ebx),%eax
40ef52:	8b 35 78 a0 41 00    	mov    0x41a078,%esi
40ef58:	85 c0                	test   %eax,%eax
40ef5a:	74 03                	je     0x40ef5f
40ef5c:	50                   	push   %eax
40ef5d:	ff d6                	call   *%esi
40ef5f:	8b 83 b0 00 00 00    	mov    0xb0(%ebx),%eax
40ef65:	85 c0                	test   %eax,%eax
40ef67:	74 1f                	je     0x40ef88
40ef69:	50                   	push   %eax
40ef6a:	ff d6                	call   *%esi
40ef6c:	85 c0                	test   %eax,%eax
40ef6e:	75 18                	jne    0x40ef88
40ef70:	ff b3 b0 00 00 00    	push   0xb0(%ebx)
40ef76:	e8 a5 60 ff ff       	call   0x405020
40ef7b:	ff b3 bc 00 00 00    	push   0xbc(%ebx)
40ef81:	e8 9a 60 ff ff       	call   0x405020
40ef86:	59                   	pop    %ecx
40ef87:	59                   	pop    %ecx
40ef88:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ef8b:	89 83 b4 00 00 00    	mov    %eax,0xb4(%ebx)
40ef91:	8b 45 f8             	mov    -0x8(%ebp),%eax
40ef94:	89 83 b0 00 00 00    	mov    %eax,0xb0(%ebx)
40ef9a:	8b 45 08             	mov    0x8(%ebp),%eax
40ef9d:	89 83 bc 00 00 00    	mov    %eax,0xbc(%ebx)
40efa3:	33 c0                	xor    %eax,%eax
40efa5:	5f                   	pop    %edi
40efa6:	5e                   	pop    %esi
40efa7:	5b                   	pop    %ebx
40efa8:	c9                   	leave
40efa9:	c3                   	ret
40efaa:	8b ff                	mov    %edi,%edi
40efac:	55                   	push   %ebp
40efad:	8b ec                	mov    %esp,%ebp
40efaf:	56                   	push   %esi
40efb0:	8b 75 08             	mov    0x8(%ebp),%esi
40efb3:	85 f6                	test   %esi,%esi
40efb5:	74 7e                	je     0x40f035
40efb7:	8b 46 0c             	mov    0xc(%esi),%eax
40efba:	3b 05 8c b9 42 00    	cmp    0x42b98c,%eax
40efc0:	74 07                	je     0x40efc9
40efc2:	50                   	push   %eax
40efc3:	e8 58 60 ff ff       	call   0x405020
40efc8:	59                   	pop    %ecx
40efc9:	8b 46 10             	mov    0x10(%esi),%eax
40efcc:	3b 05 90 b9 42 00    	cmp    0x42b990,%eax
40efd2:	74 07                	je     0x40efdb
40efd4:	50                   	push   %eax
40efd5:	e8 46 60 ff ff       	call   0x405020
40efda:	59                   	pop    %ecx
40efdb:	8b 46 14             	mov    0x14(%esi),%eax
40efde:	3b 05 94 b9 42 00    	cmp    0x42b994,%eax
40efe4:	74 07                	je     0x40efed
40efe6:	50                   	push   %eax
40efe7:	e8 34 60 ff ff       	call   0x405020
40efec:	59                   	pop    %ecx
40efed:	8b 46 18             	mov    0x18(%esi),%eax
40eff0:	3b 05 98 b9 42 00    	cmp    0x42b998,%eax
40eff6:	74 07                	je     0x40efff
40eff8:	50                   	push   %eax
40eff9:	e8 22 60 ff ff       	call   0x405020
40effe:	59                   	pop    %ecx
40efff:	8b 46 1c             	mov    0x1c(%esi),%eax
40f002:	3b 05 9c b9 42 00    	cmp    0x42b99c,%eax
40f008:	74 07                	je     0x40f011
40f00a:	50                   	push   %eax
40f00b:	e8 10 60 ff ff       	call   0x405020
40f010:	59                   	pop    %ecx
40f011:	8b 46 20             	mov    0x20(%esi),%eax
40f014:	3b 05 a0 b9 42 00    	cmp    0x42b9a0,%eax
40f01a:	74 07                	je     0x40f023
40f01c:	50                   	push   %eax
40f01d:	e8 fe 5f ff ff       	call   0x405020
40f022:	59                   	pop    %ecx
40f023:	8b 76 24             	mov    0x24(%esi),%esi
40f026:	3b 35 a4 b9 42 00    	cmp    0x42b9a4,%esi
40f02c:	74 07                	je     0x40f035
40f02e:	56                   	push   %esi
40f02f:	e8 ec 5f ff ff       	call   0x405020
40f034:	59                   	pop    %ecx
40f035:	5e                   	pop    %esi
40f036:	5d                   	pop    %ebp
40f037:	c3                   	ret
40f038:	8b ff                	mov    %edi,%edi
40f03a:	55                   	push   %ebp
40f03b:	8b ec                	mov    %esp,%ebp
40f03d:	83 ec 10             	sub    $0x10,%esp
40f040:	53                   	push   %ebx
40f041:	56                   	push   %esi
40f042:	8b 75 08             	mov    0x8(%ebp),%esi
40f045:	57                   	push   %edi
40f046:	33 ff                	xor    %edi,%edi
40f048:	89 7d fc             	mov    %edi,-0x4(%ebp)
40f04b:	89 75 f0             	mov    %esi,-0x10(%ebp)
40f04e:	89 7d f4             	mov    %edi,-0xc(%ebp)