411e47:	33 c0                	xor    %eax,%eax
411e49:	85 c0                	test   %eax,%eax
411e4b:	74 0f                	je     0x411e5c
411e4d:	50                   	push   %eax
411e4e:	e8 bd b7 ff ff       	call   0x40d610
411e53:	83 c4 04             	add    $0x4,%esp
411e56:	83 c8 ff             	or     $0xffffffff,%eax
411e59:	5f                   	pop    %edi
411e5a:	5e                   	pop    %esi
411e5b:	c3                   	ret
411e5c:	8b c6                	mov    %esi,%eax
411e5e:	83 e6 1f             	and    $0x1f,%esi
411e61:	c1 f8 05             	sar    $0x5,%eax
411e64:	8d 0c f6             	lea    (%esi,%esi,8),%ecx
411e67:	8b 14 85 a0 89 43 00 	mov    0x4389a0(,%eax,4),%edx
411e6e:	8d 44 8a 04          	lea    0x4(%edx,%ecx,4),%eax
411e72:	8a 4c 8a 04          	mov    0x4(%edx,%ecx,4),%cl
411e76:	80 e1 fd             	and    $0xfd,%cl
411e79:	88 08                	mov    %cl,(%eax)
411e7b:	8b c7                	mov    %edi,%eax
411e7d:	5f                   	pop    %edi
411e7e:	5e                   	pop    %esi
411e7f:	c3                   	ret
411e80:	a1 a0 8a 43 00       	mov    0x438aa0,%eax
411e85:	56                   	push   %esi
411e86:	8b 74 24 08          	mov    0x8(%esp),%esi
411e8a:	57                   	push   %edi
411e8b:	3b f0                	cmp    %eax,%esi
411e8d:	73 47                	jae    0x411ed6
411e8f:	8b c6                	mov    %esi,%eax
411e91:	8b ce                	mov    %esi,%ecx
411e93:	83 e0 1f             	and    $0x1f,%eax
411e96:	c1 f9 05             	sar    $0x5,%ecx
411e99:	8d 14 c0             	lea    (%eax,%eax,8),%edx
411e9c:	8b 04 8d a0 89 43 00 	mov    0x4389a0(,%ecx,4),%eax
411ea3:	f6 44 90 04 01       	testb  $0x1,0x4(%eax,%edx,4)
411ea8:	74 2c                	je     0x411ed6
411eaa:	56                   	push   %esi
411eab:	e8 90 0e 00 00       	call   0x412d40
411eb0:	8b 4c 24 18          	mov    0x18(%esp),%ecx
411eb4:	8b 54 24 14          	mov    0x14(%esp),%edx
411eb8:	83 c4 04             	add    $0x4,%esp
411ebb:	51                   	push   %ecx
411ebc:	52                   	push   %edx
411ebd:	56                   	push   %esi
411ebe:	e8 3d 00 00 00       	call   0x411f00
411ec3:	83 c4 0c             	add    $0xc,%esp
411ec6:	8b f8                	mov    %eax,%edi
411ec8:	56                   	push   %esi
411ec9:	e8 e2 0e 00 00       	call   0x412db0
411ece:	83 c4 04             	add    $0x4,%esp
411ed1:	8b c7                	mov    %edi,%eax
411ed3:	5f                   	pop    %edi
411ed4:	5e                   	pop    %esi
411ed5:	c3                   	ret
411ed6:	e8 b5 b7 ff ff       	call   0x40d690
411edb:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
411ee1:	e8 ba b7 ff ff       	call   0x40d6a0
411ee6:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
411eec:	5f                   	pop    %edi
411eed:	83 c8 ff             	or     $0xffffffff,%eax
411ef0:	5e                   	pop    %esi
411ef1:	c3                   	ret
411ef2:	90                   	nop
411ef3:	90                   	nop
411ef4:	90                   	nop
411ef5:	90                   	nop
411ef6:	90                   	nop
411ef7:	90                   	nop
411ef8:	90                   	nop
411ef9:	90                   	nop
411efa:	90                   	nop
411efb:	90                   	nop
411efc:	90                   	nop
411efd:	90                   	nop
411efe:	90                   	nop
411eff:	90                   	nop
411f00:	81 ec 1c 04 00 00    	sub    $0x41c,%esp
411f06:	53                   	push   %ebx
411f07:	8b 9c 24 2c 04 00 00 	mov    0x42c(%esp),%ebx
411f0e:	55                   	push   %ebp
411f0f:	33 ed                	xor    %ebp,%ebp
411f11:	56                   	push   %esi
411f12:	3b dd                	cmp    %ebp,%ebx
411f14:	57                   	push   %edi
411f15:	89 6c 24 10          	mov    %ebp,0x10(%esp)
411f19:	89 6c 24 20          	mov    %ebp,0x20(%esp)
411f1d:	75 0d                	jne    0x411f2c
411f1f:	33 c0                	xor    %eax,%eax
411f21:	5f                   	pop    %edi
411f22:	5e                   	pop    %esi
411f23:	5d                   	pop    %ebp
411f24:	5b                   	pop    %ebx
411f25:	81 c4 1c 04 00 00    	add    $0x41c,%esp
411f2b:	c3                   	ret
411f2c:	8b 8c 24 30 04 00 00 	mov    0x430(%esp),%ecx
411f33:	8b c1                	mov    %ecx,%eax
411f35:	c1 f8 05             	sar    $0x5,%eax
411f38:	8d 3c 85 a0 89 43 00 	lea    0x4389a0(,%eax,4),%edi
411f3f:	8b c1                	mov    %ecx,%eax
411f41:	83 e0 1f             	and    $0x1f,%eax
411f44:	89 7c 24 24          	mov    %edi,0x24(%esp)
411f48:	8b 17                	mov    (%edi),%edx
411f4a:	8d 34 c0             	lea    (%eax,%eax,8),%esi
411f4d:	c1 e6 02             	shl    $0x2,%esi
411f50:	89 74 24 14          	mov    %esi,0x14(%esp)
411f54:	f6 44 16 04 20       	testb  $0x20,0x4(%esi,%edx,1)
411f59:	74 0c                	je     0x411f67
411f5b:	6a 02                	push   $0x2
411f5d:	55                   	push   %ebp
411f5e:	51                   	push   %ecx
411f5f:	e8 9c fe ff ff       	call   0x411e00
411f64:	83 c4 0c             	add    $0xc,%esp
411f67:	8b 07                	mov    (%edi),%eax
411f69:	03 c6                	add    %esi,%eax
411f6b:	f6 40 04 80          	testb  $0x80,0x4(%eax)
411f6f:	0f 84 54 01 00 00    	je     0x4120c9
411f75:	8b ac 24 34 04 00 00 	mov    0x434(%esp),%ebp
411f7c:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
411f83:	00
411f84:	85 db                	test   %ebx,%ebx
411f86:	8b fd                	mov    %ebp,%edi
411f88:	0f 86 83 00 00 00    	jbe    0x412011
411f8e:	8d 44 24 28          	lea    0x28(%esp),%eax
411f92:	8b cf                	mov    %edi,%ecx
411f94:	2b cd                	sub    %ebp,%ecx
411f96:	3b cb                	cmp    %ebx,%ecx
411f98:	73 28                	jae    0x411fc2
411f9a:	8a 0f                	mov    (%edi),%cl
411f9c:	47                   	inc    %edi
411f9d:	80 f9 0a             	cmp    $0xa,%cl
411fa0:	75 0d                	jne    0x411faf
411fa2:	8b 74 24 20          	mov    0x20(%esp),%esi
411fa6:	c6 00 0d             	movb   $0xd,(%eax)
411fa9:	46                   	inc    %esi
411faa:	40                   	inc    %eax
411fab:	89 74 24 20          	mov    %esi,0x20(%esp)
411faf:	88 08                	mov    %cl,(%eax)
411fb1:	40                   	inc    %eax
411fb2:	8b d0                	mov    %eax,%edx
411fb4:	8d 4c 24 28          	lea    0x28(%esp),%ecx
411fb8:	2b d1                	sub    %ecx,%edx
411fba:	81 fa 00 04 00 00    	cmp    $0x400,%edx
411fc0:	7c d0                	jl     0x411f92
411fc2:	8b f0                	mov    %eax,%esi
411fc4:	8d 54 24 28          	lea    0x28(%esp),%edx
411fc8:	8d 44 24 1c          	lea    0x1c(%esp),%eax
411fcc:	2b f2                	sub    %edx,%esi
411fce:	8b 54 24 24          	mov    0x24(%esp),%edx
411fd2:	6a 00                	push   $0x0
411fd4:	50                   	push   %eax
411fd5:	8d 4c 24 30          	lea    0x30(%esp),%ecx
411fd9:	8b 02                	mov    (%edx),%eax
411fdb:	56                   	push   %esi
411fdc:	51                   	push   %ecx
411fdd:	8b 4c 24 24          	mov    0x24(%esp),%ecx
411fe1:	8b 14 01             	mov    (%ecx,%eax,1),%edx
411fe4:	52                   	push   %edx
411fe5:	ff 15 98 96 43 00    	call   *0x439698
411feb:	85 c0                	test   %eax,%eax
411fed:	0f 84 c7 00 00 00    	je     0x4120ba
411ff3:	8b 44 24 1c          	mov    0x1c(%esp),%eax
411ff7:	8b 54 24 10          	mov    0x10(%esp),%edx
411ffb:	03 d0                	add    %eax,%edx
411ffd:	3b c6                	cmp    %esi,%eax
411fff:	89 54 24 10          	mov    %edx,0x10(%esp)
412003:	7c 08                	jl     0x41200d
412005:	8b c7                	mov    %edi,%eax
412007:	2b c5                	sub    %ebp,%eax
412009:	3b c3                	cmp    %ebx,%eax
41200b:	72 81                	jb     0x411f8e
41200d:	8b 74 24 14          	mov    0x14(%esp),%esi
412011:	8b 44 24 10          	mov    0x10(%esp),%eax
412015:	85 c0                	test   %eax,%eax
412017:	0f 85 8c 00 00 00    	jne    0x4120a9
41201d:	8b 44 24 18          	mov    0x18(%esp),%eax
412021:	85 c0                	test   %eax,%eax
412023:	74 40                	je     0x412065
412025:	83 f8 05             	cmp    $0x5,%eax
412028:	75 24                	jne    0x41204e
41202a:	e8 61 b6 ff ff       	call   0x40d690
41202f:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
412035:	e8 66 b6 ff ff       	call   0x40d6a0
41203a:	c7 00 05 00 00 00    	movl   $0x5,(%eax)
412040:	83 c8 ff             	or     $0xffffffff,%eax
412043:	5f                   	pop    %edi
412044:	5e                   	pop    %esi
412045:	5d                   	pop    %ebp
412046:	5b                   	pop    %ebx
412047:	81 c4 1c 04 00 00    	add    $0x41c,%esp
41204d:	c3                   	ret
41204e:	50                   	push   %eax
41204f:	e8 bc b5 ff ff       	call   0x40d610
412054:	83 c4 04             	add    $0x4,%esp
412057:	83 c8 ff             	or     $0xffffffff,%eax
41205a:	5f                   	pop    %edi
41205b:	5e                   	pop    %esi
41205c:	5d                   	pop    %ebp
41205d:	5b                   	pop    %ebx
41205e:	81 c4 1c 04 00 00    	add    $0x41c,%esp
412064:	c3                   	ret
412065:	8b 4c 24 24          	mov    0x24(%esp),%ecx
412069:	8b 11                	mov    (%ecx),%edx
41206b:	f6 44 16 04 40       	testb  $0x40,0x4(%esi,%edx,1)
412070:	74 13                	je     0x412085
412072:	80 7d 00 1a          	cmpb   $0x1a,0x0(%ebp)
412076:	75 0d                	jne    0x412085
412078:	33 c0                	xor    %eax,%eax
41207a:	5f                   	pop    %edi
41207b:	5e                   	pop    %esi
41207c:	5d                   	pop    %ebp
41207d:	5b                   	pop    %ebx
41207e:	81 c4 1c 04 00 00    	add    $0x41c,%esp
412084:	c3                   	ret
412085:	e8 06 b6 ff ff       	call   0x40d690
41208a:	c7 00 1c 00 00 00    	movl   $0x1c,(%eax)
412090:	e8 0b b6 ff ff       	call   0x40d6a0
412095:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
41209b:	83 c8 ff             	or     $0xffffffff,%eax
41209e:	5f                   	pop    %edi
41209f:	5e                   	pop    %esi
4120a0:	5d                   	pop    %ebp
4120a1:	5b                   	pop    %ebx
4120a2:	81 c4 1c 04 00 00    	add    $0x41c,%esp
4120a8:	c3                   	ret
4120a9:	8b 4c 24 20          	mov    0x20(%esp),%ecx
4120ad:	5f                   	pop    %edi
4120ae:	5e                   	pop    %esi
4120af:	5d                   	pop    %ebp
4120b0:	2b c1                	sub    %ecx,%eax
4120b2:	5b                   	pop    %ebx
4120b3:	81 c4 1c 04 00 00    	add    $0x41c,%esp
4120b9:	c3                   	ret
4120ba:	ff 15 ec 96 43 00    	call   *0x4396ec
4120c0:	89 44 24 18          	mov    %eax,0x18(%esp)
4120c4:	e9 44 ff ff ff       	jmp    0x41200d
4120c9:	8b 10                	mov    (%eax),%edx
4120cb:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
4120cf:	55                   	push   %ebp
4120d0:	8b ac 24 38 04 00 00 	mov    0x438(%esp),%ebp
4120d7:	51                   	push   %ecx
4120d8:	53                   	push   %ebx
4120d9:	55                   	push   %ebp
4120da:	52                   	push   %edx
4120db:	ff 15 98 96 43 00    	call   *0x439698
4120e1:	85 c0                	test   %eax,%eax
4120e3:	74 15                	je     0x4120fa
4120e5:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4120e9:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
4120f0:	00
4120f1:	89 44 24 10          	mov    %eax,0x10(%esp)
4120f5:	e9 17 ff ff ff       	jmp    0x412011
4120fa:	ff 15 ec 96 43 00    	call   *0x4396ec
412100:	89 44 24 18          	mov    %eax,0x18(%esp)
412104:	e9 08 ff ff ff       	jmp    0x412011
412109:	90                   	nop
41210a:	90                   	nop
41210b:	90                   	nop
41210c:	90                   	nop
41210d:	90                   	nop
41210e:	90                   	nop
41210f:	90                   	nop
412110:	a1 64 74 43 00       	mov    0x437464,%eax
412115:	68 00 10 00 00       	push   $0x1000
41211a:	40                   	inc    %eax
41211b:	a3 64 74 43 00       	mov    %eax,0x437464
412120:	e8 9b a3 ff ff       	call   0x40c4c0
412125:	8b 4c 24 08          	mov    0x8(%esp),%ecx
412129:	83 c4 04             	add    $0x4,%esp
41212c:	85 c0                	test   %eax,%eax
41212e:	89 41 08             	mov    %eax,0x8(%ecx)
412131:	8b 41 0c             	mov    0xc(%ecx),%eax
412134:	74 19                	je     0x41214f
412136:	8b 51 08             	mov    0x8(%ecx),%edx
412139:	0c 08                	or     $0x8,%al
41213b:	89 41 0c             	mov    %eax,0xc(%ecx)
41213e:	c7 41 18 00 10 00 00 	movl   $0x1000,0x18(%ecx)
412145:	89 11                	mov    %edx,(%ecx)
412147:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
41214e:	c3                   	ret
41214f:	0c 04                	or     $0x4,%al
412151:	c7 41 18 02 00 00 00 	movl   $0x2,0x18(%ecx)
412158:	89 41 0c             	mov    %eax,0xc(%ecx)
41215b:	8d 41 14             	lea    0x14(%ecx),%eax
41215e:	8b d0                	mov    %eax,%edx
412160:	89 41 08             	mov    %eax,0x8(%ecx)
412163:	89 11                	mov    %edx,(%ecx)
412165:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
41216c:	c3                   	ret
41216d:	90                   	nop
41216e:	90                   	nop
41216f:	90                   	nop
412170:	8b 44 24 04          	mov    0x4(%esp),%eax
412174:	8b 0d a0 8a 43 00    	mov    0x438aa0,%ecx
41217a:	3b c1                	cmp    %ecx,%eax
41217c:	72 03                	jb     0x412181
41217e:	33 c0                	xor    %eax,%eax
412180:	c3                   	ret
412181:	8b c8                	mov    %eax,%ecx
412183:	83 e0 1f             	and    $0x1f,%eax
412186:	c1 f9 05             	sar    $0x5,%ecx
412189:	8d 14 c0             	lea    (%eax,%eax,8),%edx
41218c:	8b 04 8d a0 89 43 00 	mov    0x4389a0(,%ecx,4),%eax
412193:	8a 44 90 04          	mov    0x4(%eax,%edx,4),%al
412197:	83 e0 40             	and    $0x40,%eax
41219a:	c3                   	ret
41219b:	90                   	nop
41219c:	90                   	nop
41219d:	90                   	nop
41219e:	90                   	nop
41219f:	90                   	nop
4121a0:	53                   	push   %ebx
4121a1:	56                   	push   %esi
4121a2:	57                   	push   %edi
4121a3:	68 88 89 43 00       	push   $0x438988
4121a8:	ff 15 fc 96 43 00    	call   *0x4396fc
4121ae:	a1 84 89 43 00       	mov    0x438984,%eax
4121b3:	8b 3d 18 97 43 00    	mov    0x439718,%edi
4121b9:	85 c0                	test   %eax,%eax
4121bb:	74 18                	je     0x4121d5
4121bd:	68 88 89 43 00       	push   $0x438988
4121c2:	ff d7                	call   *%edi
4121c4:	6a 13                	push   $0x13
4121c6:	e8 75 d2 ff ff       	call   0x40f440
4121cb:	83 c4 04             	add    $0x4,%esp
4121ce:	be 01 00 00 00       	mov    $0x1,%esi
4121d3:	eb 02                	jmp    0x4121d7
4121d5:	33 f6                	xor    %esi,%esi
4121d7:	8b 44 24 14          	mov    0x14(%esp),%eax
4121db:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4121df:	50                   	push   %eax
4121e0:	51                   	push   %ecx
4121e1:	e8 2a 00 00 00       	call   0x412210
4121e6:	83 c4 08             	add    $0x8,%esp
4121e9:	8b d8                	mov    %eax,%ebx
4121eb:	85 f6                	test   %esi,%esi
4121ed:	74 10                	je     0x4121ff
4121ef:	6a 13                	push   $0x13
4121f1:	e8 ca d2 ff ff       	call   0x40f4c0
4121f6:	83 c4 04             	add    $0x4,%esp
4121f9:	8b c3                	mov    %ebx,%eax
4121fb:	5f                   	pop    %edi
4121fc:	5e                   	pop    %esi
4121fd:	5b                   	pop    %ebx
4121fe:	c3                   	ret
4121ff:	68 88 89 43 00       	push   $0x438988
412204:	ff d7                	call   *%edi
412206:	5f                   	pop    %edi
412207:	8b c3                	mov    %ebx,%eax
412209:	5e                   	pop    %esi