4139f5:	89 46 04             	mov    %eax,0x4(%esi)
4139f8:	8b 54 24 0c          	mov    0xc(%esp),%edx
4139fc:	2b 16                	sub    (%esi),%edx
4139fe:	01 56 08             	add    %edx,0x8(%esi)
413a01:	8b d6                	mov    %esi,%edx
413a03:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
413a07:	89 0e                	mov    %ecx,(%esi)
413a09:	8b 44 24 14          	mov    0x14(%esp),%eax
413a0d:	89 43 34             	mov    %eax,0x34(%ebx)
413a10:	8b c3                	mov    %ebx,%eax
413a12:	8b 0c 24             	mov    (%esp),%ecx
413a15:	e8 26 13 00 00       	call   0x414d40
413a1a:	e9 bf 09 00 00       	jmp    0x4143de
413a1f:	8b d0                	mov    %eax,%edx
413a21:	89 53 04             	mov    %edx,0x4(%ebx)
413a24:	33 c9                	xor    %ecx,%ecx
413a26:	89 cf                	mov    %ecx,%edi
413a28:	89 4c 24 08          	mov    %ecx,0x8(%esp)
413a2c:	85 d2                	test   %edx,%edx
413a2e:	74 07                	je     0x413a37
413a30:	b8 02 00 00 00       	mov    $0x2,%eax
413a35:	eb 0f                	jmp    0x413a46
413a37:	83 7b 18 00          	cmpl   $0x0,0x18(%ebx)
413a3b:	74 07                	je     0x413a44
413a3d:	b8 07 00 00 00       	mov    $0x7,%eax
413a42:	eb 02                	jmp    0x413a46
413a44:	33 c0                	xor    %eax,%eax
413a46:	89 03                	mov    %eax,(%ebx)
413a48:	e9 09 fd ff ff       	jmp    0x413756
413a4d:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
413a52:	75 38                	jne    0x413a8c
413a54:	8b 54 24 08          	mov    0x8(%esp),%edx
413a58:	89 53 20             	mov    %edx,0x20(%ebx)
413a5b:	89 7b 1c             	mov    %edi,0x1c(%ebx)
413a5e:	8b 4c 24 10          	mov    0x10(%esp),%ecx
413a62:	89 4e 04             	mov    %ecx,0x4(%esi)
413a65:	8b 44 24 0c          	mov    0xc(%esp),%eax
413a69:	2b 06                	sub    (%esi),%eax
413a6b:	01 46 08             	add    %eax,0x8(%esi)
413a6e:	8b c3                	mov    %ebx,%eax
413a70:	8b 54 24 0c          	mov    0xc(%esp),%edx
413a74:	89 16                	mov    %edx,(%esi)
413a76:	8b d6                	mov    %esi,%edx
413a78:	8b 4c 24 14          	mov    0x14(%esp),%ecx
413a7c:	89 4b 34             	mov    %ecx,0x34(%ebx)
413a7f:	8b 0c 24             	mov    (%esp),%ecx
413a82:	e8 b9 12 00 00       	call   0x414d40
413a87:	e9 52 09 00 00       	jmp    0x4143de
413a8c:	85 ed                	test   %ebp,%ebp
413a8e:	0f 85 df 00 00 00    	jne    0x413b73
413a94:	8b 44 24 14          	mov    0x14(%esp),%eax
413a98:	3b 43 2c             	cmp    0x2c(%ebx),%eax
413a9b:	75 29                	jne    0x413ac6
413a9d:	8b 53 30             	mov    0x30(%ebx),%edx
413aa0:	3b 53 28             	cmp    0x28(%ebx),%edx
413aa3:	74 21                	je     0x413ac6
413aa5:	8b 4b 28             	mov    0x28(%ebx),%ecx
413aa8:	89 4c 24 14          	mov    %ecx,0x14(%esp)
413aac:	8b 44 24 14          	mov    0x14(%esp),%eax
413ab0:	3b 43 30             	cmp    0x30(%ebx),%eax
413ab3:	73 0a                	jae    0x413abf
413ab5:	8b 6b 30             	mov    0x30(%ebx),%ebp
413ab8:	2b 6c 24 14          	sub    0x14(%esp),%ebp
413abc:	4d                   	dec    %ebp
413abd:	eb 07                	jmp    0x413ac6
413abf:	8b 6b 2c             	mov    0x2c(%ebx),%ebp
413ac2:	2b 6c 24 14          	sub    0x14(%esp),%ebp
413ac6:	85 ed                	test   %ebp,%ebp
413ac8:	0f 85 a5 00 00 00    	jne    0x413b73
413ace:	8b 44 24 14          	mov    0x14(%esp),%eax
413ad2:	8b d6                	mov    %esi,%edx
413ad4:	89 43 34             	mov    %eax,0x34(%ebx)
413ad7:	8b c3                	mov    %ebx,%eax
413ad9:	8b 0c 24             	mov    (%esp),%ecx
413adc:	e8 5f 12 00 00       	call   0x414d40
413ae1:	89 04 24             	mov    %eax,(%esp)
413ae4:	8b 53 34             	mov    0x34(%ebx),%edx
413ae7:	89 54 24 14          	mov    %edx,0x14(%esp)
413aeb:	8b 4c 24 14          	mov    0x14(%esp),%ecx
413aef:	3b 4b 30             	cmp    0x30(%ebx),%ecx
413af2:	73 0a                	jae    0x413afe
413af4:	8b 6b 30             	mov    0x30(%ebx),%ebp
413af7:	2b 6c 24 14          	sub    0x14(%esp),%ebp
413afb:	4d                   	dec    %ebp
413afc:	eb 07                	jmp    0x413b05
413afe:	8b 6b 2c             	mov    0x2c(%ebx),%ebp
413b01:	2b 6c 24 14          	sub    0x14(%esp),%ebp
413b05:	8b 44 24 14          	mov    0x14(%esp),%eax
413b09:	3b 43 2c             	cmp    0x2c(%ebx),%eax
413b0c:	75 29                	jne    0x413b37
413b0e:	8b 53 30             	mov    0x30(%ebx),%edx
413b11:	3b 53 28             	cmp    0x28(%ebx),%edx
413b14:	74 21                	je     0x413b37
413b16:	8b 4b 28             	mov    0x28(%ebx),%ecx
413b19:	89 4c 24 14          	mov    %ecx,0x14(%esp)
413b1d:	8b 44 24 14          	mov    0x14(%esp),%eax
413b21:	3b 43 30             	cmp    0x30(%ebx),%eax
413b24:	73 0a                	jae    0x413b30
413b26:	8b 6b 30             	mov    0x30(%ebx),%ebp
413b29:	2b 6c 24 14          	sub    0x14(%esp),%ebp
413b2d:	4d                   	dec    %ebp
413b2e:	eb 07                	jmp    0x413b37
413b30:	8b 6b 2c             	mov    0x2c(%ebx),%ebp
413b33:	2b 6c 24 14          	sub    0x14(%esp),%ebp
413b37:	85 ed                	test   %ebp,%ebp
413b39:	75 38                	jne    0x413b73
413b3b:	8b 44 24 08          	mov    0x8(%esp),%eax
413b3f:	89 43 20             	mov    %eax,0x20(%ebx)
413b42:	89 7b 1c             	mov    %edi,0x1c(%ebx)
413b45:	8b 54 24 10          	mov    0x10(%esp),%edx
413b49:	89 56 04             	mov    %edx,0x4(%esi)
413b4c:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
413b50:	2b 0e                	sub    (%esi),%ecx
413b52:	01 4e 08             	add    %ecx,0x8(%esi)
413b55:	8b 44 24 0c          	mov    0xc(%esp),%eax
413b59:	89 06                	mov    %eax,(%esi)
413b5b:	8b c3                	mov    %ebx,%eax
413b5d:	8b 54 24 14          	mov    0x14(%esp),%edx
413b61:	89 53 34             	mov    %edx,0x34(%ebx)
413b64:	8b d6                	mov    %esi,%edx
413b66:	8b 0c 24             	mov    (%esp),%ecx
413b69:	e8 d2 11 00 00       	call   0x414d40
413b6e:	e9 6b 08 00 00       	jmp    0x4143de
413b73:	33 c9                	xor    %ecx,%ecx
413b75:	89 0c 24             	mov    %ecx,(%esp)
413b78:	8b 43 04             	mov    0x4(%ebx),%eax
413b7b:	89 44 24 04          	mov    %eax,0x4(%esp)
413b7f:	8b 54 24 04          	mov    0x4(%esp),%edx
413b83:	3b 54 24 10          	cmp    0x10(%esp),%edx
413b87:	76 08                	jbe    0x413b91
413b89:	8b 4c 24 10          	mov    0x10(%esp),%ecx
413b8d:	89 4c 24 04          	mov    %ecx,0x4(%esp)
413b91:	3b 6c 24 04          	cmp    0x4(%esp),%ebp
413b95:	73 04                	jae    0x413b9b
413b97:	89 6c 24 04          	mov    %ebp,0x4(%esp)
413b9b:	8b 44 24 04          	mov    0x4(%esp),%eax
413b9f:	50                   	push   %eax
413ba0:	8b 54 24 10          	mov    0x10(%esp),%edx
413ba4:	52                   	push   %edx
413ba5:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
413ba9:	51                   	push   %ecx
413baa:	e8 f5 b7 ff ff       	call   0x40f3a4
413baf:	83 c4 0c             	add    $0xc,%esp
413bb2:	8b 44 24 04          	mov    0x4(%esp),%eax
413bb6:	01 44 24 0c          	add    %eax,0xc(%esp)
413bba:	8b 54 24 04          	mov    0x4(%esp),%edx
413bbe:	29 54 24 10          	sub    %edx,0x10(%esp)
413bc2:	01 44 24 14          	add    %eax,0x14(%esp)
413bc6:	2b 6c 24 04          	sub    0x4(%esp),%ebp
413bca:	8b 4c 24 04          	mov    0x4(%esp),%ecx
413bce:	29 4b 04             	sub    %ecx,0x4(%ebx)
413bd1:	0f 85 7f fb ff ff    	jne    0x413756
413bd7:	83 7b 18 00          	cmpl   $0x0,0x18(%ebx)
413bdb:	74 07                	je     0x413be4
413bdd:	b8 07 00 00 00       	mov    $0x7,%eax
413be2:	eb 02                	jmp    0x413be6
413be4:	33 c0                	xor    %eax,%eax
413be6:	89 03                	mov    %eax,(%ebx)
413be8:	e9 69 fb ff ff       	jmp    0x413756
413bed:	83 ff 0e             	cmp    $0xe,%edi
413bf0:	73 68                	jae    0x413c5a
413bf2:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
413bf7:	74 07                	je     0x413c00
413bf9:	33 d2                	xor    %edx,%edx
413bfb:	89 14 24             	mov    %edx,(%esp)
413bfe:	eb 38                	jmp    0x413c38
413c00:	8b 4c 24 08          	mov    0x8(%esp),%ecx
413c04:	89 4b 20             	mov    %ecx,0x20(%ebx)
413c07:	89 7b 1c             	mov    %edi,0x1c(%ebx)
413c0a:	8b 44 24 10          	mov    0x10(%esp),%eax
413c0e:	89 46 04             	mov    %eax,0x4(%esi)
413c11:	8b 54 24 0c          	mov    0xc(%esp),%edx
413c15:	2b 16                	sub    (%esi),%edx
413c17:	01 56 08             	add    %edx,0x8(%esi)
413c1a:	8b d6                	mov    %esi,%edx
413c1c:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
413c20:	89 0e                	mov    %ecx,(%esi)
413c22:	8b 44 24 14          	mov    0x14(%esp),%eax
413c26:	89 43 34             	mov    %eax,0x34(%ebx)
413c29:	8b c3                	mov    %ebx,%eax
413c2b:	8b 0c 24             	mov    (%esp),%ecx
413c2e:	e8 0d 11 00 00       	call   0x414d40
413c33:	e9 a6 07 00 00       	jmp    0x4143de
413c38:	8b cf                	mov    %edi,%ecx
413c3a:	ff 4c 24 10          	decl   0x10(%esp)
413c3e:	8b 54 24 0c          	mov    0xc(%esp),%edx
413c42:	8a 02                	mov    (%edx),%al
413c44:	33 d2                	xor    %edx,%edx
413c46:	8a d0                	mov    %al,%dl
413c48:	d3 e2                	shl    %cl,%edx
413c4a:	09 54 24 08          	or     %edx,0x8(%esp)
413c4e:	ff 44 24 0c          	incl   0xc(%esp)
413c52:	83 c7 08             	add    $0x8,%edi
413c55:	83 ff 0e             	cmp    $0xe,%edi
413c58:	72 98                	jb     0x413bf2
413c5a:	8b 4c 24 08          	mov    0x8(%esp),%ecx
413c5e:	81 e1 ff 3f 00 00    	and    $0x3fff,%ecx
413c64:	89 4c 24 04          	mov    %ecx,0x4(%esp)
413c68:	89 4b 04             	mov    %ecx,0x4(%ebx)
413c6b:	8b 44 24 04          	mov    0x4(%esp),%eax
413c6f:	83 e0 1f             	and    $0x1f,%eax
413c72:	83 f8 1d             	cmp    $0x1d,%eax
413c75:	77 0f                	ja     0x413c86
413c77:	8b 54 24 04          	mov    0x4(%esp),%edx
413c7b:	c1 ea 05             	shr    $0x5,%edx
413c7e:	83 e2 1f             	and    $0x1f,%edx
413c81:	83 fa 1d             	cmp    $0x1d,%edx
413c84:	76 4c                	jbe    0x413cd2
413c86:	c7 03 09 00 00 00    	movl   $0x9,(%ebx)
413c8c:	c7 46 18 dc 84 42 00 	movl   $0x4284dc,0x18(%esi)
413c93:	c7 04 24 fd ff ff ff 	movl   $0xfffffffd,(%esp)
413c9a:	8b 44 24 08          	mov    0x8(%esp),%eax
413c9e:	89 43 20             	mov    %eax,0x20(%ebx)
413ca1:	89 7b 1c             	mov    %edi,0x1c(%ebx)
413ca4:	8b 54 24 10          	mov    0x10(%esp),%edx
413ca8:	89 56 04             	mov    %edx,0x4(%esi)
413cab:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
413caf:	2b 0e                	sub    (%esi),%ecx
413cb1:	01 4e 08             	add    %ecx,0x8(%esi)
413cb4:	8b 44 24 0c          	mov    0xc(%esp),%eax
413cb8:	89 06                	mov    %eax,(%esi)
413cba:	8b c3                	mov    %ebx,%eax
413cbc:	8b 54 24 14          	mov    0x14(%esp),%edx
413cc0:	89 53 34             	mov    %edx,0x34(%ebx)
413cc3:	8b d6                	mov    %esi,%edx
413cc5:	8b 0c 24             	mov    (%esp),%ecx
413cc8:	e8 73 10 00 00       	call   0x414d40
413ccd:	e9 0c 07 00 00       	jmp    0x4143de
413cd2:	8b 4c 24 04          	mov    0x4(%esp),%ecx
413cd6:	c1 e9 05             	shr    $0x5,%ecx
413cd9:	83 e1 1f             	and    $0x1f,%ecx
413cdc:	03 c1                	add    %ecx,%eax
413cde:	05 02 01 00 00       	add    $0x102,%eax
413ce3:	89 44 24 04          	mov    %eax,0x4(%esp)
413ce7:	b9 04 00 00 00       	mov    $0x4,%ecx
413cec:	8b 54 24 04          	mov    0x4(%esp),%edx
413cf0:	8b 46 28             	mov    0x28(%esi),%eax
413cf3:	ff 56 20             	call   *0x20(%esi)
413cf6:	89 43 0c             	mov    %eax,0xc(%ebx)
413cf9:	85 c0                	test   %eax,%eax
413cfb:	75 3f                	jne    0x413d3c
413cfd:	c7 04 24 fc ff ff ff 	movl   $0xfffffffc,(%esp)
413d04:	8b 54 24 08          	mov    0x8(%esp),%edx
413d08:	89 53 20             	mov    %edx,0x20(%ebx)
413d0b:	89 7b 1c             	mov    %edi,0x1c(%ebx)
413d0e:	8b 4c 24 10          	mov    0x10(%esp),%ecx
413d12:	89 4e 04             	mov    %ecx,0x4(%esi)
413d15:	8b 44 24 0c          	mov    0xc(%esp),%eax
413d19:	2b 06                	sub    (%esi),%eax
413d1b:	01 46 08             	add    %eax,0x8(%esi)
413d1e:	8b c3                	mov    %ebx,%eax
413d20:	8b 54 24 0c          	mov    0xc(%esp),%edx
413d24:	89 16                	mov    %edx,(%esi)
413d26:	8b d6                	mov    %esi,%edx
413d28:	8b 4c 24 14          	mov    0x14(%esp),%ecx
413d2c:	89 4b 34             	mov    %ecx,0x34(%ebx)
413d2f:	8b 0c 24             	mov    (%esp),%ecx
413d32:	e8 09 10 00 00       	call   0x414d40
413d37:	e9 a2 06 00 00       	jmp    0x4143de
413d3c:	c1 6c 24 08 0e       	shrl   $0xe,0x8(%esp)
413d41:	83 ef 0e             	sub    $0xe,%edi
413d44:	33 c0                	xor    %eax,%eax
413d46:	89 43 08             	mov    %eax,0x8(%ebx)
413d49:	c7 03 04 00 00 00    	movl   $0x4,(%ebx)
413d4f:	e9 8f 00 00 00       	jmp    0x413de3
413d54:	83 ff 03             	cmp    $0x3,%edi
413d57:	73 68                	jae    0x413dc1
413d59:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
413d5e:	74 07                	je     0x413d67
413d60:	33 d2                	xor    %edx,%edx
413d62:	89 14 24             	mov    %edx,(%esp)
413d65:	eb 38                	jmp    0x413d9f
413d67:	8b 4c 24 08          	mov    0x8(%esp),%ecx
413d6b:	89 4b 20             	mov    %ecx,0x20(%ebx)
413d6e:	89 7b 1c             	mov    %edi,0x1c(%ebx)
413d71:	8b 44 24 10          	mov    0x10(%esp),%eax
413d75:	89 46 04             	mov    %eax,0x4(%esi)
413d78:	8b 54 24 0c          	mov    0xc(%esp),%edx
413d7c:	2b 16                	sub    (%esi),%edx
413d7e:	01 56 08             	add    %edx,0x8(%esi)
413d81:	8b d6                	mov    %esi,%edx
413d83:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
413d87:	89 0e                	mov    %ecx,(%esi)
413d89:	8b 44 24 14          	mov    0x14(%esp),%eax
413d8d:	89 43 34             	mov    %eax,0x34(%ebx)
413d90:	8b c3                	mov    %ebx,%eax
413d92:	8b 0c 24             	mov    (%esp),%ecx
413d95:	e8 a6 0f 00 00       	call   0x414d40
413d9a:	e9 3f 06 00 00       	jmp    0x4143de
413d9f:	8b cf                	mov    %edi,%ecx
413da1:	ff 4c 24 10          	decl   0x10(%esp)
413da5:	8b 54 24 0c          	mov    0xc(%esp),%edx
413da9:	8a 02                	mov    (%edx),%al
413dab:	33 d2                	xor    %edx,%edx
413dad:	8a d0                	mov    %al,%dl
413daf:	d3 e2                	shl    %cl,%edx
413db1:	09 54 24 08          	or     %edx,0x8(%esp)
413db5:	ff 44 24 0c          	incl   0xc(%esp)
413db9:	83 c7 08             	add    $0x8,%edi
413dbc:	83 ff 03             	cmp    $0x3,%edi
413dbf:	72 98                	jb     0x413d59
413dc1:	8b 4b 08             	mov    0x8(%ebx),%ecx
413dc4:	ff 43 08             	incl   0x8(%ebx)
413dc7:	8b 04 8d 60 84 42 00 	mov    0x428460(,%ecx,4),%eax
413dce:	8b 53 0c             	mov    0xc(%ebx),%edx
413dd1:	8b 4c 24 08          	mov    0x8(%esp),%ecx
413dd5:	83 e1 07             	and    $0x7,%ecx
413dd8:	89 0c 82             	mov    %ecx,(%edx,%eax,4)
413ddb:	c1 6c 24 08 03       	shrl   $0x3,0x8(%esp)
413de0:	83 ef 03             	sub    $0x3,%edi
413de3:	8b 43 04             	mov    0x4(%ebx),%eax
413de6:	c1 e8 0a             	shr    $0xa,%eax
413de9:	83 c0 04             	add    $0x4,%eax
413dec:	3b 43 08             	cmp    0x8(%ebx),%eax
413def:	0f 87 5f ff ff ff    	ja     0x413d54
413df5:	eb 15                	jmp    0x413e0c
413df7:	8b 53 08             	mov    0x8(%ebx),%edx
413dfa:	ff 43 08             	incl   0x8(%ebx)
413dfd:	8b 0c 95 60 84 42 00 	mov    0x428460(,%edx,4),%ecx
413e04:	8b 43 0c             	mov    0xc(%ebx),%eax
413e07:	33 d2                	xor    %edx,%edx
413e09:	89 14 88             	mov    %edx,(%eax,%ecx,4)
413e0c:	83 7b 08 13          	cmpl   $0x13,0x8(%ebx)
413e10:	72 e5                	jb     0x413df7
413e12:	c7 43 10 07 00 00 00 	movl   $0x7,0x10(%ebx)
413e19:	8b 4b 24             	mov    0x24(%ebx),%ecx
413e1c:	51                   	push   %ecx
413e1d:	56                   	push   %esi
413e1e:	8d 4b 14             	lea    0x14(%ebx),%ecx
413e21:	8d 53 10             	lea    0x10(%ebx),%edx
413e24:	8b 43 0c             	mov    0xc(%ebx),%eax
413e27:	e8 b4 f4 ff ff       	call   0x4132e0
413e2c:	89 44 24 04          	mov    %eax,0x4(%esp)
413e30:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
413e35:	74 54                	je     0x413e8b
413e37:	8b 44 24 04          	mov    0x4(%esp),%eax
413e3b:	89 04 24             	mov    %eax,(%esp)
413e3e:	83 3c 24 fd          	cmpl   $0xfffffffd,(%esp)
413e42:	75 0f                	jne    0x413e53
413e44:	8b 53 0c             	mov    0xc(%ebx),%edx
413e47:	8b 46 28             	mov    0x28(%esi),%eax
413e4a:	ff 56 24             	call   *0x24(%esi)
413e4d:	c7 03 09 00 00 00    	movl   $0x9,(%ebx)
413e53:	8b 54 24 08          	mov    0x8(%esp),%edx
413e57:	89 53 20             	mov    %edx,0x20(%ebx)
413e5a:	89 7b 1c             	mov    %edi,0x1c(%ebx)
413e5d:	8b 4c 24 10          	mov    0x10(%esp),%ecx
413e61:	89 4e 04             	mov    %ecx,0x4(%esi)
413e64:	8b 44 24 0c          	mov    0xc(%esp),%eax
413e68:	2b 06                	sub    (%esi),%eax