406e6e:	8b 47 14             	mov    0x14(%edi),%eax
406e71:	85 c0                	test   %eax,%eax
406e73:	74 1e                	je     0x406e93
406e75:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
406e79:	8d 70 fc             	lea    -0x4(%eax),%esi
406e7c:	68 c0 4c 40 00       	push   $0x404cc0
406e81:	ff 36                	push   (%esi)
406e83:	6a 0c                	push   $0xc
406e85:	50                   	push   %eax
406e86:	e8 40 b4 00 00       	call   0x4122cb
406e8b:	56                   	push   %esi
406e8c:	ff 15 c8 62 41 00    	call   *0x4162c8
406e92:	59                   	pop    %ecx
406e93:	83 67 14 00          	andl   $0x0,0x14(%edi)
406e97:	e8 90 b6 00 00       	call   0x41252c
406e9c:	c2 04 00             	ret    $0x4
406e9f:	68 28 02 00 00       	push   $0x228
406ea4:	b8 df 2c 41 00       	mov    $0x412cdf,%eax
406ea9:	e8 e3 b6 00 00       	call   0x412591
406eae:	8b f9                	mov    %ecx,%edi
406eb0:	33 c9                	xor    %ecx,%ecx
406eb2:	39 4f 0c             	cmp    %ecx,0xc(%edi)
406eb5:	74 0c                	je     0x406ec3
406eb7:	39 4f 14             	cmp    %ecx,0x14(%edi)
406eba:	74 07                	je     0x406ec3
406ebc:	33 c0                	xor    %eax,%eax
406ebe:	e9 77 02 00 00       	jmp    0x40713a
406ec3:	8b 35 a4 55 41 00    	mov    0x4155a4,%esi
406ec9:	83 c6 10             	add    $0x10,%esi
406ecc:	89 b5 cc fd ff ff    	mov    %esi,-0x234(%ebp)
406ed2:	56                   	push   %esi
406ed3:	89 4d fc             	mov    %ecx,-0x4(%ebp)
406ed6:	ff 15 64 61 41 00    	call   *0x416164
406edc:	8b 47 0c             	mov    0xc(%edi),%eax
406edf:	bb 05 40 00 80       	mov    $0x80004005,%ebx
406ee4:	c6 85 d0 fd ff ff 01 	movb   $0x1,-0x230(%ebp)
406eeb:	85 c0                	test   %eax,%eax
406eed:	0f 85 28 02 00 00    	jne    0x40711b
406ef3:	21 85 d8 fd ff ff    	and    %eax,-0x228(%ebp)
406ef9:	b9 a8 55 41 00       	mov    $0x4155a8,%ecx
406efe:	8b 57 04             	mov    0x4(%edi),%edx
406f01:	e8 8a dc ff ff       	call   0x404b90
406f06:	85 c0                	test   %eax,%eax
406f08:	74 66                	je     0x406f70
406f0a:	b8 ff ff 00 00       	mov    $0xffff,%eax
406f0f:	66 39 47 08          	cmp    %ax,0x8(%edi)
406f13:	75 5b                	jne    0x406f70
406f15:	66 39 47 0a          	cmp    %ax,0xa(%edi)
406f19:	75 55                	jne    0x406f70
406f1b:	68 04 01 00 00       	push   $0x104
406f20:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
406f26:	50                   	push   %eax
406f27:	ff 35 0c 56 41 00    	push   0x41560c
406f2d:	ff 15 60 61 41 00    	call   *0x416160
406f33:	85 c0                	test   %eax,%eax
406f35:	0f 84 db 01 00 00    	je     0x407116
406f3b:	3d 04 01 00 00       	cmp    $0x104,%eax
406f40:	0f 84 d0 01 00 00    	je     0x407116
406f46:	83 a5 e0 fd ff ff 00 	andl   $0x0,-0x220(%ebp)
406f4d:	8d 85 d8 fd ff ff    	lea    -0x228(%ebp),%eax
406f53:	50                   	push   %eax
406f54:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
406f5a:	50                   	push   %eax
406f5b:	ff 15 b4 61 41 00    	call   *0x4161b4
406f61:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
406f67:	8b d8                	mov    %eax,%ebx
406f69:	e8 4f 08 00 00       	call   0x4077bd
406f6e:	eb 1d                	jmp    0x406f8d
406f70:	8d 85 d8 fd ff ff    	lea    -0x228(%ebp),%eax
406f76:	50                   	push   %eax
406f77:	ff 75 08             	push   0x8(%ebp)
406f7a:	0f b7 47 0a          	movzwl 0xa(%edi),%eax
406f7e:	50                   	push   %eax
406f7f:	0f b7 47 08          	movzwl 0x8(%edi),%eax
406f83:	50                   	push   %eax
406f84:	52                   	push   %edx
406f85:	ff 15 b0 61 41 00    	call   *0x4161b0
406f8b:	8b d8                	mov    %eax,%ebx
406f8d:	85 db                	test   %ebx,%ebx
406f8f:	0f 88 81 01 00 00    	js     0x407116
406f95:	83 a5 e0 fd ff ff 00 	andl   $0x0,-0x220(%ebp)
406f9c:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
406fa0:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
406fa6:	8b 85 d8 fd ff ff    	mov    -0x228(%ebp),%eax
406fac:	51                   	push   %ecx
406fad:	ff 37                	push   (%edi)
406faf:	8b 30                	mov    (%eax),%esi
406fb1:	50                   	push   %eax
406fb2:	8b 4e 18             	mov    0x18(%esi),%ecx
406fb5:	ff 15 28 63 41 00    	call   *0x416328
406fbb:	ff 56 18             	call   *0x18(%esi)
406fbe:	8b d8                	mov    %eax,%ebx
406fc0:	85 db                	test   %ebx,%ebx
406fc2:	0f 88 14 01 00 00    	js     0x4070dc
406fc8:	8b 85 e0 fd ff ff    	mov    -0x220(%ebp),%eax
406fce:	89 85 e4 fd ff ff    	mov    %eax,-0x21c(%ebp)
406fd4:	85 c0                	test   %eax,%eax
406fd6:	74 16                	je     0x406fee
406fd8:	8b 08                	mov    (%eax),%ecx
406fda:	50                   	push   %eax
406fdb:	8b 71 04             	mov    0x4(%ecx),%esi
406fde:	8b ce                	mov    %esi,%ecx
406fe0:	ff 15 28 63 41 00    	call   *0x416328
406fe6:	ff d6                	call   *%esi
406fe8:	8b 85 e0 fd ff ff    	mov    -0x220(%ebp),%eax
406fee:	83 a5 dc fd ff ff 00 	andl   $0x0,-0x224(%ebp)
406ff5:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
406ff9:	8d 8d dc fd ff ff    	lea    -0x224(%ebp),%ecx
406fff:	8b 30                	mov    (%eax),%esi
407001:	51                   	push   %ecx
407002:	68 38 2b 40 00       	push   $0x402b38
407007:	50                   	push   %eax
407008:	8b 0e                	mov    (%esi),%ecx
40700a:	ff 15 28 63 41 00    	call   *0x416328
407010:	ff 16                	call   *(%esi)
407012:	85 c0                	test   %eax,%eax
407014:	78 65                	js     0x40707b
407016:	ff b5 dc fd ff ff    	push   -0x224(%ebp)
40701c:	8d 8d e4 fd ff ff    	lea    -0x21c(%ebp),%ecx
407022:	e8 2d 1c 00 00       	call   0x408c54
407027:	84 c0                	test   %al,%al
407029:	75 50                	jne    0x40707b
40702b:	8b 8d e4 fd ff ff    	mov    -0x21c(%ebp),%ecx
407031:	83 a5 e4 fd ff ff 00 	andl   $0x0,-0x21c(%ebp)
407038:	8b 85 dc fd ff ff    	mov    -0x224(%ebp),%eax
40703e:	89 8d d4 fd ff ff    	mov    %ecx,-0x22c(%ebp)
407044:	85 c0                	test   %eax,%eax
407046:	74 1f                	je     0x407067
407048:	8b 30                	mov    (%eax),%esi
40704a:	8d 8d e4 fd ff ff    	lea    -0x21c(%ebp),%ecx
407050:	51                   	push   %ecx
407051:	68 18 2b 40 00       	push   $0x402b18
407056:	50                   	push   %eax
407057:	8b 0e                	mov    (%esi),%ecx
407059:	ff 15 28 63 41 00    	call   *0x416328
40705f:	ff 16                	call   *(%esi)
407061:	8b 8d d4 fd ff ff    	mov    -0x22c(%ebp),%ecx
407067:	85 c9                	test   %ecx,%ecx
407069:	74 10                	je     0x40707b
40706b:	8b 01                	mov    (%ecx),%eax
40706d:	51                   	push   %ecx
40706e:	8b 70 08             	mov    0x8(%eax),%esi
407071:	8b ce                	mov    %esi,%ecx
407073:	ff 15 28 63 41 00    	call   *0x416328
407079:	ff d6                	call   *%esi
40707b:	8b 0d a4 55 41 00    	mov    0x4155a4,%ecx
407081:	8b 85 e4 fd ff ff    	mov    -0x21c(%ebp),%eax
407087:	83 a5 e4 fd ff ff 00 	andl   $0x0,-0x21c(%ebp)
40708e:	89 47 0c             	mov    %eax,0xc(%edi)
407091:	8d 41 04             	lea    0x4(%ecx),%eax
407094:	f7 d9                	neg    %ecx
407096:	57                   	push   %edi
407097:	1b c9                	sbb    %ecx,%ecx
407099:	23 c8                	and    %eax,%ecx
40709b:	e8 d1 f8 ff ff       	call   0x406971
4070a0:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4070a4:	8b 85 dc fd ff ff    	mov    -0x224(%ebp),%eax
4070aa:	85 c0                	test   %eax,%eax
4070ac:	74 10                	je     0x4070be
4070ae:	8b 08                	mov    (%eax),%ecx
4070b0:	50                   	push   %eax
4070b1:	8b 71 08             	mov    0x8(%ecx),%esi
4070b4:	8b ce                	mov    %esi,%ecx
4070b6:	ff 15 28 63 41 00    	call   *0x416328
4070bc:	ff d6                	call   *%esi
4070be:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4070c2:	8b 85 e4 fd ff ff    	mov    -0x21c(%ebp),%eax
4070c8:	85 c0                	test   %eax,%eax
4070ca:	74 10                	je     0x4070dc
4070cc:	8b 08                	mov    (%eax),%ecx
4070ce:	50                   	push   %eax
4070cf:	8b 71 08             	mov    0x8(%ecx),%esi
4070d2:	8b ce                	mov    %esi,%ecx
4070d4:	ff 15 28 63 41 00    	call   *0x416328
4070da:	ff d6                	call   *%esi
4070dc:	8b 85 d8 fd ff ff    	mov    -0x228(%ebp),%eax
4070e2:	50                   	push   %eax
4070e3:	8b 08                	mov    (%eax),%ecx
4070e5:	8b 71 08             	mov    0x8(%ecx),%esi
4070e8:	8b ce                	mov    %esi,%ecx
4070ea:	ff 15 28 63 41 00    	call   *0x416328
4070f0:	ff d6                	call   *%esi
4070f2:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
4070f6:	8b 85 e0 fd ff ff    	mov    -0x220(%ebp),%eax
4070fc:	85 c0                	test   %eax,%eax
4070fe:	74 10                	je     0x407110
407100:	8b 08                	mov    (%eax),%ecx
407102:	50                   	push   %eax
407103:	8b 71 08             	mov    0x8(%ecx),%esi
407106:	8b ce                	mov    %esi,%ecx
407108:	ff 15 28 63 41 00    	call   *0x416328
40710e:	ff d6                	call   *%esi
407110:	8b b5 cc fd ff ff    	mov    -0x234(%ebp),%esi
407116:	8b 47 0c             	mov    0xc(%edi),%eax
407119:	eb 02                	jmp    0x40711d
40711b:	33 db                	xor    %ebx,%ebx
40711d:	85 c0                	test   %eax,%eax
40711f:	74 10                	je     0x407131
407121:	83 7f 14 00          	cmpl   $0x0,0x14(%edi)
407125:	75 0a                	jne    0x407131
407127:	50                   	push   %eax
407128:	8b cf                	mov    %edi,%ecx
40712a:	e8 3b fb ff ff       	call   0x406c6a
40712f:	8b d8                	mov    %eax,%ebx
407131:	56                   	push   %esi
407132:	ff 15 5c 61 41 00    	call   *0x41615c
407138:	8b c3                	mov    %ebx,%eax
40713a:	e8 01 b4 00 00       	call   0x412540
40713f:	c2 04 00             	ret    $0x4
407142:	cc                   	int3
407143:	cc                   	int3
407144:	cc                   	int3
407145:	cc                   	int3
407146:	cc                   	int3
407147:	cc                   	int3
407148:	cc                   	int3
407149:	cc                   	int3
40714a:	cc                   	int3
40714b:	cc                   	int3
40714c:	cc                   	int3
40714d:	cc                   	int3
40714e:	cc                   	int3
40714f:	cc                   	int3
407150:	8b ff                	mov    %edi,%edi
407152:	55                   	push   %ebp
407153:	8b ec                	mov    %esp,%ebp
407155:	6a 00                	push   $0x0
407157:	ff 75 08             	push   0x8(%ebp)
40715a:	6a 66                	push   $0x66
40715c:	5a                   	pop    %edx
40715d:	e8 a5 f4 ff ff       	call   0x406607
407162:	5d                   	pop    %ebp
407163:	c2 04 00             	ret    $0x4
407166:	cc                   	int3
407167:	cc                   	int3
407168:	cc                   	int3
407169:	cc                   	int3
40716a:	cc                   	int3
40716b:	cc                   	int3
40716c:	cc                   	int3
40716d:	cc                   	int3
40716e:	cc                   	int3
40716f:	cc                   	int3
407170:	8b ff                	mov    %edi,%edi
407172:	55                   	push   %ebp
407173:	8b ec                	mov    %esp,%ebp
407175:	6a 00                	push   $0x0
407177:	ff 75 08             	push   0x8(%ebp)
40717a:	6a 67                	push   $0x67
40717c:	5a                   	pop    %edx
40717d:	e8 85 f4 ff ff       	call   0x406607
407182:	5d                   	pop    %ebp
407183:	c2 04 00             	ret    $0x4
407186:	33 c0                	xor    %eax,%eax
407188:	89 41 08             	mov    %eax,0x8(%ecx)
40718b:	89 81 30 04 00 00    	mov    %eax,0x430(%ecx)
407191:	89 81 34 04 00 00    	mov    %eax,0x434(%ecx)
407197:	89 81 38 04 00 00    	mov    %eax,0x438(%ecx)
40719d:	89 81 2c 04 00 00    	mov    %eax,0x42c(%ecx)
4071a3:	89 41 0c             	mov    %eax,0xc(%ecx)
4071a6:	89 41 10             	mov    %eax,0x10(%ecx)
4071a9:	89 41 14             	mov    %eax,0x14(%ecx)
4071ac:	89 81 28 04 00 00    	mov    %eax,0x428(%ecx)
4071b2:	66 89 41 18          	mov    %ax,0x18(%ecx)
4071b6:	66 89 81 20 02 00 00 	mov    %ax,0x220(%ecx)
4071bd:	8b c1                	mov    %ecx,%eax
4071bf:	c3                   	ret
4071c0:	8b ff                	mov    %edi,%edi
4071c2:	53                   	push   %ebx
4071c3:	56                   	push   %esi
4071c4:	57                   	push   %edi
4071c5:	8b f1                	mov    %ecx,%esi
4071c7:	33 db                	xor    %ebx,%ebx
4071c9:	6a 06                	push   $0x6
4071cb:	59                   	pop    %ecx
4071cc:	53                   	push   %ebx
4071cd:	89 5e 08             	mov    %ebx,0x8(%esi)
4071d0:	8d 7e 0c             	lea    0xc(%esi),%edi
4071d3:	53                   	push   %ebx
4071d4:	33 c0                	xor    %eax,%eax
4071d6:	f3 ab                	rep stos %eax,%es:(%edi)
4071d8:	88 5e 24             	mov    %bl,0x24(%esi)
4071db:	6a 01                	push   $0x1
4071dd:	53                   	push   %ebx
4071de:	89 5e 28             	mov    %ebx,0x28(%esi)
4071e1:	89 5e 38             	mov    %ebx,0x38(%esi)
4071e4:	89 5e 3c             	mov    %ebx,0x3c(%esi)
4071e7:	89 5e 2c             	mov    %ebx,0x2c(%esi)
4071ea:	ff 15 54 61 41 00    	call   *0x416154
4071f0:	53                   	push   %ebx
4071f1:	53                   	push   %ebx
4071f2:	6a 01                	push   $0x1
4071f4:	53                   	push   %ebx
4071f5:	89 46 30             	mov    %eax,0x30(%esi)
4071f8:	ff 15 54 61 41 00    	call   *0x416154
4071fe:	89 46 34             	mov    %eax,0x34(%esi)
407201:	8b c6                	mov    %esi,%eax
407203:	5f                   	pop    %edi
407204:	5e                   	pop    %esi
407205:	5b                   	pop    %ebx
407206:	c3                   	ret
407207:	8b ff                	mov    %edi,%edi
407209:	56                   	push   %esi
40720a:	8b f1                	mov    %ecx,%esi
40720c:	83 7e 30 00          	cmpl   $0x0,0x30(%esi)
407210:	74 0d                	je     0x40721f
407212:	ff 76 30             	push   0x30(%esi)
407215:	ff 15 b4 60 41 00    	call   *0x4160b4
40721b:	83 66 30 00          	andl   $0x0,0x30(%esi)
40721f:	83 7e 34 00          	cmpl   $0x0,0x34(%esi)
407223:	74 0d                	je     0x407232
407225:	ff 76 34             	push   0x34(%esi)
407228:	ff 15 b4 60 41 00    	call   *0x4160b4
40722e:	83 66 34 00          	andl   $0x0,0x34(%esi)
407232:	ff 76 3c             	push   0x3c(%esi)
407235:	ff 15 b8 61 41 00    	call   *0x4161b8
40723b:	ff 76 38             	push   0x38(%esi)
40723e:	ff 15 b8 61 41 00    	call   *0x4161b8
407244:	ff 76 28             	push   0x28(%esi)
407247:	ff 15 b8 61 41 00    	call   *0x4161b8
40724d:	83 c6 0c             	add    $0xc,%esi
407250:	80 7e 18 00          	cmpb   $0x0,0x18(%esi)
407254:	74 0b                	je     0x407261
407256:	56                   	push   %esi
407257:	c6 46 18 00          	movb   $0x0,0x18(%esi)
40725b:	ff 15 c8 60 41 00    	call   *0x4160c8
407261:	5e                   	pop    %esi
407262:	c3                   	ret
407263:	cc                   	int3
407264:	cc                   	int3
407265:	cc                   	int3
407266:	cc                   	int3
407267:	cc                   	int3
407268:	cc                   	int3
407269:	cc                   	int3
40726a:	cc                   	int3
40726b:	cc                   	int3
40726c:	cc                   	int3
40726d:	cc                   	int3
40726e:	cc                   	int3
40726f:	cc                   	int3
407270:	8b ff                	mov    %edi,%edi
407272:	55                   	push   %ebp
407273:	8b ec                	mov    %esp,%ebp
407275:	6a 00                	push   $0x0
407277:	ff 75 08             	push   0x8(%ebp)
40727a:	6a 68                	push   $0x68
40727c:	5a                   	pop    %edx
40727d:	e8 85 f3 ff ff       	call   0x406607
407282:	5d                   	pop    %ebp