406f8c:	75 d4                	jne    0x406f62
406f8e:	8b c3                	mov    %ebx,%eax
406f90:	c1 f8 08             	sar    $0x8,%eax
406f93:	89 45 f0             	mov    %eax,-0x10(%ebp)
406f96:	e8 7a 77 00 00       	call   0x40e715
406f9b:	8b 55 f0             	mov    -0x10(%ebp),%edx
406f9e:	0f b6 ca             	movzbl %dl,%ecx
406fa1:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
406fa5:	25 00 80 00 00       	and    $0x8000,%eax
406faa:	eb cb                	jmp    0x406f77
406fac:	33 c0                	xor    %eax,%eax
406fae:	88 5d fc             	mov    %bl,-0x4(%ebp)
406fb1:	c6 45 fd 00          	movb   $0x0,-0x3(%ebp)
406fb5:	40                   	inc    %eax
406fb6:	6a 01                	push   $0x1
406fb8:	ff 75 f4             	push   -0xc(%ebp)
406fbb:	8d 4d f8             	lea    -0x8(%ebp),%ecx
406fbe:	6a 03                	push   $0x3
406fc0:	51                   	push   %ecx
406fc1:	50                   	push   %eax
406fc2:	8d 45 fc             	lea    -0x4(%ebp),%eax
406fc5:	50                   	push   %eax
406fc6:	68 00 02 00 00       	push   $0x200
406fcb:	57                   	push   %edi
406fcc:	e8 51 02 00 00       	call   0x407222
406fd1:	83 c4 20             	add    $0x20,%esp
406fd4:	85 c0                	test   %eax,%eax
406fd6:	75 04                	jne    0x406fdc
406fd8:	8b c3                	mov    %ebx,%eax
406fda:	eb 12                	jmp    0x406fee
406fdc:	83 f8 01             	cmp    $0x1,%eax
406fdf:	0f b6 45 f8          	movzbl -0x8(%ebp),%eax
406fe3:	74 09                	je     0x406fee
406fe5:	0f b6 4d f9          	movzbl -0x7(%ebp),%ecx
406fe9:	c1 e0 08             	shl    $0x8,%eax
406fec:	0b c1                	or     %ecx,%eax
406fee:	5b                   	pop    %ebx
406fef:	5f                   	pop    %edi
406ff0:	5e                   	pop    %esi
406ff1:	c9                   	leave
406ff2:	c3                   	ret
406ff3:	55                   	push   %ebp
406ff4:	8b ec                	mov    %esp,%ebp
406ff6:	ff 75 08             	push   0x8(%ebp)
406ff9:	ff 15 44 40 42 00    	call   *0x424044
406fff:	5d                   	pop    %ebp
407000:	c3                   	ret
407001:	55                   	push   %ebp
407002:	8b ec                	mov    %esp,%ebp
407004:	6a 00                	push   $0x0
407006:	68 a0 0f 00 00       	push   $0xfa0
40700b:	ff 75 08             	push   0x8(%ebp)
40700e:	ff 15 40 40 42 00    	call   *0x424040
407014:	5d                   	pop    %ebp
407015:	c3                   	ret
407016:	55                   	push   %ebp
407017:	8b ec                	mov    %esp,%ebp
407019:	ff 75 08             	push   0x8(%ebp)
40701c:	ff 15 38 40 42 00    	call   *0x424038
407022:	5d                   	pop    %ebp
407023:	c3                   	ret
407024:	55                   	push   %ebp
407025:	8b ec                	mov    %esp,%ebp
407027:	ff 75 08             	push   0x8(%ebp)
40702a:	ff 15 3c 40 42 00    	call   *0x42403c
407030:	5d                   	pop    %ebp
407031:	c3                   	ret
407032:	55                   	push   %ebp
407033:	8b ec                	mov    %esp,%ebp
407035:	51                   	push   %ecx
407036:	56                   	push   %esi
407037:	57                   	push   %edi
407038:	6a 02                	push   $0x2
40703a:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40703d:	e8 ff e3 ff ff       	call   0x405441
407042:	8b 55 08             	mov    0x8(%ebp),%edx
407045:	33 c0                	xor    %eax,%eax
407047:	40                   	inc    %eax
407048:	8b f0                	mov    %eax,%esi
40704a:	89 42 08             	mov    %eax,0x8(%edx)
40704d:	8b 3c 85 08 41 43 00 	mov    0x434108(,%eax,4),%edi
407054:	8b ce                	mov    %esi,%ecx
407056:	85 ff                	test   %edi,%edi
407058:	74 11                	je     0x40706b
40705a:	3b fa                	cmp    %edx,%edi
40705c:	74 0d                	je     0x40706b
40705e:	40                   	inc    %eax
40705f:	89 42 08             	mov    %eax,0x8(%edx)
407062:	8b f0                	mov    %eax,%esi
407064:	8b ce                	mov    %esi,%ecx
407066:	83 f8 08             	cmp    $0x8,%eax
407069:	72 e2                	jb     0x40704d
40706b:	fe 81 30 41 43 00    	incb   0x434130(%ecx)
407071:	89 14 8d 08 41 43 00 	mov    %edx,0x434108(,%ecx,4)
407078:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40707b:	e8 19 e4 ff ff       	call   0x405499
407080:	5f                   	pop    %edi
407081:	5e                   	pop    %esi
407082:	c9                   	leave
407083:	c3                   	ret
407084:	55                   	push   %ebp
407085:	8b ec                	mov    %esp,%ebp
407087:	53                   	push   %ebx
407088:	8b d9                	mov    %ecx,%ebx
40708a:	57                   	push   %edi
40708b:	8b 7b 2c             	mov    0x2c(%ebx),%edi
40708e:	85 ff                	test   %edi,%edi
407090:	74 1f                	je     0x4070b1
407092:	56                   	push   %esi
407093:	ff 77 04             	push   0x4(%edi)
407096:	8b 77 08             	mov    0x8(%edi),%esi
407099:	8b ce                	mov    %esi,%ecx
40709b:	53                   	push   %ebx
40709c:	ff 75 08             	push   0x8(%ebp)
40709f:	ff 15 54 41 42 00    	call   *0x424154
4070a5:	ff d6                	call   *%esi
4070a7:	8b 3f                	mov    (%edi),%edi
4070a9:	83 c4 0c             	add    $0xc,%esp
4070ac:	85 ff                	test   %edi,%edi
4070ae:	75 e3                	jne    0x407093
4070b0:	5e                   	pop    %esi
4070b1:	5f                   	pop    %edi
4070b2:	5b                   	pop    %ebx
4070b3:	5d                   	pop    %ebp
4070b4:	c2 04 00             	ret    $0x4
4070b7:	55                   	push   %ebp
4070b8:	8b ec                	mov    %esp,%ebp
4070ba:	56                   	push   %esi
4070bb:	8b 75 08             	mov    0x8(%ebp),%esi
4070be:	8b 46 08             	mov    0x8(%esi),%eax
4070c1:	85 c0                	test   %eax,%eax
4070c3:	74 10                	je     0x4070d5
4070c5:	fe 88 30 41 43 00    	decb   0x434130(%eax)
4070cb:	8a 80 30 41 43 00    	mov    0x434130(%eax),%al
4070d1:	84 c0                	test   %al,%al
4070d3:	7f 1f                	jg     0x4070f4
4070d5:	8b ce                	mov    %esi,%ecx
4070d7:	e8 1b 00 00 00       	call   0x4070f7
4070dc:	8b 76 30             	mov    0x30(%esi),%esi
4070df:	85 f6                	test   %esi,%esi
4070e1:	74 11                	je     0x4070f4
4070e3:	8b ce                	mov    %esi,%ecx
4070e5:	e8 e6 aa ff ff       	call   0x401bd0
4070ea:	6a 08                	push   $0x8
4070ec:	56                   	push   %esi
4070ed:	e8 5a 05 00 00       	call   0x40764c
4070f2:	59                   	pop    %ecx
4070f3:	59                   	pop    %ecx
4070f4:	5e                   	pop    %esi
4070f5:	5d                   	pop    %ebp
4070f6:	c3                   	ret
4070f7:	55                   	push   %ebp
4070f8:	8b ec                	mov    %esp,%ebp
4070fa:	6a ff                	push   $0xffffffff
4070fc:	68 7b 2f 42 00       	push   $0x422f7b
407101:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
407107:	50                   	push   %eax
407108:	56                   	push   %esi
407109:	57                   	push   %edi
40710a:	a1 14 30 43 00       	mov    0x433014,%eax
40710f:	33 c5                	xor    %ebp,%eax
407111:	50                   	push   %eax
407112:	8d 45 f4             	lea    -0xc(%ebp),%eax
407115:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40711b:	8b f9                	mov    %ecx,%edi
40711d:	6a 00                	push   $0x0
40711f:	e8 60 ff ff ff       	call   0x407084
407124:	8b 47 28             	mov    0x28(%edi),%eax
407127:	85 c0                	test   %eax,%eax
407129:	74 12                	je     0x40713d
40712b:	8b 30                	mov    (%eax),%esi
40712d:	6a 10                	push   $0x10
40712f:	50                   	push   %eax
407130:	e8 17 05 00 00       	call   0x40764c
407135:	8b c6                	mov    %esi,%eax
407137:	59                   	pop    %ecx
407138:	59                   	pop    %ecx
407139:	85 f6                	test   %esi,%esi
40713b:	75 ee                	jne    0x40712b
40713d:	83 67 28 00          	andl   $0x0,0x28(%edi)
407141:	8b 47 2c             	mov    0x2c(%edi),%eax
407144:	85 c0                	test   %eax,%eax
407146:	74 12                	je     0x40715a
407148:	8b 30                	mov    (%eax),%esi
40714a:	6a 0c                	push   $0xc
40714c:	50                   	push   %eax
40714d:	e8 fa 04 00 00       	call   0x40764c
407152:	8b c6                	mov    %esi,%eax
407154:	59                   	pop    %ecx
407155:	59                   	pop    %ecx
407156:	85 f6                	test   %esi,%esi
407158:	75 ee                	jne    0x407148
40715a:	83 67 2c 00          	andl   $0x0,0x2c(%edi)
40715e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
407161:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
407168:	59                   	pop    %ecx
407169:	5f                   	pop    %edi
40716a:	5e                   	pop    %esi
40716b:	c9                   	leave
40716c:	c3                   	ret
40716d:	cc                   	int3
40716e:	cc                   	int3
40716f:	cc                   	int3
407170:	cc                   	int3
407171:	cc                   	int3
407172:	55                   	push   %ebp
407173:	8b ec                	mov    %esp,%ebp
407175:	6a ff                	push   $0xffffffff
407177:	68 60 2a 42 00       	push   $0x422a60
40717c:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
407182:	50                   	push   %eax
407183:	56                   	push   %esi
407184:	a1 14 30 43 00       	mov    0x433014,%eax
407189:	33 c5                	xor    %ebp,%eax
40718b:	50                   	push   %eax
40718c:	8d 45 f4             	lea    -0xc(%ebp),%eax
40718f:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
407195:	eb 25                	jmp    0x4071bc
407197:	8b 04 8d 60 41 43 00 	mov    0x434160(,%ecx,4),%eax
40719e:	41                   	inc    %ecx
40719f:	50                   	push   %eax
4071a0:	89 0d 08 30 43 00    	mov    %ecx,0x433008
4071a6:	ff 15 4c 40 42 00    	call   *0x42404c
4071ac:	8b f0                	mov    %eax,%esi
4071ae:	85 f6                	test   %esi,%esi
4071b0:	74 0a                	je     0x4071bc
4071b2:	8b ce                	mov    %esi,%ecx
4071b4:	ff 15 54 41 42 00    	call   *0x424154
4071ba:	ff d6                	call   *%esi
4071bc:	8b 0d 08 30 43 00    	mov    0x433008,%ecx
4071c2:	83 f9 0a             	cmp    $0xa,%ecx
4071c5:	72 d0                	jb     0x407197
4071c7:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4071ca:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4071d1:	59                   	pop    %ecx
4071d2:	5e                   	pop    %esi
4071d3:	c9                   	leave
4071d4:	c3                   	ret
4071d5:	cc                   	int3
4071d6:	cc                   	int3
4071d7:	cc                   	int3
4071d8:	cc                   	int3
4071d9:	cc                   	int3
4071da:	55                   	push   %ebp
4071db:	8b ec                	mov    %esp,%ebp
4071dd:	83 3d 08 30 43 00 00 	cmpl   $0x0,0x433008
4071e4:	0f 84 24 7c 00 00    	je     0x40ee0e
4071ea:	ff 75 08             	push   0x8(%ebp)
4071ed:	ff 15 48 40 42 00    	call   *0x424048
4071f3:	8b 0d 08 30 43 00    	mov    0x433008,%ecx
4071f9:	49                   	dec    %ecx
4071fa:	89 0d 08 30 43 00    	mov    %ecx,0x433008
407200:	89 04 8d 60 41 43 00 	mov    %eax,0x434160(,%ecx,4)
407207:	5d                   	pop    %ebp
407208:	c3                   	ret
407209:	8b 01                	mov    (%ecx),%eax
40720b:	85 c0                	test   %eax,%eax
40720d:	74 12                	je     0x407221
40720f:	83 e8 08             	sub    $0x8,%eax
407212:	81 38 dd dd 00 00    	cmpl   $0xdddd,(%eax)
407218:	75 07                	jne    0x407221
40721a:	50                   	push   %eax
40721b:	e8 f3 59 00 00       	call   0x40cc13
407220:	59                   	pop    %ecx
407221:	c3                   	ret
407222:	55                   	push   %ebp
407223:	8b ec                	mov    %esp,%ebp
407225:	83 ec 10             	sub    $0x10,%esp
407228:	a1 14 30 43 00       	mov    0x433014,%eax
40722d:	33 c5                	xor    %ebp,%eax
40722f:	89 45 fc             	mov    %eax,-0x4(%ebp)
407232:	53                   	push   %ebx
407233:	56                   	push   %esi
407234:	8b 75 14             	mov    0x14(%ebp),%esi
407237:	57                   	push   %edi
407238:	85 f6                	test   %esi,%esi
40723a:	7e 14                	jle    0x407250
40723c:	56                   	push   %esi
40723d:	ff 75 10             	push   0x10(%ebp)
407240:	e8 c4 83 00 00       	call   0x40f609
407245:	59                   	pop    %ecx
407246:	3b c6                	cmp    %esi,%eax
407248:	59                   	pop    %ecx
407249:	8d 70 01             	lea    0x1(%eax),%esi
40724c:	7c 02                	jl     0x407250
40724e:	8b f0                	mov    %eax,%esi
407250:	33 c0                	xor    %eax,%eax
407252:	39 45 24             	cmp    %eax,0x24(%ebp)
407255:	6a 00                	push   $0x0
407257:	6a 00                	push   $0x0
407259:	56                   	push   %esi
40725a:	ff 75 10             	push   0x10(%ebp)
40725d:	0f 95 c0             	setne  %al
407260:	8d 04 c5 01 00 00 00 	lea    0x1(,%eax,8),%eax
407267:	50                   	push   %eax
407268:	ff 75 20             	push   0x20(%ebp)
40726b:	ff 15 50 40 42 00    	call   *0x424050
407271:	8b f8                	mov    %eax,%edi
407273:	89 7d f0             	mov    %edi,-0x10(%ebp)
407276:	85 ff                	test   %edi,%edi
407278:	0f 84 5e 01 00 00    	je     0x4073dc
40727e:	8d 04 3f             	lea    (%edi,%edi,1),%eax
407281:	8d 48 08             	lea    0x8(%eax),%ecx
407284:	3b c1                	cmp    %ecx,%eax
407286:	1b c0                	sbb    %eax,%eax
407288:	23 c1                	and    %ecx,%eax
40728a:	0f 84 3c 01 00 00    	je     0x4073cc
407290:	3d 00 04 00 00       	cmp    $0x400,%eax
407295:	77 13                	ja     0x4072aa
407297:	e8 44 09 00 00       	call   0x407be0
40729c:	8b dc                	mov    %esp,%ebx
40729e:	85 db                	test   %ebx,%ebx
4072a0:	74 1e                	je     0x4072c0
4072a2:	c7 03 cc cc 00 00    	movl   $0xcccc,(%ebx)
4072a8:	eb 13                	jmp    0x4072bd
4072aa:	50                   	push   %eax
4072ab:	e8 cd 71 00 00       	call   0x40e47d
4072b0:	8b d8                	mov    %eax,%ebx
4072b2:	59                   	pop    %ecx
4072b3:	85 db                	test   %ebx,%ebx
4072b5:	74 09                	je     0x4072c0
4072b7:	c7 03 dd dd 00 00    	movl   $0xdddd,(%ebx)
4072bd:	83 c3 08             	add    $0x8,%ebx
4072c0:	89 5d f4             	mov    %ebx,-0xc(%ebp)
4072c3:	85 db                	test   %ebx,%ebx
4072c5:	0f 84 05 01 00 00    	je     0x4073d0
4072cb:	57                   	push   %edi
4072cc:	53                   	push   %ebx
4072cd:	56                   	push   %esi
4072ce:	ff 75 10             	push   0x10(%ebp)
4072d1:	6a 01                	push   $0x1
4072d3:	ff 75 20             	push   0x20(%ebp)
4072d6:	ff 15 50 40 42 00    	call   *0x424050
4072dc:	85 c0                	test   %eax,%eax
4072de:	0f 84 ec 00 00 00    	je     0x4073d0
4072e4:	33 c0                	xor    %eax,%eax
4072e6:	50                   	push   %eax
4072e7:	50                   	push   %eax
4072e8:	50                   	push   %eax
4072e9:	50                   	push   %eax
4072ea:	50                   	push   %eax
4072eb:	57                   	push   %edi
4072ec:	53                   	push   %ebx
4072ed:	ff 75 0c             	push   0xc(%ebp)
4072f0:	ff 75 08             	push   0x8(%ebp)
4072f3:	ff 15 54 40 42 00    	call   *0x424054
4072f9:	8b f0                	mov    %eax,%esi
4072fb:	85 f6                	test   %esi,%esi
4072fd:	0f 84 cd 00 00 00    	je     0x4073d0
407303:	ba 00 04 00 00       	mov    $0x400,%edx