412c10:	8b 4c 24 24          	mov    0x24(%esp),%ecx
412c14:	8b 54 24 2c          	mov    0x2c(%esp),%edx
412c18:	50                   	push   %eax
412c19:	51                   	push   %ecx
412c1a:	6a ff                	push   $0xffffffff
412c1c:	56                   	push   %esi
412c1d:	68 20 02 00 00       	push   $0x220
412c22:	52                   	push   %edx
412c23:	ff 15 f8 96 43 00    	call   *0x4396f8
412c29:	8b f8                	mov    %eax,%edi
412c2b:	85 ff                	test   %edi,%edi
412c2d:	75 10                	jne    0x412c3f
412c2f:	56                   	push   %esi
412c30:	e8 5b 99 ff ff       	call   0x40c590
412c35:	83 c4 04             	add    $0x4,%esp
412c38:	33 c0                	xor    %eax,%eax
412c3a:	5f                   	pop    %edi
412c3b:	5e                   	pop    %esi
412c3c:	5d                   	pop    %ebp
412c3d:	5b                   	pop    %ebx
412c3e:	c3                   	ret
412c3f:	56                   	push   %esi
412c40:	e8 4b 99 ff ff       	call   0x40c590
412c45:	83 c4 04             	add    $0x4,%esp
412c48:	8b c7                	mov    %edi,%eax
412c4a:	5f                   	pop    %edi
412c4b:	5e                   	pop    %esi
412c4c:	5d                   	pop    %ebp
412c4d:	5b                   	pop    %ebx
412c4e:	c3                   	ret
412c4f:	90                   	nop
412c50:	8b 4c 24 04          	mov    0x4(%esp),%ecx
412c54:	a1 a0 8a 43 00       	mov    0x438aa0,%eax
412c59:	53                   	push   %ebx
412c5a:	56                   	push   %esi
412c5b:	3b c8                	cmp    %eax,%ecx
412c5d:	57                   	push   %edi
412c5e:	73 66                	jae    0x412cc6
412c60:	8b c1                	mov    %ecx,%eax
412c62:	c1 f8 05             	sar    $0x5,%eax
412c65:	8d 3c 85 a0 89 43 00 	lea    0x4389a0(,%eax,4),%edi
412c6c:	8b c1                	mov    %ecx,%eax
412c6e:	83 e0 1f             	and    $0x1f,%eax
412c71:	8b 17                	mov    (%edi),%edx
412c73:	8d 34 c0             	lea    (%eax,%eax,8),%esi
412c76:	c1 e6 02             	shl    $0x2,%esi
412c79:	8a 5c 32 04          	mov    0x4(%edx,%esi,1),%bl
412c7d:	8d 04 32             	lea    (%edx,%esi,1),%eax
412c80:	ba 01 00 00 00       	mov    $0x1,%edx
412c85:	84 da                	test   %bl,%dl
412c87:	74 3d                	je     0x412cc6
412c89:	83 38 ff             	cmpl   $0xffffffff,(%eax)
412c8c:	74 38                	je     0x412cc6
412c8e:	39 15 f4 17 43 00    	cmp    %edx,0x4317f4
412c94:	75 21                	jne    0x412cb7
412c96:	83 e9 00             	sub    $0x0,%ecx
412c99:	74 12                	je     0x412cad
412c9b:	49                   	dec    %ecx
412c9c:	74 09                	je     0x412ca7
412c9e:	49                   	dec    %ecx
412c9f:	75 16                	jne    0x412cb7
412ca1:	6a 00                	push   $0x0
412ca3:	6a f4                	push   $0xfffffff4
412ca5:	eb 0a                	jmp    0x412cb1
412ca7:	6a 00                	push   $0x0
412ca9:	6a f5                	push   $0xfffffff5
412cab:	eb 04                	jmp    0x412cb1
412cad:	6a 00                	push   $0x0
412caf:	6a f6                	push   $0xfffffff6
412cb1:	ff 15 4c 96 43 00    	call   *0x43964c
412cb7:	8b 07                	mov    (%edi),%eax
412cb9:	c7 04 30 ff ff ff ff 	movl   $0xffffffff,(%eax,%esi,1)
412cc0:	33 c0                	xor    %eax,%eax
412cc2:	5f                   	pop    %edi
412cc3:	5e                   	pop    %esi
412cc4:	5b                   	pop    %ebx
412cc5:	c3                   	ret
412cc6:	e8 c5 a9 ff ff       	call   0x40d690
412ccb:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
412cd1:	e8 ca a9 ff ff       	call   0x40d6a0
412cd6:	5f                   	pop    %edi
412cd7:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
412cdd:	5e                   	pop    %esi
412cde:	83 c8 ff             	or     $0xffffffff,%eax
412ce1:	5b                   	pop    %ebx
412ce2:	c3                   	ret
412ce3:	90                   	nop
412ce4:	90                   	nop
412ce5:	90                   	nop
412ce6:	90                   	nop
412ce7:	90                   	nop
412ce8:	90                   	nop
412ce9:	90                   	nop
412cea:	90                   	nop
412ceb:	90                   	nop
412cec:	90                   	nop
412ced:	90                   	nop
412cee:	90                   	nop
412cef:	90                   	nop
412cf0:	8b 44 24 04          	mov    0x4(%esp),%eax
412cf4:	8b 0d a0 8a 43 00    	mov    0x438aa0,%ecx
412cfa:	3b c1                	cmp    %ecx,%eax
412cfc:	73 21                	jae    0x412d1f
412cfe:	8b c8                	mov    %eax,%ecx
412d00:	83 e0 1f             	and    $0x1f,%eax
412d03:	c1 f9 05             	sar    $0x5,%ecx
412d06:	8d 14 c0             	lea    (%eax,%eax,8),%edx
412d09:	8b 04 8d a0 89 43 00 	mov    0x4389a0(,%ecx,4),%eax
412d10:	8a 4c 90 04          	mov    0x4(%eax,%edx,4),%cl
412d14:	8d 04 90             	lea    (%eax,%edx,4),%eax
412d17:	f6 c1 01             	test   $0x1,%cl
412d1a:	74 03                	je     0x412d1f
412d1c:	8b 00                	mov    (%eax),%eax
412d1e:	c3                   	ret
412d1f:	e8 6c a9 ff ff       	call   0x40d690
412d24:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
412d2a:	e8 71 a9 ff ff       	call   0x40d6a0
412d2f:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
412d35:	83 c8 ff             	or     $0xffffffff,%eax
412d38:	c3                   	ret
412d39:	90                   	nop
412d3a:	90                   	nop
412d3b:	90                   	nop
412d3c:	90                   	nop
412d3d:	90                   	nop
412d3e:	90                   	nop
412d3f:	90                   	nop
412d40:	8b 44 24 04          	mov    0x4(%esp),%eax
412d44:	53                   	push   %ebx
412d45:	8b c8                	mov    %eax,%ecx
412d47:	83 e0 1f             	and    $0x1f,%eax
412d4a:	c1 f9 05             	sar    $0x5,%ecx
412d4d:	56                   	push   %esi
412d4e:	57                   	push   %edi
412d4f:	8b 34 8d a0 89 43 00 	mov    0x4389a0(,%ecx,4),%esi
412d56:	8d 1c 8d a0 89 43 00 	lea    0x4389a0(,%ecx,4),%ebx
412d5d:	8d 3c c0             	lea    (%eax,%eax,8),%edi
412d60:	c1 e7 02             	shl    $0x2,%edi
412d63:	03 f7                	add    %edi,%esi
412d65:	8b 46 08             	mov    0x8(%esi),%eax
412d68:	85 c0                	test   %eax,%eax
412d6a:	75 28                	jne    0x412d94
412d6c:	6a 11                	push   $0x11
412d6e:	e8 cd c6 ff ff       	call   0x40f440
412d73:	8b 46 08             	mov    0x8(%esi),%eax
412d76:	83 c4 04             	add    $0x4,%esp
412d79:	85 c0                	test   %eax,%eax
412d7b:	75 0d                	jne    0x412d8a
412d7d:	8d 56 0c             	lea    0xc(%esi),%edx
412d80:	52                   	push   %edx
412d81:	ff 15 e0 96 43 00    	call   *0x4396e0
412d87:	ff 46 08             	incl   0x8(%esi)
412d8a:	6a 11                	push   $0x11
412d8c:	e8 2f c7 ff ff       	call   0x40f4c0
412d91:	83 c4 04             	add    $0x4,%esp
412d94:	8b 03                	mov    (%ebx),%eax
412d96:	8d 4c 38 0c          	lea    0xc(%eax,%edi,1),%ecx
412d9a:	51                   	push   %ecx
412d9b:	ff 15 c4 96 43 00    	call   *0x4396c4
412da1:	5f                   	pop    %edi
412da2:	5e                   	pop    %esi
412da3:	5b                   	pop    %ebx
412da4:	c3                   	ret
412da5:	90                   	nop
412da6:	90                   	nop
412da7:	90                   	nop
412da8:	90                   	nop
412da9:	90                   	nop
412daa:	90                   	nop
412dab:	90                   	nop
412dac:	90                   	nop
412dad:	90                   	nop
412dae:	90                   	nop
412daf:	90                   	nop
412db0:	8b 44 24 04          	mov    0x4(%esp),%eax
412db4:	8b c8                	mov    %eax,%ecx
412db6:	83 e0 1f             	and    $0x1f,%eax
412db9:	c1 f9 05             	sar    $0x5,%ecx
412dbc:	8d 14 c0             	lea    (%eax,%eax,8),%edx
412dbf:	8b 04 8d a0 89 43 00 	mov    0x4389a0(,%ecx,4),%eax
412dc6:	8d 4c 90 0c          	lea    0xc(%eax,%edx,4),%ecx
412dca:	51                   	push   %ecx
412dcb:	ff 15 cc 96 43 00    	call   *0x4396cc
412dd1:	c3                   	ret
412dd2:	90                   	nop
412dd3:	90                   	nop
412dd4:	90                   	nop
412dd5:	90                   	nop
412dd6:	90                   	nop
412dd7:	90                   	nop
412dd8:	90                   	nop
412dd9:	90                   	nop
412dda:	90                   	nop
412ddb:	90                   	nop
412ddc:	90                   	nop
412ddd:	90                   	nop
412dde:	90                   	nop
412ddf:	90                   	nop
412de0:	6a 02                	push   $0x2
412de2:	e8 a9 95 ff ff       	call   0x40c390
412de7:	83 c4 04             	add    $0x4,%esp
412dea:	c3                   	ret
412deb:	90                   	nop
412dec:	90                   	nop
412ded:	90                   	nop
412dee:	90                   	nop
412def:	90                   	nop
412df0:	56                   	push   %esi
412df1:	8b 74 24 08          	mov    0x8(%esp),%esi
412df5:	57                   	push   %edi
412df6:	83 cf ff             	or     $0xffffffff,%edi
412df9:	f6 46 0c 40          	testb  $0x40,0xc(%esi)
412dfd:	74 0c                	je     0x412e0b
412dff:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
412e06:	8b c7                	mov    %edi,%eax
412e08:	5f                   	pop    %edi
412e09:	5e                   	pop    %esi
412e0a:	c3                   	ret
412e0b:	56                   	push   %esi
412e0c:	e8 cf c6 ff ff       	call   0x40f4e0
412e11:	83 c4 04             	add    $0x4,%esp
412e14:	56                   	push   %esi
412e15:	e8 16 00 00 00       	call   0x412e30
412e1a:	83 c4 04             	add    $0x4,%esp
412e1d:	8b f8                	mov    %eax,%edi
412e1f:	56                   	push   %esi
412e20:	e8 2b c7 ff ff       	call   0x40f550
412e25:	83 c4 04             	add    $0x4,%esp
412e28:	8b c7                	mov    %edi,%eax
412e2a:	5f                   	pop    %edi
412e2b:	5e                   	pop    %esi
412e2c:	c3                   	ret
412e2d:	90                   	nop
412e2e:	90                   	nop
412e2f:	90                   	nop
412e30:	56                   	push   %esi
412e31:	8b 74 24 08          	mov    0x8(%esp),%esi
412e35:	57                   	push   %edi
412e36:	83 cf ff             	or     $0xffffffff,%edi
412e39:	f6 46 0c 83          	testb  $0x83,0xc(%esi)
412e3d:	74 4a                	je     0x412e89
412e3f:	56                   	push   %esi
412e40:	e8 ab f8 ff ff       	call   0x4126f0
412e45:	83 c4 04             	add    $0x4,%esp
412e48:	8b f8                	mov    %eax,%edi
412e4a:	56                   	push   %esi
412e4b:	e8 f0 01 00 00       	call   0x413040
412e50:	8b 46 10             	mov    0x10(%esi),%eax
412e53:	83 c4 04             	add    $0x4,%esp
412e56:	50                   	push   %eax
412e57:	e8 e4 00 00 00       	call   0x412f40
412e5c:	83 c4 04             	add    $0x4,%esp
412e5f:	85 c0                	test   %eax,%eax
412e61:	7d 0f                	jge    0x412e72
412e63:	83 cf ff             	or     $0xffffffff,%edi
412e66:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
412e6d:	8b c7                	mov    %edi,%eax
412e6f:	5f                   	pop    %edi
412e70:	5e                   	pop    %esi
412e71:	c3                   	ret
412e72:	8b 46 1c             	mov    0x1c(%esi),%eax
412e75:	85 c0                	test   %eax,%eax
412e77:	74 10                	je     0x412e89
412e79:	50                   	push   %eax
412e7a:	e8 11 97 ff ff       	call   0x40c590
412e7f:	83 c4 04             	add    $0x4,%esp
412e82:	c7 46 1c 00 00 00 00 	movl   $0x0,0x1c(%esi)
412e89:	8b c7                	mov    %edi,%eax
412e8b:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
412e92:	5f                   	pop    %edi
412e93:	5e                   	pop    %esi
412e94:	c3                   	ret
412e95:	90                   	nop
412e96:	90                   	nop
412e97:	90                   	nop
412e98:	90                   	nop
412e99:	90                   	nop
412e9a:	90                   	nop
412e9b:	90                   	nop
412e9c:	90                   	nop
412e9d:	90                   	nop
412e9e:	90                   	nop
412e9f:	90                   	nop
412ea0:	a1 a0 8a 43 00       	mov    0x438aa0,%eax
412ea5:	55                   	push   %ebp
412ea6:	56                   	push   %esi
412ea7:	57                   	push   %edi
412ea8:	8b 7c 24 10          	mov    0x10(%esp),%edi
412eac:	3b f8                	cmp    %eax,%edi
412eae:	73 7c                	jae    0x412f2c
412eb0:	8b c7                	mov    %edi,%eax
412eb2:	c1 f8 05             	sar    $0x5,%eax
412eb5:	8d 2c 85 a0 89 43 00 	lea    0x4389a0(,%eax,4),%ebp
412ebc:	8b c7                	mov    %edi,%eax
412ebe:	83 e0 1f             	and    $0x1f,%eax
412ec1:	8b 4d 00             	mov    0x0(%ebp),%ecx
412ec4:	8d 34 c0             	lea    (%eax,%eax,8),%esi
412ec7:	c1 e6 02             	shl    $0x2,%esi
412eca:	f6 44 31 04 01       	testb  $0x1,0x4(%ecx,%esi,1)
412ecf:	74 5b                	je     0x412f2c
412ed1:	57                   	push   %edi
412ed2:	e8 69 fe ff ff       	call   0x412d40
412ed7:	8b 55 00             	mov    0x0(%ebp),%edx
412eda:	83 c4 04             	add    $0x4,%esp
412edd:	f6 44 32 04 01       	testb  $0x1,0x4(%edx,%esi,1)
412ee2:	74 2b                	je     0x412f0f
412ee4:	57                   	push   %edi
412ee5:	e8 06 fe ff ff       	call   0x412cf0
412eea:	83 c4 04             	add    $0x4,%esp
412eed:	50                   	push   %eax
412eee:	ff 15 90 96 43 00    	call   *0x439690
412ef4:	85 c0                	test   %eax,%eax
412ef6:	75 0a                	jne    0x412f02
412ef8:	ff 15 ec 96 43 00    	call   *0x4396ec
412efe:	8b f0                	mov    %eax,%esi
412f00:	eb 02                	jmp    0x412f04
412f02:	33 f6                	xor    %esi,%esi
412f04:	85 f6                	test   %esi,%esi
412f06:	74 15                	je     0x412f1d
412f08:	e8 93 a7 ff ff       	call   0x40d6a0
412f0d:	89 30                	mov    %esi,(%eax)
412f0f:	e8 7c a7 ff ff       	call   0x40d690
412f14:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
412f1a:	83 ce ff             	or     $0xffffffff,%esi
412f1d:	57                   	push   %edi
412f1e:	e8 8d fe ff ff       	call   0x412db0
412f23:	83 c4 04             	add    $0x4,%esp
412f26:	8b c6                	mov    %esi,%eax
412f28:	5f                   	pop    %edi
412f29:	5e                   	pop    %esi
412f2a:	5d                   	pop    %ebp
412f2b:	c3                   	ret
412f2c:	e8 5f a7 ff ff       	call   0x40d690
412f31:	5f                   	pop    %edi
412f32:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
412f38:	5e                   	pop    %esi
412f39:	83 c8 ff             	or     $0xffffffff,%eax
412f3c:	5d                   	pop    %ebp
412f3d:	c3                   	ret
412f3e:	90                   	nop
412f3f:	90                   	nop
412f40:	a1 a0 8a 43 00       	mov    0x438aa0,%eax
412f45:	56                   	push   %esi
412f46:	8b 74 24 08          	mov    0x8(%esp),%esi
412f4a:	57                   	push   %edi
412f4b:	3b f0                	cmp    %eax,%esi
412f4d:	73 3d                	jae    0x412f8c
412f4f:	8b c6                	mov    %esi,%eax
412f51:	8b ce                	mov    %esi,%ecx
412f53:	83 e0 1f             	and    $0x1f,%eax