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
413e6a:	01 46 08             	add    %eax,0x8(%esi)
413e6d:	8b c3                	mov    %ebx,%eax
413e6f:	8b 54 24 0c          	mov    0xc(%esp),%edx
413e73:	89 16                	mov    %edx,(%esi)
413e75:	8b d6                	mov    %esi,%edx
413e77:	8b 4c 24 14          	mov    0x14(%esp),%ecx
413e7b:	89 4b 34             	mov    %ecx,0x34(%ebx)
413e7e:	8b 0c 24             	mov    (%esp),%ecx
413e81:	e8 ba 0e 00 00       	call   0x414d40
413e86:	e9 53 05 00 00       	jmp    0x4143de
413e8b:	33 c0                	xor    %eax,%eax
413e8d:	89 43 08             	mov    %eax,0x8(%ebx)
413e90:	c7 03 05 00 00 00    	movl   $0x5,(%ebx)
413e96:	e9 23 02 00 00       	jmp    0x4140be
413e9b:	8b 53 10             	mov    0x10(%ebx),%edx
413e9e:	89 54 24 04          	mov    %edx,0x4(%esp)
413ea2:	3b 7c 24 04          	cmp    0x4(%esp),%edi
413ea6:	73 69                	jae    0x413f11
413ea8:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
413ead:	74 07                	je     0x413eb6
413eaf:	33 c9                	xor    %ecx,%ecx
413eb1:	89 0c 24             	mov    %ecx,(%esp)
413eb4:	eb 38                	jmp    0x413eee
413eb6:	8b 44 24 08          	mov    0x8(%esp),%eax
413eba:	89 43 20             	mov    %eax,0x20(%ebx)
413ebd:	89 7b 1c             	mov    %edi,0x1c(%ebx)
413ec0:	8b 54 24 10          	mov    0x10(%esp),%edx
413ec4:	89 56 04             	mov    %edx,0x4(%esi)
413ec7:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
413ecb:	2b 0e                	sub    (%esi),%ecx
413ecd:	01 4e 08             	add    %ecx,0x8(%esi)
413ed0:	8b 44 24 0c          	mov    0xc(%esp),%eax
413ed4:	89 06                	mov    %eax,(%esi)
413ed6:	8b c3                	mov    %ebx,%eax
413ed8:	8b 54 24 14          	mov    0x14(%esp),%edx
413edc:	89 53 34             	mov    %edx,0x34(%ebx)
413edf:	8b d6                	mov    %esi,%edx
413ee1:	8b 0c 24             	mov    (%esp),%ecx
413ee4:	e8 57 0e 00 00       	call   0x414d40
413ee9:	e9 f0 04 00 00       	jmp    0x4143de
413eee:	8b cf                	mov    %edi,%ecx
413ef0:	ff 4c 24 10          	decl   0x10(%esp)
413ef4:	8b 44 24 0c          	mov    0xc(%esp),%eax
413ef8:	8a 10                	mov    (%eax),%dl
413efa:	33 c0                	xor    %eax,%eax
413efc:	8a c2                	mov    %dl,%al
413efe:	d3 e0                	shl    %cl,%eax
413f00:	09 44 24 08          	or     %eax,0x8(%esp)
413f04:	ff 44 24 0c          	incl   0xc(%esp)
413f08:	83 c7 08             	add    $0x8,%edi
413f0b:	3b 7c 24 04          	cmp    0x4(%esp),%edi
413f0f:	72 97                	jb     0x413ea8
413f11:	8b 54 24 04          	mov    0x4(%esp),%edx
413f15:	8b 04 95 50 85 42 00 	mov    0x428550(,%edx,4),%eax
413f1c:	23 44 24 08          	and    0x8(%esp),%eax
413f20:	c1 e0 03             	shl    $0x3,%eax
413f23:	03 43 14             	add    0x14(%ebx),%eax
413f26:	33 d2                	xor    %edx,%edx
413f28:	8a 50 01             	mov    0x1(%eax),%dl
413f2b:	89 54 24 04          	mov    %edx,0x4(%esp)
413f2f:	8b 50 04             	mov    0x4(%eax),%edx
413f32:	83 fa 10             	cmp    $0x10,%edx
413f35:	73 1d                	jae    0x413f54
413f37:	8b 4c 24 04          	mov    0x4(%esp),%ecx
413f3b:	d3 6c 24 08          	shrl   %cl,0x8(%esp)
413f3f:	2b 7c 24 04          	sub    0x4(%esp),%edi
413f43:	8b 43 08             	mov    0x8(%ebx),%eax
413f46:	ff 43 08             	incl   0x8(%ebx)
413f49:	8b 4b 0c             	mov    0xc(%ebx),%ecx
413f4c:	89 14 81             	mov    %edx,(%ecx,%eax,4)
413f4f:	e9 6a 01 00 00       	jmp    0x4140be
413f54:	83 fa 12             	cmp    $0x12,%edx
413f57:	75 07                	jne    0x413f60
413f59:	b8 07 00 00 00       	mov    $0x7,%eax
413f5e:	eb 05                	jmp    0x413f65
413f60:	8b c2                	mov    %edx,%eax
413f62:	83 e8 0e             	sub    $0xe,%eax
413f65:	83 fa 12             	cmp    $0x12,%edx
413f68:	75 07                	jne    0x413f71
413f6a:	b9 0b 00 00 00       	mov    $0xb,%ecx
413f6f:	eb 05                	jmp    0x413f76
413f71:	b9 03 00 00 00       	mov    $0x3,%ecx
413f76:	89 4c 24 28          	mov    %ecx,0x28(%esp)
413f7a:	eb 67                	jmp    0x413fe3
413f7c:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
413f81:	74 07                	je     0x413f8a
413f83:	33 c9                	xor    %ecx,%ecx
413f85:	89 0c 24             	mov    %ecx,(%esp)
413f88:	eb 38                	jmp    0x413fc2
413f8a:	8b 44 24 08          	mov    0x8(%esp),%eax
413f8e:	89 43 20             	mov    %eax,0x20(%ebx)
413f91:	89 7b 1c             	mov    %edi,0x1c(%ebx)
413f94:	8b 54 24 10          	mov    0x10(%esp),%edx
413f98:	89 56 04             	mov    %edx,0x4(%esi)
413f9b:	8b 44 24 0c          	mov    0xc(%esp),%eax
413f9f:	2b 06                	sub    (%esi),%eax
413fa1:	01 46 08             	add    %eax,0x8(%esi)
413fa4:	8b c3                	mov    %ebx,%eax
413fa6:	8b 54 24 0c          	mov    0xc(%esp),%edx
413faa:	89 16                	mov    %edx,(%esi)
413fac:	8b d6                	mov    %esi,%edx
413fae:	8b 4c 24 14          	mov    0x14(%esp),%ecx
413fb2:	89 4b 34             	mov    %ecx,0x34(%ebx)
413fb5:	8b 0c 24             	mov    (%esp),%ecx
413fb8:	e8 83 0d 00 00       	call   0x414d40
413fbd:	e9 1c 04 00 00       	jmp    0x4143de
413fc2:	ff 4c 24 10          	decl   0x10(%esp)
413fc6:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
413fca:	8a 09                	mov    (%ecx),%cl
413fcc:	8b e9                	mov    %ecx,%ebp
413fce:	81 e5 ff 00 00 00    	and    $0xff,%ebp
413fd4:	8b cf                	mov    %edi,%ecx
413fd6:	d3 e5                	shl    %cl,%ebp
413fd8:	09 6c 24 08          	or     %ebp,0x8(%esp)
413fdc:	ff 44 24 0c          	incl   0xc(%esp)
413fe0:	83 c7 08             	add    $0x8,%edi
413fe3:	8b 4c 24 04          	mov    0x4(%esp),%ecx
413fe7:	03 c8                	add    %eax,%ecx
413fe9:	3b f9                	cmp    %ecx,%edi
413feb:	72 8f                	jb     0x413f7c
413fed:	8b 4c 24 04          	mov    0x4(%esp),%ecx
413ff1:	d3 6c 24 08          	shrl   %cl,0x8(%esp)
413ff5:	8b 0c 85 50 85 42 00 	mov    0x428550(,%eax,4),%ecx
413ffc:	2b 7c 24 04          	sub    0x4(%esp),%edi
414000:	23 4c 24 08          	and    0x8(%esp),%ecx
414004:	2b f8                	sub    %eax,%edi
414006:	01 4c 24 28          	add    %ecx,0x28(%esp)
41400a:	8b c8                	mov    %eax,%ecx
41400c:	d3 6c 24 08          	shrl   %cl,0x8(%esp)
414010:	8b 43 08             	mov    0x8(%ebx),%eax
414013:	8b 4b 04             	mov    0x4(%ebx),%ecx
414016:	89 4c 24 04          	mov    %ecx,0x4(%esp)
41401a:	8b 6c 24 04          	mov    0x4(%esp),%ebp
41401e:	8b 4c 24 04          	mov    0x4(%esp),%ecx
414022:	c1 ed 05             	shr    $0x5,%ebp
414025:	83 e1 1f             	and    $0x1f,%ecx
414028:	83 e5 1f             	and    $0x1f,%ebp
41402b:	03 cd                	add    %ebp,%ecx
41402d:	8b 6c 24 28          	mov    0x28(%esp),%ebp
414031:	03 e8                	add    %eax,%ebp
414033:	81 c1 02 01 00 00    	add    $0x102,%ecx
414039:	3b cd                	cmp    %ebp,%ecx
41403b:	72 0a                	jb     0x414047
41403d:	83 fa 10             	cmp    $0x10,%edx
414040:	75 5a                	jne    0x41409c
414042:	83 f8 01             	cmp    $0x1,%eax
414045:	73 55                	jae    0x41409c
414047:	8b 53 0c             	mov    0xc(%ebx),%edx
41404a:	8b 46 28             	mov    0x28(%esi),%eax
41404d:	ff 56 24             	call   *0x24(%esi)
414050:	c7 03 09 00 00 00    	movl   $0x9,(%ebx)
414056:	c7 46 18 00 85 42 00 	movl   $0x428500,0x18(%esi)
41405d:	c7 04 24 fd ff ff ff 	movl   $0xfffffffd,(%esp)
414064:	8b 4c 24 08          	mov    0x8(%esp),%ecx
414068:	89 4b 20             	mov    %ecx,0x20(%ebx)
41406b:	89 7b 1c             	mov    %edi,0x1c(%ebx)
41406e:	8b 44 24 10          	mov    0x10(%esp),%eax
414072:	89 46 04             	mov    %eax,0x4(%esi)
414075:	8b 54 24 0c          	mov    0xc(%esp),%edx
414079:	2b 16                	sub    (%esi),%edx
41407b:	01 56 08             	add    %edx,0x8(%esi)
41407e:	8b d6                	mov    %esi,%edx
414080:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
414084:	89 0e                	mov    %ecx,(%esi)
414086:	8b 44 24 14          	mov    0x14(%esp),%eax
41408a:	89 43 34             	mov    %eax,0x34(%ebx)
41408d:	8b c3                	mov    %ebx,%eax
41408f:	8b 0c 24             	mov    (%esp),%ecx
414092:	e8 a9 0c 00 00       	call   0x414d40
414097:	e9 42 03 00 00       	jmp    0x4143de
41409c:	83 fa 10             	cmp    $0x10,%edx
41409f:	75 09                	jne    0x4140aa
4140a1:	8b 53 0c             	mov    0xc(%ebx),%edx
4140a4:	8b 4c 82 fc          	mov    -0x4(%edx,%eax,4),%ecx
4140a8:	eb 02                	jmp    0x4140ac