403cc2:	e8 8f 04 00 00       	call   0x404156
403cc7:	83 c0 10             	add    $0x10,%eax
403cca:	c3                   	ret
403ccb:	e8 86 04 00 00       	call   0x404156
403cd0:	83 c0 14             	add    $0x14,%eax
403cd3:	c3                   	ret
403cd4:	e9 89 32 00 00       	jmp    0x406f62
403cd9:	55                   	push   %ebp
403cda:	8b ec                	mov    %esp,%ebp
403cdc:	57                   	push   %edi
403cdd:	8b 7d 08             	mov    0x8(%ebp),%edi
403ce0:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
403ce4:	74 48                	je     0x403d2e
403ce6:	8b 0f                	mov    (%edi),%ecx
403ce8:	85 c9                	test   %ecx,%ecx
403cea:	74 42                	je     0x403d2e
403cec:	8d 51 01             	lea    0x1(%ecx),%edx
403cef:	8a 01                	mov    (%ecx),%al
403cf1:	41                   	inc    %ecx
403cf2:	84 c0                	test   %al,%al
403cf4:	75 f9                	jne    0x403cef
403cf6:	2b ca                	sub    %edx,%ecx
403cf8:	53                   	push   %ebx
403cf9:	56                   	push   %esi
403cfa:	8d 59 01             	lea    0x1(%ecx),%ebx
403cfd:	53                   	push   %ebx
403cfe:	e8 27 21 00 00       	call   0x405e2a
403d03:	8b f0                	mov    %eax,%esi
403d05:	59                   	pop    %ecx
403d06:	85 f6                	test   %esi,%esi
403d08:	74 19                	je     0x403d23
403d0a:	ff 37                	push   (%edi)
403d0c:	53                   	push   %ebx
403d0d:	56                   	push   %esi
403d0e:	e8 cf 32 00 00       	call   0x406fe2
403d13:	8b 45 0c             	mov    0xc(%ebp),%eax
403d16:	8b ce                	mov    %esi,%ecx
403d18:	83 c4 0c             	add    $0xc,%esp
403d1b:	33 f6                	xor    %esi,%esi
403d1d:	89 08                	mov    %ecx,(%eax)
403d1f:	c6 40 04 01          	movb   $0x1,0x4(%eax)
403d23:	56                   	push   %esi
403d24:	e8 0c 21 00 00       	call   0x405e35
403d29:	59                   	pop    %ecx
403d2a:	5e                   	pop    %esi
403d2b:	5b                   	pop    %ebx
403d2c:	eb 0b                	jmp    0x403d39
403d2e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
403d31:	8b 07                	mov    (%edi),%eax
403d33:	89 01                	mov    %eax,(%ecx)
403d35:	c6 41 04 00          	movb   $0x0,0x4(%ecx)
403d39:	5f                   	pop    %edi
403d3a:	5d                   	pop    %ebp
403d3b:	c3                   	ret
403d3c:	55                   	push   %ebp
403d3d:	8b ec                	mov    %esp,%ebp
403d3f:	56                   	push   %esi
403d40:	8b 75 08             	mov    0x8(%ebp),%esi
403d43:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
403d47:	74 08                	je     0x403d51
403d49:	ff 36                	push   (%esi)
403d4b:	e8 e5 20 00 00       	call   0x405e35
403d50:	59                   	pop    %ecx
403d51:	83 26 00             	andl   $0x0,(%esi)
403d54:	c6 46 04 00          	movb   $0x0,0x4(%esi)
403d58:	5e                   	pop    %esi
403d59:	5d                   	pop    %ebp
403d5a:	c3                   	ret
403d5b:	55                   	push   %ebp
403d5c:	8b ec                	mov    %esp,%ebp
403d5e:	83 ec 14             	sub    $0x14,%esp
403d61:	8b 45 08             	mov    0x8(%ebp),%eax
403d64:	53                   	push   %ebx
403d65:	57                   	push   %edi
403d66:	8b 7d 0c             	mov    0xc(%ebp),%edi
403d69:	bb 20 05 93 19       	mov    $0x19930520,%ebx
403d6e:	89 45 f0             	mov    %eax,-0x10(%ebp)
403d71:	85 ff                	test   %edi,%edi
403d73:	74 2d                	je     0x403da2
403d75:	f6 07 10             	testb  $0x10,(%edi)
403d78:	74 1e                	je     0x403d98
403d7a:	8b 08                	mov    (%eax),%ecx
403d7c:	83 e9 04             	sub    $0x4,%ecx
403d7f:	56                   	push   %esi
403d80:	51                   	push   %ecx
403d81:	8b 01                	mov    (%ecx),%eax
403d83:	8b 70 20             	mov    0x20(%eax),%esi
403d86:	8b ce                	mov    %esi,%ecx
403d88:	8b 78 18             	mov    0x18(%eax),%edi
403d8b:	ff 15 18 f1 40 00    	call   *0x40f118
403d91:	ff d6                	call   *%esi
403d93:	5e                   	pop    %esi
403d94:	85 ff                	test   %edi,%edi
403d96:	74 0a                	je     0x403da2
403d98:	f6 07 08             	testb  $0x8,(%edi)
403d9b:	74 05                	je     0x403da2
403d9d:	bb 00 40 99 01       	mov    $0x1994000,%ebx
403da2:	8b 45 f0             	mov    -0x10(%ebp),%eax
403da5:	89 45 f8             	mov    %eax,-0x8(%ebp)
403da8:	8d 45 f4             	lea    -0xc(%ebp),%eax
403dab:	50                   	push   %eax
403dac:	6a 03                	push   $0x3
403dae:	6a 01                	push   $0x1
403db0:	68 63 73 6d e0       	push   $0xe06d7363
403db5:	89 5d f4             	mov    %ebx,-0xc(%ebp)
403db8:	89 7d fc             	mov    %edi,-0x4(%ebp)
403dbb:	ff 15 54 f0 40 00    	call   *0x40f054
403dc1:	5f                   	pop    %edi
403dc2:	5b                   	pop    %ebx
403dc3:	c9                   	leave
403dc4:	c2 08 00             	ret    $0x8
403dc7:	cc                   	int3
403dc8:	cc                   	int3
403dc9:	cc                   	int3
403dca:	cc                   	int3
403dcb:	cc                   	int3
403dcc:	cc                   	int3
403dcd:	cc                   	int3
403dce:	cc                   	int3
403dcf:	cc                   	int3
403dd0:	55                   	push   %ebp
403dd1:	8b ec                	mov    %esp,%ebp
403dd3:	56                   	push   %esi
403dd4:	8b 75 08             	mov    0x8(%ebp),%esi
403dd7:	57                   	push   %edi
403dd8:	8b 7d 0c             	mov    0xc(%ebp),%edi
403ddb:	8b 06                	mov    (%esi),%eax
403ddd:	83 f8 fe             	cmp    $0xfffffffe,%eax
403de0:	74 0d                	je     0x403def
403de2:	8b 4e 04             	mov    0x4(%esi),%ecx
403de5:	03 cf                	add    %edi,%ecx
403de7:	33 0c 38             	xor    (%eax,%edi,1),%ecx
403dea:	e8 46 f8 ff ff       	call   0x403635
403def:	8b 46 08             	mov    0x8(%esi),%eax
403df2:	8b 4e 0c             	mov    0xc(%esi),%ecx
403df5:	03 cf                	add    %edi,%ecx
403df7:	33 0c 38             	xor    (%eax,%edi,1),%ecx
403dfa:	5f                   	pop    %edi
403dfb:	5e                   	pop    %esi
403dfc:	5d                   	pop    %ebp
403dfd:	e9 33 f8 ff ff       	jmp    0x403635
403e02:	cc                   	int3
403e03:	cc                   	int3
403e04:	cc                   	int3
403e05:	cc                   	int3
403e06:	cc                   	int3
403e07:	cc                   	int3
403e08:	cc                   	int3
403e09:	cc                   	int3
403e0a:	cc                   	int3
403e0b:	cc                   	int3
403e0c:	cc                   	int3
403e0d:	cc                   	int3
403e0e:	cc                   	int3
403e0f:	cc                   	int3
403e10:	55                   	push   %ebp
403e11:	8b ec                	mov    %esp,%ebp
403e13:	83 ec 1c             	sub    $0x1c,%esp
403e16:	53                   	push   %ebx
403e17:	8b 5d 08             	mov    0x8(%ebp),%ebx
403e1a:	56                   	push   %esi
403e1b:	57                   	push   %edi
403e1c:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
403e20:	ff 33                	push   (%ebx)
403e22:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
403e29:	e8 82 af 00 00       	call   0x40edb0
403e2e:	89 03                	mov    %eax,(%ebx)
403e30:	8b 5d 0c             	mov    0xc(%ebp),%ebx
403e33:	8b 43 08             	mov    0x8(%ebx),%eax
403e36:	8d 73 10             	lea    0x10(%ebx),%esi
403e39:	33 05 14 60 41 00    	xor    0x416014,%eax
403e3f:	56                   	push   %esi
403e40:	50                   	push   %eax
403e41:	89 75 f0             	mov    %esi,-0x10(%ebp)
403e44:	89 45 f8             	mov    %eax,-0x8(%ebp)
403e47:	e8 84 ff ff ff       	call   0x403dd0
403e4c:	ff 75 10             	push   0x10(%ebp)
403e4f:	e8 88 11 00 00       	call   0x404fdc
403e54:	8b 45 08             	mov    0x8(%ebp),%eax
403e57:	83 c4 10             	add    $0x10,%esp
403e5a:	8b 7b 0c             	mov    0xc(%ebx),%edi
403e5d:	f6 40 04 66          	testb  $0x66,0x4(%eax)
403e61:	75 5a                	jne    0x403ebd
403e63:	89 45 e4             	mov    %eax,-0x1c(%ebp)
403e66:	8b 45 10             	mov    0x10(%ebp),%eax
403e69:	89 45 e8             	mov    %eax,-0x18(%ebp)
403e6c:	8d 45 e4             	lea    -0x1c(%ebp),%eax
403e6f:	89 43 fc             	mov    %eax,-0x4(%ebx)
403e72:	83 ff fe             	cmp    $0xfffffffe,%edi
403e75:	74 69                	je     0x403ee0
403e77:	8b 4d f8             	mov    -0x8(%ebp),%ecx
403e7a:	8d 47 02             	lea    0x2(%edi),%eax
403e7d:	8d 04 47             	lea    (%edi,%eax,2),%eax
403e80:	8b 1c 81             	mov    (%ecx,%eax,4),%ebx
403e83:	8d 04 81             	lea    (%ecx,%eax,4),%eax
403e86:	8b 48 04             	mov    0x4(%eax),%ecx
403e89:	89 45 ec             	mov    %eax,-0x14(%ebp)
403e8c:	85 c9                	test   %ecx,%ecx
403e8e:	74 14                	je     0x403ea4
403e90:	8b d6                	mov    %esi,%edx
403e92:	e8 69 12 00 00       	call   0x405100
403e97:	b1 01                	mov    $0x1,%cl
403e99:	88 4d ff             	mov    %cl,-0x1(%ebp)
403e9c:	85 c0                	test   %eax,%eax
403e9e:	78 14                	js     0x403eb4
403ea0:	7f 48                	jg     0x403eea
403ea2:	eb 03                	jmp    0x403ea7
403ea4:	8a 4d ff             	mov    -0x1(%ebp),%cl
403ea7:	8b fb                	mov    %ebx,%edi
403ea9:	83 fb fe             	cmp    $0xfffffffe,%ebx
403eac:	75 c9                	jne    0x403e77
403eae:	84 c9                	test   %cl,%cl
403eb0:	74 2e                	je     0x403ee0
403eb2:	eb 20                	jmp    0x403ed4
403eb4:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
403ebb:	eb 17                	jmp    0x403ed4
403ebd:	83 ff fe             	cmp    $0xfffffffe,%edi
403ec0:	74 1e                	je     0x403ee0
403ec2:	68 14 60 41 00       	push   $0x416014
403ec7:	56                   	push   %esi
403ec8:	ba fe ff ff ff       	mov    $0xfffffffe,%edx
403ecd:	8b cb                	mov    %ebx,%ecx
403ecf:	e8 8c 12 00 00       	call   0x405160
403ed4:	56                   	push   %esi
403ed5:	ff 75 f8             	push   -0x8(%ebp)
403ed8:	e8 f3 fe ff ff       	call   0x403dd0
403edd:	83 c4 08             	add    $0x8,%esp
403ee0:	8b 45 f4             	mov    -0xc(%ebp),%eax
403ee3:	5f                   	pop    %edi
403ee4:	5e                   	pop    %esi
403ee5:	5b                   	pop    %ebx
403ee6:	8b e5                	mov    %ebp,%esp
403ee8:	5d                   	pop    %ebp
403ee9:	c3                   	ret
403eea:	8b 45 08             	mov    0x8(%ebp),%eax
403eed:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
403ef3:	75 38                	jne    0x403f2d
403ef5:	83 3d d8 f1 40 00 00 	cmpl   $0x0,0x40f1d8
403efc:	74 2f                	je     0x403f2d
403efe:	68 d8 f1 40 00       	push   $0x40f1d8
403f03:	e8 d8 ac 00 00       	call   0x40ebe0
403f08:	83 c4 04             	add    $0x4,%esp
403f0b:	85 c0                	test   %eax,%eax
403f0d:	74 1b                	je     0x403f2a
403f0f:	8b 35 d8 f1 40 00    	mov    0x40f1d8,%esi
403f15:	8b ce                	mov    %esi,%ecx
403f17:	6a 01                	push   $0x1
403f19:	ff 75 08             	push   0x8(%ebp)
403f1c:	ff 15 18 f1 40 00    	call   *0x40f118
403f22:	ff d6                	call   *%esi
403f24:	8b 75 f0             	mov    -0x10(%ebp),%esi
403f27:	83 c4 08             	add    $0x8,%esp
403f2a:	8b 45 08             	mov    0x8(%ebp),%eax
403f2d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
403f30:	8b d0                	mov    %eax,%edx
403f32:	e8 09 12 00 00       	call   0x405140
403f37:	8b 45 0c             	mov    0xc(%ebp),%eax
403f3a:	39 78 0c             	cmp    %edi,0xc(%eax)
403f3d:	74 12                	je     0x403f51
403f3f:	68 14 60 41 00       	push   $0x416014
403f44:	56                   	push   %esi
403f45:	8b d7                	mov    %edi,%edx
403f47:	8b c8                	mov    %eax,%ecx
403f49:	e8 12 12 00 00       	call   0x405160
403f4e:	8b 45 0c             	mov    0xc(%ebp),%eax
403f51:	56                   	push   %esi
403f52:	ff 75 f8             	push   -0x8(%ebp)
403f55:	89 58 0c             	mov    %ebx,0xc(%eax)
403f58:	e8 73 fe ff ff       	call   0x403dd0
403f5d:	8b 4d ec             	mov    -0x14(%ebp),%ecx
403f60:	83 c4 08             	add    $0x8,%esp
403f63:	8b d6                	mov    %esi,%edx
403f65:	8b 49 08             	mov    0x8(%ecx),%ecx
403f68:	e8 b3 11 00 00       	call   0x405120
403f6d:	cc                   	int3
403f6e:	e8 04 12 00 00       	call   0x405177
403f73:	84 c0                	test   %al,%al
403f75:	75 03                	jne    0x403f7a
403f77:	32 c0                	xor    %al,%al
403f79:	c3                   	ret
403f7a:	e8 77 02 00 00       	call   0x4041f6
403f7f:	84 c0                	test   %al,%al
403f81:	75 07                	jne    0x403f8a
403f83:	e8 2b 12 00 00       	call   0x4051b3
403f88:	eb ed                	jmp    0x403f77
403f8a:	b0 01                	mov    $0x1,%al
403f8c:	c3                   	ret
403f8d:	55                   	push   %ebp
403f8e:	8b ec                	mov    %esp,%ebp
403f90:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
403f94:	75 0a                	jne    0x403fa0
403f96:	e8 8e 02 00 00       	call   0x404229
403f9b:	e8 13 12 00 00       	call   0x4051b3
403fa0:	b0 01                	mov    $0x1,%al
403fa2:	5d                   	pop    %ebp
403fa3:	c3                   	ret
403fa4:	55                   	push   %ebp
403fa5:	8b ec                	mov    %esp,%ebp
403fa7:	8b 45 08             	mov    0x8(%ebp),%eax
403faa:	8b 4d 0c             	mov    0xc(%ebp),%ecx
403fad:	3b c1                	cmp    %ecx,%eax
403faf:	75 04                	jne    0x403fb5
403fb1:	33 c0                	xor    %eax,%eax
403fb3:	5d                   	pop    %ebp
403fb4:	c3                   	ret
403fb5:	83 c1 05             	add    $0x5,%ecx
403fb8:	83 c0 05             	add    $0x5,%eax
403fbb:	8a 10                	mov    (%eax),%dl
403fbd:	3a 11                	cmp    (%ecx),%dl
403fbf:	75 18                	jne    0x403fd9
403fc1:	84 d2                	test   %dl,%dl
403fc3:	74 ec                	je     0x403fb1
403fc5:	8a 50 01             	mov    0x1(%eax),%dl
403fc8:	3a 51 01             	cmp    0x1(%ecx),%dl
403fcb:	75 0c                	jne    0x403fd9
403fcd:	83 c0 02             	add    $0x2,%eax
403fd0:	83 c1 02             	add    $0x2,%ecx
403fd3:	84 d2                	test   %dl,%dl
403fd5:	75 e4                	jne    0x403fbb
403fd7:	eb d8                	jmp    0x403fb1
403fd9:	1b c0                	sbb    %eax,%eax
403fdb:	83 c8 01             	or     $0x1,%eax
403fde:	5d                   	pop    %ebp
403fdf:	c3                   	ret
403fe0:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
403fe4:	0f b6 44 24 08       	movzbl 0x8(%esp),%eax
403fe9:	8b d7                	mov    %edi,%edx
403feb:	8b 7c 24 04          	mov    0x4(%esp),%edi
403fef:	85 c9                	test   %ecx,%ecx
403ff1:	0f 84 3c 01 00 00    	je     0x404133
403ff7:	69 c0 01 01 01 01    	imul   $0x1010101,%eax,%eax
403ffd:	83 f9 20             	cmp    $0x20,%ecx
404000:	0f 86 df 00 00 00    	jbe    0x4040e5
404006:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
40400c:	0f 82 8b 00 00 00    	jb     0x40409d
404012:	0f ba 25 c0 69 41 00 	btl    $0x1,0x4169c0
404019:	01
40401a:	73 09                	jae    0x404025
40401c:	f3 aa                	rep stos %al,%es:(%edi)
40401e:	8b 44 24 04          	mov    0x4(%esp),%eax
404022:	8b fa                	mov    %edx,%edi
404024:	c3                   	ret
404025:	0f ba 25 10 60 41 00 	btl    $0x1,0x416010
40402c:	01
40402d:	0f 83 b2 00 00 00    	jae    0x4040e5
404033:	66 0f 6e c0          	movd   %eax,%xmm0
404037:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
40403c:	03 cf                	add    %edi,%ecx
40403e:	0f 11 07             	movups %xmm0,(%edi)
404041:	83 c7 10             	add    $0x10,%edi