412a4b:	8b d0                	mov    %eax,%edx
412a4d:	85 d2                	test   %edx,%edx
412a4f:	78 09                	js     0x412a5a
412a51:	8d 47 02             	lea    0x2(%edi),%eax
412a54:	01 86 b8 09 00 00    	add    %eax,0x9b8(%esi)
412a5a:	8b 45 e0             	mov    -0x20(%ebp),%eax
412a5d:	83 be c4 09 00 00 00 	cmpl   $0x0,0x9c4(%esi)
412a64:	8b be b8 09 00 00    	mov    0x9b8(%esi),%edi
412a6a:	74 2a                	je     0x412a96
412a6c:	8b 8e bc 09 00 00    	mov    0x9bc(%esi),%ecx
412a72:	c7 86 c0 09 00 00 01 	movl   $0x1,0x9c0(%esi)
412a79:	00 00 00
412a7c:	89 8e b8 09 00 00    	mov    %ecx,0x9b8(%esi)
412a82:	c7 86 bc 09 00 00 00 	movl   $0x0,0x9bc(%esi)
412a89:	00 00 00
412a8c:	c7 86 c4 09 00 00 00 	movl   $0x0,0x9c4(%esi)
412a93:	00 00 00
412a96:	83 e8 01             	sub    $0x1,%eax
412a99:	89 45 e0             	mov    %eax,-0x20(%ebp)
412a9c:	0f 85 b1 fd ff ff    	jne    0x412853
412aa2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
412aa5:	8b c2                	mov    %edx,%eax
412aa7:	5f                   	pop    %edi
412aa8:	5e                   	pop    %esi
412aa9:	33 cd                	xor    %ebp,%ecx
412aab:	5b                   	pop    %ebx
412aac:	e8 0f 7d 00 00       	call   0x41a7c0
412ab1:	8b e5                	mov    %ebp,%esp
412ab3:	5d                   	pop    %ebp
412ab4:	c2 08 00             	ret    $0x8
412ab7:	8b 86 b8 09 00 00    	mov    0x9b8(%esi),%eax
412abd:	e9 81 fe ff ff       	jmp    0x412943
412ac2:	cc                   	int3
412ac3:	cc                   	int3
412ac4:	cc                   	int3
412ac5:	cc                   	int3
412ac6:	cc                   	int3
412ac7:	cc                   	int3
412ac8:	cc                   	int3
412ac9:	cc                   	int3
412aca:	cc                   	int3
412acb:	cc                   	int3
412acc:	cc                   	int3
412acd:	cc                   	int3
412ace:	cc                   	int3
412acf:	cc                   	int3
412ad0:	8b ff                	mov    %edi,%edi
412ad2:	55                   	push   %ebp
412ad3:	8b ec                	mov    %esp,%ebp
412ad5:	6a ff                	push   $0xffffffff
412ad7:	68 48 e8 41 00       	push   $0x41e848
412adc:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
412ae2:	50                   	push   %eax
412ae3:	81 ec 90 00 00 00    	sub    $0x90,%esp
412ae9:	a1 08 85 43 00       	mov    0x438508,%eax
412aee:	33 c5                	xor    %ebp,%eax
412af0:	89 45 f0             	mov    %eax,-0x10(%ebp)
412af3:	53                   	push   %ebx
412af4:	56                   	push   %esi
412af5:	57                   	push   %edi
412af6:	50                   	push   %eax
412af7:	8d 45 f4             	lea    -0xc(%ebp),%eax
412afa:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
412b00:	89 8d 74 ff ff ff    	mov    %ecx,-0x8c(%ebp)
412b06:	8b 5d 08             	mov    0x8(%ebp),%ebx
412b09:	33 d2                	xor    %edx,%edx
412b0b:	8b 81 8c 09 00 00    	mov    0x98c(%ecx),%eax
412b11:	89 9d 6c ff ff ff    	mov    %ebx,-0x94(%ebp)
412b17:	89 95 70 ff ff ff    	mov    %edx,-0x90(%ebp)
412b1d:	89 03                	mov    %eax,(%ebx)
412b1f:	8d 45 90             	lea    -0x70(%ebp),%eax
412b22:	ff 81 8c 09 00 00    	incl   0x98c(%ecx)
412b28:	89 45 84             	mov    %eax,-0x7c(%ebp)
412b2b:	33 c0                	xor    %eax,%eax
412b2d:	c7 45 88 21 00 00 00 	movl   $0x21,-0x78(%ebp)
412b34:	89 55 8c             	mov    %edx,-0x74(%ebp)
412b37:	66 89 45 90          	mov    %ax,-0x70(%ebp)
412b3b:	c7 45 80 64 11 40 00 	movl   $0x401164,-0x80(%ebp)
412b42:	89 45 fc             	mov    %eax,-0x4(%ebp)
412b45:	39 43 20             	cmp    %eax,0x20(%ebx)
412b48:	0f 84 f1 eb 00 00    	je     0x42173f
412b4e:	83 b9 c4 09 00 00 00 	cmpl   $0x0,0x9c4(%ecx)
412b55:	8d b1 b8 09 00 00    	lea    0x9b8(%ecx),%esi
412b5b:	75 19                	jne    0x412b76
412b5d:	8b 06                	mov    (%esi),%eax
412b5f:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
412b66:	89 46 04             	mov    %eax,0x4(%esi)
412b69:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
412b6f:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
412b76:	b8 02 00 00 00       	mov    $0x2,%eax
412b7b:	33 ff                	xor    %edi,%edi
412b7d:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
412b83:	85 ff                	test   %edi,%edi
412b85:	0f 88 5e 01 00 00    	js     0x412ce9
412b8b:	8b 81 90 09 00 00    	mov    0x990(%ecx),%eax
412b91:	33 ff                	xor    %edi,%edi
412b93:	89 45 e8             	mov    %eax,-0x18(%ebp)
412b96:	40                   	inc    %eax
412b97:	89 81 90 09 00 00    	mov    %eax,0x990(%ecx)
412b9d:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
412ba4:	c7 45 dc 47 54 48 52 	movl   $0x52485447,-0x24(%ebp)
412bab:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
412bb2:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
412bb9:	39 7e 08             	cmp    %edi,0x8(%esi)
412bbc:	0f 84 9d 01 00 00    	je     0x412d5f
412bc2:	89 3e                	mov    %edi,(%esi)
412bc4:	8b 7e 10             	mov    0x10(%esi),%edi
412bc7:	89 95 68 ff ff ff    	mov    %edx,-0x98(%ebp)
412bcd:	6a 00                	push   $0x0
412bcf:	6a 04                	push   $0x4
412bd1:	8b 07                	mov    (%edi),%eax
412bd3:	8b 40 04             	mov    0x4(%eax),%eax
412bd6:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
412bdc:	3d 70 2d 41 00       	cmp    $0x412d70,%eax
412be1:	0f 85 74 eb 00 00    	jne    0x42175b
412be7:	8d 85 68 ff ff ff    	lea    -0x98(%ebp),%eax
412bed:	8b cf                	mov    %edi,%ecx
412bef:	50                   	push   %eax
412bf0:	e8 7b 01 00 00       	call   0x412d70
412bf5:	8b 0e                	mov    (%esi),%ecx
412bf7:	8b f8                	mov    %eax,%edi
412bf9:	85 ff                	test   %edi,%edi
412bfb:	78 65                	js     0x412c62
412bfd:	83 c1 04             	add    $0x4,%ecx
412c00:	89 0e                	mov    %ecx,(%esi)
412c02:	85 ff                	test   %edi,%edi
412c04:	78 5c                	js     0x412c62
412c06:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
412c0c:	8d 51 03             	lea    0x3(%ecx),%edx
412c0f:	83 e2 fc             	and    $0xfffffffc,%edx
412c12:	33 ff                	xor    %edi,%edi
412c14:	f7 d0                	not    %eax
412c16:	2b d1                	sub    %ecx,%edx
412c18:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
412c1e:	89 95 7c ff ff ff    	mov    %edx,-0x84(%ebp)
412c24:	0f 85 4d eb 00 00    	jne    0x421777
412c2a:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
412c2e:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
412c31:	89 06                	mov    %eax,(%esi)
412c33:	74 2d                	je     0x412c62
412c35:	8b 7e 10             	mov    0x10(%esi),%edi
412c38:	6a 00                	push   $0x0
412c3a:	6a 04                	push   $0x4
412c3c:	8b 07                	mov    (%edi),%eax
412c3e:	8b 40 04             	mov    0x4(%eax),%eax
412c41:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
412c47:	3d 70 2d 41 00       	cmp    $0x412d70,%eax
412c4c:	0f 85 67 eb 00 00    	jne    0x4217b9
412c52:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
412c58:	8b cf                	mov    %edi,%ecx
412c5a:	50                   	push   %eax
412c5b:	e8 10 01 00 00       	call   0x412d70
412c60:	8b f8                	mov    %eax,%edi
412c62:	33 c0                	xor    %eax,%eax
412c64:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
412c6a:	85 ff                	test   %edi,%edi
412c6c:	78 53                	js     0x412cc1
412c6e:	8d 48 07             	lea    0x7(%eax),%ecx
412c71:	83 e1 f8             	and    $0xfffffff8,%ecx
412c74:	2b c8                	sub    %eax,%ecx
412c76:	89 8d 7c ff ff ff    	mov    %ecx,-0x84(%ebp)
412c7c:	0f 85 53 eb 00 00    	jne    0x4217d5
412c82:	85 ff                	test   %edi,%edi
412c84:	78 57                	js     0x412cdd
412c86:	03 c1                	add    %ecx,%eax
412c88:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
412c8c:	89 06                	mov    %eax,(%esi)
412c8e:	74 2a                	je     0x412cba
412c90:	8b 7e 10             	mov    0x10(%esi),%edi
412c93:	6a 00                	push   $0x0
412c95:	6a 14                	push   $0x14
412c97:	8b 07                	mov    (%edi),%eax
412c99:	8b 40 04             	mov    0x4(%eax),%eax
412c9c:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
412ca2:	3d 70 2d 41 00       	cmp    $0x412d70,%eax
412ca7:	0f 85 63 eb 00 00    	jne    0x421810
412cad:	8d 45 dc             	lea    -0x24(%ebp),%eax
412cb0:	8b cf                	mov    %edi,%ecx
412cb2:	50                   	push   %eax
412cb3:	e8 b8 00 00 00       	call   0x412d70
412cb8:	8b f8                	mov    %eax,%edi
412cba:	85 ff                	test   %edi,%edi
412cbc:	78 1f                	js     0x412cdd
412cbe:	83 06 14             	addl   $0x14,(%esi)
412cc1:	85 ff                	test   %edi,%edi
412cc3:	78 18                	js     0x412cdd
412cc5:	53                   	push   %ebx
412cc6:	8b ce                	mov    %esi,%ecx
412cc8:	e8 e0 ad 00 00       	call   0x41daad
412ccd:	8b f8                	mov    %eax,%edi
412ccf:	85 ff                	test   %edi,%edi
412cd1:	78 0a                	js     0x412cdd
412cd3:	83 7b 20 00          	cmpl   $0x0,0x20(%ebx)
412cd7:	0f 84 4c eb 00 00    	je     0x421829
412cdd:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
412ce3:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
412ce9:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
412ced:	8b 16                	mov    (%esi),%edx
412cef:	89 95 70 ff ff ff    	mov    %edx,-0x90(%ebp)
412cf5:	74 20                	je     0x412d17
412cf7:	8b 46 04             	mov    0x4(%esi),%eax
412cfa:	89 06                	mov    %eax,(%esi)
412cfc:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
412d02:	c7 46 08 01 00 00 00 	movl   $0x1,0x8(%esi)
412d09:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
412d10:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
412d17:	83 e8 01             	sub    $0x1,%eax
412d1a:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
412d20:	0f 85 5d fe ff ff    	jne    0x412b83
412d26:	8b 45 84             	mov    -0x7c(%ebp),%eax
412d29:	c7 45 80 64 11 40 00 	movl   $0x401164,-0x80(%ebp)
412d30:	85 c0                	test   %eax,%eax
412d32:	74 0b                	je     0x412d3f
412d34:	8d 4d 90             	lea    -0x70(%ebp),%ecx
412d37:	3b c1                	cmp    %ecx,%eax
412d39:	0f 85 2a eb 00 00    	jne    0x421869
412d3f:	8b c7                	mov    %edi,%eax
412d41:	8b 4d f4             	mov    -0xc(%ebp),%ecx
412d44:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
412d4b:	59                   	pop    %ecx
412d4c:	5f                   	pop    %edi
412d4d:	5e                   	pop    %esi
412d4e:	5b                   	pop    %ebx
412d4f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
412d52:	33 cd                	xor    %ebp,%ecx
412d54:	e8 67 7a 00 00       	call   0x41a7c0
412d59:	8b e5                	mov    %ebp,%esp
412d5b:	5d                   	pop    %ebp
412d5c:	c2 04 00             	ret    $0x4
412d5f:	8b 06                	mov    (%esi),%eax
412d61:	e9 08 ff ff ff       	jmp    0x412c6e
412d66:	cc                   	int3
412d67:	cc                   	int3
412d68:	cc                   	int3
412d69:	cc                   	int3
412d6a:	cc                   	int3
412d6b:	cc                   	int3
412d6c:	cc                   	int3
412d6d:	cc                   	int3
412d6e:	cc                   	int3
412d6f:	cc                   	int3
412d70:	8b ff                	mov    %edi,%edi
412d72:	55                   	push   %ebp
412d73:	8b ec                	mov    %esp,%ebp
412d75:	83 e4 f8             	and    $0xfffffff8,%esp
412d78:	83 ec 1c             	sub    $0x1c,%esp
412d7b:	53                   	push   %ebx
412d7c:	56                   	push   %esi
412d7d:	8b f1                	mov    %ecx,%esi
412d7f:	57                   	push   %edi
412d80:	8b 46 28             	mov    0x28(%esi),%eax
412d83:	83 b8 80 00 00 00 00 	cmpl   $0x0,0x80(%eax)
412d8a:	0f 8d 08 eb 00 00    	jge    0x421898
412d90:	8b 5d 0c             	mov    0xc(%ebp),%ebx
412d93:	33 ff                	xor    %edi,%edi
412d95:	8b 55 10             	mov    0x10(%ebp),%edx
412d98:	8b cb                	mov    %ebx,%ecx
412d9a:	89 7c 24 14          	mov    %edi,0x14(%esp)
412d9e:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
412da2:	89 7c 24 10          	mov    %edi,0x10(%esp)
412da6:	85 d2                	test   %edx,%edx
412da8:	0f 85 ca ea 00 00    	jne    0x421878
412dae:	8b 90 80 00 00 00    	mov    0x80(%eax),%edx
412db4:	81 e2 ff ff ff 3f    	and    $0x3fffffff,%edx
412dba:	89 54 24 18          	mov    %edx,0x18(%esp)
412dbe:	85 db                	test   %ebx,%ebx
412dc0:	0f 84 0d 01 00 00    	je     0x412ed3
412dc6:	eb 08                	jmp    0x412dd0
412dc8:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
412dcf:	90                   	nop
412dd0:	8b 46 28             	mov    0x28(%esi),%eax
412dd3:	8b b8 88 00 00 00    	mov    0x88(%eax),%edi
412dd9:	8b 46 28             	mov    0x28(%esi),%eax
412ddc:	8b 80 90 00 00 00    	mov    0x90(%eax),%eax
412de2:	8b 5e 28             	mov    0x28(%esi),%ebx
412de5:	89 44 24 24          	mov    %eax,0x24(%esp)
412de9:	83 bb 80 00 00 00 00 	cmpl   $0x0,0x80(%ebx)
412df0:	0f 8d a2 ea 00 00    	jge    0x421898
412df6:	8b d8                	mov    %eax,%ebx
412df8:	2b df                	sub    %edi,%ebx
412dfa:	4b                   	dec    %ebx
412dfb:	3b f8                	cmp    %eax,%edi
412dfd:	72 02                	jb     0x412e01
412dff:	03 da                	add    %edx,%ebx
412e01:	85 db                	test   %ebx,%ebx
412e03:	0f 84 1d 01 00 00    	je     0x412f26
412e09:	3b cb                	cmp    %ebx,%ecx
412e0b:	73 02                	jae    0x412e0f
412e0d:	8b d9                	mov    %ecx,%ebx
412e0f:	3b f8                	cmp    %eax,%edi
412e11:	0f 82 e8 00 00 00    	jb     0x412eff
412e17:	2b d7                	sub    %edi,%edx
412e19:	89 54 24 1c          	mov    %edx,0x1c(%esp)
412e1d:	89 54 24 20          	mov    %edx,0x20(%esp)
412e21:	3b d3                	cmp    %ebx,%edx
412e23:	72 06                	jb     0x412e2b
412e25:	8b d3                	mov    %ebx,%edx
412e27:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
412e2b:	8b c3                	mov    %ebx,%eax
412e2d:	2b 44 24 20          	sub    0x20(%esp),%eax
412e31:	39 5c 24 20          	cmp    %ebx,0x20(%esp)
412e35:	1b c9                	sbb    %ecx,%ecx
412e37:	23 c8                	and    %eax,%ecx
412e39:	89 4c 24 20          	mov    %ecx,0x20(%esp)
412e3d:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
412e41:	85 d2                	test   %edx,%edx
412e43:	74 30                	je     0x412e75
412e45:	8b 44 24 10          	mov    0x10(%esp),%eax
412e49:	03 45 08             	add    0x8(%ebp),%eax
412e4c:	52                   	push   %edx
412e4d:	50                   	push   %eax
412e4e:	8b 46 28             	mov    0x28(%esi),%eax
412e51:	05 98 00 00 00       	add    $0x98,%eax
412e56:	03 c7                	add    %edi,%eax
412e58:	50                   	push   %eax
412e59:	e8 88 80 00 00       	call   0x41aee6
412e5e:	8b 54 24 28          	mov    0x28(%esp),%edx
412e62:	83 c4 0c             	add    $0xc,%esp
412e65:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
412e69:	03 fa                	add    %edx,%edi
412e6b:	3b 7c 24 18          	cmp    0x18(%esp),%edi
412e6f:	0f 84 c8 00 00 00    	je     0x412f3d
412e75:	8b 44 24 20          	mov    0x20(%esp),%eax
412e79:	85 c0                	test   %eax,%eax
412e7b:	0f 85 c3 00 00 00    	jne    0x412f44
412e81:	8b 46 28             	mov    0x28(%esi),%eax
412e84:	8b d7                	mov    %edi,%edx
412e86:	01 5c 24 10          	add    %ebx,0x10(%esp)
412e8a:	2b cb                	sub    %ebx,%ecx
412e8c:	2b 54 24 24          	sub    0x24(%esp),%edx
412e90:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
412e94:	89 b8 88 00 00 00    	mov    %edi,0x88(%eax)
412e9a:	3b 7c 24 24          	cmp    0x24(%esp),%edi
412e9e:	76 59                	jbe    0x412ef9
412ea0:	3b 56 40             	cmp    0x40(%esi),%edx
412ea3:	72 1b                	jb     0x412ec0
412ea5:	ff 76 2c             	push   0x2c(%esi)
412ea8:	ff 15 b0 a2 43 00    	call   *0x43a2b0
412eae:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
412eb2:	85 c0                	test   %eax,%eax
412eb4:	0f 84 c8 e9 00 00    	je     0x421882
412eba:	33 c0                	xor    %eax,%eax
412ebc:	89 44 24 14          	mov    %eax,0x14(%esp)
412ec0:	8b 54 24 18          	mov    0x18(%esp),%edx
412ec4:	85 c9                	test   %ecx,%ecx
412ec6:	0f 85 04 ff ff ff    	jne    0x412dd0
412ecc:	8b 7c 24 14          	mov    0x14(%esp),%edi
412ed0:	8b 5d 0c             	mov    0xc(%ebp),%ebx
412ed3:	8b 45 10             	mov    0x10(%ebp),%eax
412ed6:	85 c0                	test   %eax,%eax