40ecc3:	c2 04 00             	ret    $0x4
40ecc6:	8b ff                	mov    %edi,%edi
40ecc8:	55                   	push   %ebp
40ecc9:	8b ec                	mov    %esp,%ebp
40eccb:	6a ff                	push   $0xffffffff
40eccd:	68 c0 2e 41 00       	push   $0x412ec0
40ecd2:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40ecd8:	50                   	push   %eax
40ecd9:	56                   	push   %esi
40ecda:	57                   	push   %edi
40ecdb:	a1 f4 51 41 00       	mov    0x4151f4,%eax
40ece0:	33 c5                	xor    %ebp,%eax
40ece2:	50                   	push   %eax
40ece3:	8d 45 f4             	lea    -0xc(%ebp),%eax
40ece6:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40ecec:	8b f9                	mov    %ecx,%edi
40ecee:	8b 4f 08             	mov    0x8(%edi),%ecx
40ecf1:	85 c9                	test   %ecx,%ecx
40ecf3:	74 20                	je     0x40ed15
40ecf5:	e8 18 ef ff ff       	call   0x40dc12
40ecfa:	8b 4f 08             	mov    0x8(%edi),%ecx
40ecfd:	85 c9                	test   %ecx,%ecx
40ecff:	74 14                	je     0x40ed15
40ed01:	8b 01                	mov    (%ecx),%eax
40ed03:	51                   	push   %ecx
40ed04:	8b 70 08             	mov    0x8(%eax),%esi
40ed07:	8b ce                	mov    %esi,%ecx
40ed09:	ff 15 28 63 41 00    	call   *0x416328
40ed0f:	ff d6                	call   *%esi
40ed11:	83 67 08 00          	andl   $0x0,0x8(%edi)
40ed15:	ff 77 1c             	push   0x1c(%edi)
40ed18:	ff 15 b8 61 41 00    	call   *0x4161b8
40ed1e:	ff 77 10             	push   0x10(%edi)
40ed21:	ff 15 b8 61 41 00    	call   *0x4161b8
40ed27:	8b 4f 0c             	mov    0xc(%edi),%ecx
40ed2a:	85 c9                	test   %ecx,%ecx
40ed2c:	74 10                	je     0x40ed3e
40ed2e:	8b 01                	mov    (%ecx),%eax
40ed30:	51                   	push   %ecx
40ed31:	8b 70 08             	mov    0x8(%eax),%esi
40ed34:	8b ce                	mov    %esi,%ecx
40ed36:	ff 15 28 63 41 00    	call   *0x416328
40ed3c:	ff d6                	call   *%esi
40ed3e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40ed41:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40ed48:	59                   	pop    %ecx
40ed49:	5f                   	pop    %edi
40ed4a:	5e                   	pop    %esi
40ed4b:	c9                   	leave
40ed4c:	c3                   	ret
40ed4d:	cc                   	int3
40ed4e:	cc                   	int3
40ed4f:	cc                   	int3
40ed50:	8b ff                	mov    %edi,%edi
40ed52:	55                   	push   %ebp
40ed53:	8b ec                	mov    %esp,%ebp
40ed55:	56                   	push   %esi
40ed56:	8b 75 0c             	mov    0xc(%ebp),%esi
40ed59:	85 f6                	test   %esi,%esi
40ed5b:	75 1f                	jne    0x40ed7c
40ed5d:	be 03 40 00 80       	mov    $0x80004003,%esi
40ed62:	56                   	push   %esi
40ed63:	68 38 3e 40 00       	push   $0x403e38
40ed68:	68 a5 00 00 00       	push   $0xa5
40ed6d:	68 78 3e 40 00       	push   $0x403e78
40ed72:	51                   	push   %ecx
40ed73:	e8 5a 22 00 00       	call   0x410fd2
40ed78:	8b c6                	mov    %esi,%eax
40ed7a:	eb 0f                	jmp    0x40ed8b
40ed7c:	8b 4d 08             	mov    0x8(%ebp),%ecx
40ed7f:	8d 49 1c             	lea    0x1c(%ecx),%ecx
40ed82:	e8 5a ab ff ff       	call   0x4098e1
40ed87:	89 06                	mov    %eax,(%esi)
40ed89:	33 c0                	xor    %eax,%eax
40ed8b:	5e                   	pop    %esi
40ed8c:	5d                   	pop    %ebp
40ed8d:	c2 08 00             	ret    $0x8
40ed90:	8b ff                	mov    %edi,%edi
40ed92:	55                   	push   %ebp
40ed93:	8b ec                	mov    %esp,%ebp
40ed95:	83 e4 f8             	and    $0xfffffff8,%esp
40ed98:	83 ec 14             	sub    $0x14,%esp
40ed9b:	53                   	push   %ebx
40ed9c:	56                   	push   %esi
40ed9d:	57                   	push   %edi
40ed9e:	33 f6                	xor    %esi,%esi
40eda0:	68 f0 1d 40 00       	push   $0x401df0
40eda5:	6a 28                	push   $0x28
40eda7:	89 74 24 20          	mov    %esi,0x20(%esp)
40edab:	89 74 24 1c          	mov    %esi,0x1c(%esp)
40edaf:	89 74 24 24          	mov    %esi,0x24(%esp)
40edb3:	e8 17 37 00 00       	call   0x4124cf
40edb8:	8b 5d 08             	mov    0x8(%ebp),%ebx
40edbb:	59                   	pop    %ecx
40edbc:	59                   	pop    %ecx
40edbd:	85 c0                	test   %eax,%eax
40edbf:	74 0c                	je     0x40edcd
40edc1:	53                   	push   %ebx
40edc2:	8b c8                	mov    %eax,%ecx
40edc4:	e8 34 02 00 00       	call   0x40effd
40edc9:	8b c8                	mov    %eax,%ecx
40edcb:	eb 02                	jmp    0x40edcf
40edcd:	8b ce                	mov    %esi,%ecx
40edcf:	89 4b 08             	mov    %ecx,0x8(%ebx)
40edd2:	85 c9                	test   %ecx,%ecx
40edd4:	0f 84 5e 01 00 00    	je     0x40ef38
40edda:	8b 01                	mov    (%ecx),%eax
40eddc:	51                   	push   %ecx
40eddd:	8b 70 04             	mov    0x4(%eax),%esi
40ede0:	8b ce                	mov    %esi,%ecx
40ede2:	ff 15 28 63 41 00    	call   *0x416328
40ede8:	ff d6                	call   *%esi
40edea:	8b 45 0c             	mov    0xc(%ebp),%eax
40eded:	85 c0                	test   %eax,%eax
40edef:	0f 84 3c 01 00 00    	je     0x40ef31
40edf5:	8b 30                	mov    (%eax),%esi
40edf7:	8d 4c 24 18          	lea    0x18(%esp),%ecx
40edfb:	51                   	push   %ecx
40edfc:	68 90 3c 40 00       	push   $0x403c90
40ee01:	50                   	push   %eax
40ee02:	8b 0e                	mov    (%esi),%ecx
40ee04:	ff 15 28 63 41 00    	call   *0x416328
40ee0a:	ff 16                	call   *(%esi)
40ee0c:	8b f8                	mov    %eax,%edi
40ee0e:	85 ff                	test   %edi,%edi
40ee10:	79 10                	jns    0x40ee22
40ee12:	57                   	push   %edi
40ee13:	68 d0 3e 40 00       	push   $0x403ed0
40ee18:	68 e5 00 00 00       	push   $0xe5
40ee1d:	e9 26 01 00 00       	jmp    0x40ef48
40ee22:	8b 44 24 18          	mov    0x18(%esp),%eax
40ee26:	8d 4c 24 14          	lea    0x14(%esp),%ecx
40ee2a:	51                   	push   %ecx
40ee2b:	68 a0 3c 40 00       	push   $0x403ca0
40ee30:	50                   	push   %eax
40ee31:	8b 30                	mov    (%eax),%esi
40ee33:	8b 4e 10             	mov    0x10(%esi),%ecx
40ee36:	ff 15 28 63 41 00    	call   *0x416328
40ee3c:	ff 56 10             	call   *0x10(%esi)
40ee3f:	8b f8                	mov    %eax,%edi
40ee41:	85 ff                	test   %edi,%edi
40ee43:	79 10                	jns    0x40ee55
40ee45:	57                   	push   %edi
40ee46:	68 d0 3e 40 00       	push   $0x403ed0
40ee4b:	68 ec 00 00 00       	push   $0xec
40ee50:	e9 f3 00 00 00       	jmp    0x40ef48
40ee55:	ff 74 24 14          	push   0x14(%esp)
40ee59:	8b 4b 08             	mov    0x8(%ebx),%ecx
40ee5c:	e8 e6 06 00 00       	call   0x40f547
40ee61:	8b f8                	mov    %eax,%edi
40ee63:	85 ff                	test   %edi,%edi
40ee65:	79 10                	jns    0x40ee77
40ee67:	57                   	push   %edi
40ee68:	68 d0 3e 40 00       	push   $0x403ed0
40ee6d:	68 f4 00 00 00       	push   $0xf4
40ee72:	e9 d1 00 00 00       	jmp    0x40ef48
40ee77:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40ee7a:	8d 53 0c             	lea    0xc(%ebx),%edx
40ee7d:	52                   	push   %edx
40ee7e:	68 80 3c 40 00       	push   $0x403c80
40ee83:	51                   	push   %ecx
40ee84:	8b 01                	mov    (%ecx),%eax
40ee86:	8b 30                	mov    (%eax),%esi
40ee88:	8b ce                	mov    %esi,%ecx
40ee8a:	ff 15 28 63 41 00    	call   *0x416328
40ee90:	ff d6                	call   *%esi
40ee92:	8b f8                	mov    %eax,%edi
40ee94:	85 ff                	test   %edi,%edi
40ee96:	79 10                	jns    0x40eea8
40ee98:	57                   	push   %edi
40ee99:	68 d0 3e 40 00       	push   $0x403ed0
40ee9e:	68 09 01 00 00       	push   $0x109
40eea3:	e9 a0 00 00 00       	jmp    0x40ef48
40eea8:	8b 4b 0c             	mov    0xc(%ebx),%ecx
40eeab:	85 c9                	test   %ecx,%ecx
40eead:	75 15                	jne    0x40eec4
40eeaf:	bf 05 40 00 80       	mov    $0x80004005,%edi
40eeb4:	57                   	push   %edi
40eeb5:	68 d0 3e 40 00       	push   $0x403ed0
40eeba:	68 11 01 00 00       	push   $0x111
40eebf:	e9 84 00 00 00       	jmp    0x40ef48
40eec4:	83 64 24 10 00       	andl   $0x0,0x10(%esp)
40eec9:	8d 54 24 10          	lea    0x10(%esp),%edx
40eecd:	8b 01                	mov    (%ecx),%eax
40eecf:	52                   	push   %edx
40eed0:	51                   	push   %ecx
40eed1:	8b 70 14             	mov    0x14(%eax),%esi
40eed4:	8b ce                	mov    %esi,%ecx
40eed6:	ff 15 28 63 41 00    	call   *0x416328
40eedc:	ff d6                	call   *%esi
40eede:	8b f8                	mov    %eax,%edi
40eee0:	85 ff                	test   %edi,%edi
40eee2:	79 0d                	jns    0x40eef1
40eee4:	57                   	push   %edi
40eee5:	68 d0 3e 40 00       	push   $0x403ed0
40eeea:	68 1e 01 00 00       	push   $0x11e
40eeef:	eb 57                	jmp    0x40ef48
40eef1:	33 c0                	xor    %eax,%eax
40eef3:	40                   	inc    %eax
40eef4:	84 44 24 10          	test   %al,0x10(%esp)
40eef8:	74 03                	je     0x40eefd
40eefa:	89 43 14             	mov    %eax,0x14(%ebx)
40eefd:	f6 44 24 10 02       	testb  $0x2,0x10(%esp)
40ef02:	74 03                	je     0x40ef07
40ef04:	89 43 18             	mov    %eax,0x18(%ebx)
40ef07:	8b 4b 0c             	mov    0xc(%ebx),%ecx
40ef0a:	8d 43 1c             	lea    0x1c(%ebx),%eax
40ef0d:	50                   	push   %eax
40ef0e:	51                   	push   %ecx
40ef0f:	8b 11                	mov    (%ecx),%edx
40ef11:	8b 72 10             	mov    0x10(%edx),%esi
40ef14:	8b ce                	mov    %esi,%ecx
40ef16:	ff 15 28 63 41 00    	call   *0x416328
40ef1c:	ff d6                	call   *%esi
40ef1e:	8b f8                	mov    %eax,%edi
40ef20:	85 ff                	test   %edi,%edi
40ef22:	79 2f                	jns    0x40ef53
40ef24:	57                   	push   %edi
40ef25:	68 d0 3e 40 00       	push   $0x403ed0
40ef2a:	68 43 01 00 00       	push   $0x143
40ef2f:	eb 17                	jmp    0x40ef48
40ef31:	bf 03 40 00 80       	mov    $0x80004003,%edi
40ef36:	eb 1b                	jmp    0x40ef53
40ef38:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
40ef3d:	57                   	push   %edi
40ef3e:	68 d0 3e 40 00       	push   $0x403ed0
40ef43:	68 d5 00 00 00       	push   $0xd5
40ef48:	68 78 3e 40 00       	push   $0x403e78
40ef4d:	51                   	push   %ecx
40ef4e:	e8 7f 20 00 00       	call   0x410fd2
40ef53:	33 db                	xor    %ebx,%ebx
40ef55:	53                   	push   %ebx
40ef56:	ff 15 b8 61 41 00    	call   *0x4161b8
40ef5c:	53                   	push   %ebx
40ef5d:	ff 15 b8 61 41 00    	call   *0x4161b8
40ef63:	53                   	push   %ebx
40ef64:	ff 15 b8 61 41 00    	call   *0x4161b8
40ef6a:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
40ef6e:	e8 7c 7a ff ff       	call   0x4069ef
40ef73:	8b 44 24 14          	mov    0x14(%esp),%eax
40ef77:	85 c0                	test   %eax,%eax
40ef79:	74 10                	je     0x40ef8b
40ef7b:	8b 08                	mov    (%eax),%ecx
40ef7d:	50                   	push   %eax
40ef7e:	8b 71 08             	mov    0x8(%ecx),%esi
40ef81:	8b ce                	mov    %esi,%ecx
40ef83:	ff 15 28 63 41 00    	call   *0x416328
40ef89:	ff d6                	call   *%esi
40ef8b:	8b 4c 24 18          	mov    0x18(%esp),%ecx
40ef8f:	85 c9                	test   %ecx,%ecx
40ef91:	74 10                	je     0x40efa3
40ef93:	8b 11                	mov    (%ecx),%edx
40ef95:	51                   	push   %ecx
40ef96:	8b 72 08             	mov    0x8(%edx),%esi
40ef99:	8b ce                	mov    %esi,%ecx
40ef9b:	ff 15 28 63 41 00    	call   *0x416328
40efa1:	ff d6                	call   *%esi
40efa3:	8b c7                	mov    %edi,%eax
40efa5:	5f                   	pop    %edi
40efa6:	5e                   	pop    %esi
40efa7:	5b                   	pop    %ebx
40efa8:	8b e5                	mov    %ebp,%esp
40efaa:	5d                   	pop    %ebp
40efab:	c2 08 00             	ret    $0x8
40efae:	8b ff                	mov    %edi,%edi
40efb0:	55                   	push   %ebp
40efb1:	8b ec                	mov    %esp,%ebp
40efb3:	8b 45 08             	mov    0x8(%ebp),%eax
40efb6:	57                   	push   %edi
40efb7:	33 ff                	xor    %edi,%edi
40efb9:	21 38                	and    %edi,(%eax)
40efbb:	8b 49 0c             	mov    0xc(%ecx),%ecx
40efbe:	85 c9                	test   %ecx,%ecx
40efc0:	74 16                	je     0x40efd8
40efc2:	89 08                	mov    %ecx,(%eax)
40efc4:	8b 01                	mov    (%ecx),%eax
40efc6:	56                   	push   %esi
40efc7:	51                   	push   %ecx
40efc8:	8b 70 04             	mov    0x4(%eax),%esi
40efcb:	8b ce                	mov    %esi,%ecx
40efcd:	ff 15 28 63 41 00    	call   *0x416328
40efd3:	ff d6                	call   *%esi
40efd5:	5e                   	pop    %esi
40efd6:	eb 1c                	jmp    0x40eff4
40efd8:	6a 00                	push   $0x0
40efda:	68 18 3f 40 00       	push   $0x403f18
40efdf:	68 91 01 00 00       	push   $0x191
40efe4:	68 78 3e 40 00       	push   $0x403e78
40efe9:	51                   	push   %ecx
40efea:	bf 05 40 00 80       	mov    $0x80004005,%edi
40efef:	e8 de 1f 00 00       	call   0x410fd2
40eff4:	8b c7                	mov    %edi,%eax
40eff6:	5f                   	pop    %edi
40eff7:	5d                   	pop    %ebp
40eff8:	c2 04 00             	ret    $0x4
40effb:	cc                   	int3
40effc:	cc                   	int3
40effd:	6a 04                	push   $0x4
40efff:	b8 c1 30 41 00       	mov    $0x4130c1,%eax
40f004:	e8 55 35 00 00       	call   0x41255e
40f009:	8b d9                	mov    %ecx,%ebx
40f00b:	89 5d f0             	mov    %ebx,-0x10(%ebp)
40f00e:	be 28 3e 40 00       	mov    $0x403e28,%esi
40f013:	c7 03 e8 19 40 00    	movl   $0x4019e8,(%ebx)
40f019:	8d 7b 14             	lea    0x14(%ebx),%edi
40f01c:	33 c0                	xor    %eax,%eax
40f01e:	89 43 10             	mov    %eax,0x10(%ebx)
40f021:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40f022:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40f023:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40f024:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40f025:	89 43 24             	mov    %eax,0x24(%ebx)
40f028:	8b 4d 08             	mov    0x8(%ebp),%ecx
40f02b:	89 45 fc             	mov    %eax,-0x4(%ebp)
40f02e:	89 4b 04             	mov    %ecx,0x4(%ebx)
40f031:	51                   	push   %ecx
40f032:	8b 01                	mov    (%ecx),%eax
40f034:	8b 70 04             	mov    0x4(%eax),%esi
40f037:	8b ce                	mov    %esi,%ecx
40f039:	ff 15 28 63 41 00    	call   *0x416328
40f03f:	ff d6                	call   *%esi
40f041:	83 63 08 00          	andl   $0x0,0x8(%ebx)
40f045:	8b c3                	mov    %ebx,%eax
40f047:	83 63 0c 00          	andl   $0x0,0xc(%ebx)
40f04b:	e8 dc 34 00 00       	call   0x41252c
40f050:	c2 04 00             	ret    $0x4
40f053:	cc                   	int3
40f054:	cc                   	int3
40f055:	cc                   	int3
40f056:	cc                   	int3
40f057:	cc                   	int3
40f058:	cc                   	int3
40f059:	cc                   	int3
40f05a:	cc                   	int3
40f05b:	cc                   	int3
40f05c:	cc                   	int3
40f05d:	cc                   	int3
40f05e:	cc                   	int3
40f05f:	cc                   	int3
40f060:	8b ff                	mov    %edi,%edi
40f062:	55                   	push   %ebp
40f063:	8b ec                	mov    %esp,%ebp
40f065:	83 e4 f8             	and    $0xfffffff8,%esp
40f068:	83 ec 14             	sub    $0x14,%esp
40f06b:	83 64 24 10 00       	andl   $0x0,0x10(%esp)
40f070:	83 24 24 00          	andl   $0x0,(%esp)
40f074:	53                   	push   %ebx
40f075:	56                   	push   %esi
40f076:	57                   	push   %edi
40f077:	68 b0 3c 40 00       	push   $0x403cb0