562c3a:	8b 44 24 0c          	mov    0xc(%esp),%eax
562c3e:	e8 b9 5c 01 00       	call   0x5788fc
562c43:	3b d8                	cmp    %eax,%ebx
562c45:	75 4c                	jne    0x562c93
562c47:	8b c3                	mov    %ebx,%eax
562c49:	03 eb                	add    %ebx,%ebp
562c4b:	2b f8                	sub    %eax,%edi
562c4d:	2b f0                	sub    %eax,%esi
562c4f:	85 ff                	test   %edi,%edi
562c51:	75 b1                	jne    0x562c04
562c53:	8b 44 24 0c          	mov    0xc(%esp),%eax
562c57:	e8 00 5f 01 00       	call   0x578b5c
562c5c:	85 f6                	test   %esi,%esi
562c5e:	0f 85 36 ff ff ff    	jne    0x562b9a
562c64:	ff 44 24 08          	incl   0x8(%esp)
562c68:	8b 54 24 08          	mov    0x8(%esp),%edx
562c6c:	8b 0c 24             	mov    (%esp),%ecx
562c6f:	8b 01                	mov    (%ecx),%eax
562c71:	3b d0                	cmp    %eax,%edx
562c73:	7d 18                	jge    0x562c8d
562c75:	8b 14 24             	mov    (%esp),%edx
562c78:	8b 4a 08             	mov    0x8(%edx),%ecx
562c7b:	8b 44 24 08          	mov    0x8(%esp),%eax
562c7f:	8b 04 81             	mov    (%ecx,%eax,4),%eax
562c82:	8b 68 08             	mov    0x8(%eax),%ebp
562c85:	8b 70 04             	mov    0x4(%eax),%esi
562c88:	e9 0d ff ff ff       	jmp    0x562b9a
562c8d:	8b 44 24 04          	mov    0x4(%esp),%eax
562c91:	eb 0b                	jmp    0x562c9e
562c93:	8b 44 24 04          	mov    0x4(%esp),%eax
562c97:	e8 50 fd ff ff       	call   0x5629ec
562c9c:	33 c0                	xor    %eax,%eax
562c9e:	83 c4 10             	add    $0x10,%esp
562ca1:	5d                   	pop    %ebp
562ca2:	5f                   	pop    %edi
562ca3:	5e                   	pop    %esi
562ca4:	5b                   	pop    %ebx
562ca5:	c3                   	ret
562ca6:	90                   	nop
562ca7:	90                   	nop
562ca8:	53                   	push   %ebx
562ca9:	56                   	push   %esi
562caa:	57                   	push   %edi
562cab:	55                   	push   %ebp
562cac:	8b fa                	mov    %edx,%edi
562cae:	8b e8                	mov    %eax,%ebp
562cb0:	33 f6                	xor    %esi,%esi
562cb2:	eb 20                	jmp    0x562cd4
562cb4:	8b 47 08             	mov    0x8(%edi),%eax
562cb7:	8b 1c b0             	mov    (%eax,%esi,4),%ebx
562cba:	8b 4b 04             	mov    0x4(%ebx),%ecx
562cbd:	8b 53 08             	mov    0x8(%ebx),%edx
562cc0:	8b c5                	mov    %ebp,%eax
562cc2:	e8 35 5c 01 00       	call   0x5788fc
562cc7:	8b 53 04             	mov    0x4(%ebx),%edx
562cca:	3b c2                	cmp    %edx,%eax
562ccc:	74 05                	je     0x562cd3
562cce:	83 c8 ff             	or     $0xffffffff,%eax
562cd1:	eb 09                	jmp    0x562cdc
562cd3:	46                   	inc    %esi
562cd4:	8b 0f                	mov    (%edi),%ecx
562cd6:	3b f1                	cmp    %ecx,%esi
562cd8:	7c da                	jl     0x562cb4
562cda:	33 c0                	xor    %eax,%eax
562cdc:	5d                   	pop    %ebp
562cdd:	5f                   	pop    %edi
562cde:	5e                   	pop    %esi
562cdf:	5b                   	pop    %ebx
562ce0:	c3                   	ret
562ce1:	90                   	nop
562ce2:	90                   	nop
562ce3:	90                   	nop
562ce4:	53                   	push   %ebx
562ce5:	b8 0c 00 00 00       	mov    $0xc,%eax
562cea:	e8 8d 56 01 00       	call   0x57837c
562cef:	8b d8                	mov    %eax,%ebx
562cf1:	85 c0                	test   %eax,%eax
562cf3:	75 04                	jne    0x562cf9
562cf5:	33 c0                	xor    %eax,%eax
562cf7:	5b                   	pop    %ebx
562cf8:	c3                   	ret
562cf9:	33 d2                	xor    %edx,%edx
562cfb:	33 c9                	xor    %ecx,%ecx
562cfd:	89 53 08             	mov    %edx,0x8(%ebx)
562d00:	89 4b 04             	mov    %ecx,0x4(%ebx)
562d03:	66 c7 03 00 00       	movw   $0x0,(%ebx)
562d08:	8b c3                	mov    %ebx,%eax
562d0a:	5b                   	pop    %ebx
562d0b:	c3                   	ret
562d0c:	53                   	push   %ebx
562d0d:	8b d8                	mov    %eax,%ebx
562d0f:	8b 43 08             	mov    0x8(%ebx),%eax
562d12:	85 c0                	test   %eax,%eax
562d14:	74 05                	je     0x562d1b
562d16:	e8 69 56 01 00       	call   0x578384
562d1b:	8b c3                	mov    %ebx,%eax
562d1d:	e8 62 56 01 00       	call   0x578384
562d22:	5b                   	pop    %ebx
562d23:	c3                   	ret
562d24:	53                   	push   %ebx
562d25:	56                   	push   %esi
562d26:	57                   	push   %edi
562d27:	55                   	push   %ebp
562d28:	83 c4 e0             	add    $0xffffffe0,%esp
562d2b:	89 54 24 04          	mov    %edx,0x4(%esp)
562d2f:	89 04 24             	mov    %eax,(%esp)
562d32:	8b 04 24             	mov    (%esp),%eax
562d35:	8b 50 38             	mov    0x38(%eax),%edx
562d38:	89 54 24 0c          	mov    %edx,0xc(%esp)
562d3c:	8b 4c 24 04          	mov    0x4(%esp),%ecx
562d40:	8b 41 24             	mov    0x24(%ecx),%eax
562d43:	89 44 24 08          	mov    %eax,0x8(%esp)
562d47:	8b 54 24 0c          	mov    0xc(%esp),%edx
562d4b:	85 d2                	test   %edx,%edx
562d4d:	0f 8e e5 00 00 00    	jle    0x562e38
562d53:	8b 4c 24 08          	mov    0x8(%esp),%ecx
562d57:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
562d5b:	89 44 24 14          	mov    %eax,0x14(%esp)
562d5f:	8b 54 24 08          	mov    0x8(%esp),%edx
562d63:	8b 4a 18             	mov    0x18(%edx),%ecx
562d66:	89 4c 24 10          	mov    %ecx,0x10(%esp)
562d6a:	8b 44 24 14          	mov    0x14(%esp),%eax
562d6e:	85 c0                	test   %eax,%eax
562d70:	0f 8e ad 00 00 00    	jle    0x562e23
562d76:	8b 54 24 10          	mov    0x10(%esp),%edx
562d7a:	8b 42 04             	mov    0x4(%edx),%eax
562d7d:	85 c0                	test   %eax,%eax
562d7f:	0f 84 89 00 00 00    	je     0x562e0e
562d85:	8b 54 24 10          	mov    0x10(%esp),%edx
562d89:	8b 0a                	mov    (%edx),%ecx
562d8b:	89 4c 24 18          	mov    %ecx,0x18(%esp)
562d8f:	8b f8                	mov    %eax,%edi
562d91:	8b 44 24 18          	mov    0x18(%esp),%eax
562d95:	85 c0                	test   %eax,%eax
562d97:	7e 75                	jle    0x562e0e
562d99:	8b 57 04             	mov    0x4(%edi),%edx
562d9c:	85 d2                	test   %edx,%edx
562d9e:	74 5f                	je     0x562dff
562da0:	8b 4c 24 10          	mov    0x10(%esp),%ecx
562da4:	8b 41 28             	mov    0x28(%ecx),%eax
562da7:	89 44 24 1c          	mov    %eax,0x1c(%esp)
562dab:	8b 2f                	mov    (%edi),%ebp
562dad:	8b 44 24 1c          	mov    0x1c(%esp),%eax
562db1:	85 c0                	test   %eax,%eax
562db3:	7e 4a                	jle    0x562dff
562db5:	8b 45 1c             	mov    0x1c(%ebp),%eax
562db8:	85 c0                	test   %eax,%eax
562dba:	74 34                	je     0x562df0
562dbc:	8b 5d 18             	mov    0x18(%ebp),%ebx
562dbf:	8b f0                	mov    %eax,%esi
562dc1:	85 db                	test   %ebx,%ebx
562dc3:	7e 2b                	jle    0x562df0
562dc5:	57                   	push   %edi
562dc6:	56                   	push   %esi
562dc7:	6a 01                	push   $0x1
562dc9:	68 00 40 00 00       	push   $0x4000
562dce:	8b 4c 24 18          	mov    0x18(%esp),%ecx
562dd2:	8b 54 24 14          	mov    0x14(%esp),%edx
562dd6:	8b 44 24 10          	mov    0x10(%esp),%eax
562dda:	e8 65 00 00 00       	call   0x562e44
562ddf:	85 c0                	test   %eax,%eax
562de1:	74 05                	je     0x562de8
562de3:	83 c8 ff             	or     $0xffffffff,%eax
562de6:	eb 52                	jmp    0x562e3a
562de8:	4b                   	dec    %ebx
562de9:	83 c6 2c             	add    $0x2c,%esi
562dec:	85 db                	test   %ebx,%ebx
562dee:	7f d5                	jg     0x562dc5
562df0:	ff 4c 24 1c          	decl   0x1c(%esp)
562df4:	83 c5 28             	add    $0x28,%ebp
562df7:	8b 54 24 1c          	mov    0x1c(%esp),%edx
562dfb:	85 d2                	test   %edx,%edx
562dfd:	7f b6                	jg     0x562db5
562dff:	ff 4c 24 18          	decl   0x18(%esp)
562e03:	83 c7 20             	add    $0x20,%edi
562e06:	8b 4c 24 18          	mov    0x18(%esp),%ecx
562e0a:	85 c9                	test   %ecx,%ecx
562e0c:	7f 8b                	jg     0x562d99
562e0e:	ff 4c 24 14          	decl   0x14(%esp)
562e12:	83 44 24 10 38       	addl   $0x38,0x10(%esp)
562e17:	8b 44 24 14          	mov    0x14(%esp),%eax
562e1b:	85 c0                	test   %eax,%eax
562e1d:	0f 8f 53 ff ff ff    	jg     0x562d76
562e23:	ff 4c 24 0c          	decl   0xc(%esp)
562e27:	83 44 24 08 20       	addl   $0x20,0x8(%esp)
562e2c:	8b 54 24 0c          	mov    0xc(%esp),%edx
562e30:	85 d2                	test   %edx,%edx
562e32:	0f 8f 1b ff ff ff    	jg     0x562d53
562e38:	33 c0                	xor    %eax,%eax
562e3a:	83 c4 20             	add    $0x20,%esp
562e3d:	5d                   	pop    %ebp
562e3e:	5f                   	pop    %edi
562e3f:	5e                   	pop    %esi
562e40:	5b                   	pop    %ebx
562e41:	c3                   	ret
562e42:	90                   	nop
562e43:	90                   	nop
562e44:	55                   	push   %ebp
562e45:	8b ec                	mov    %esp,%ebp
562e47:	83 c4 e0             	add    $0xffffffe0,%esp
562e4a:	53                   	push   %ebx
562e4b:	56                   	push   %esi
562e4c:	57                   	push   %edi
562e4d:	89 4d f4             	mov    %ecx,-0xc(%ebp)
562e50:	89 55 f8             	mov    %edx,-0x8(%ebp)
562e53:	89 45 fc             	mov    %eax,-0x4(%ebp)
562e56:	8b 5d 10             	mov    0x10(%ebp),%ebx
562e59:	8b 45 f8             	mov    -0x8(%ebp),%eax
562e5c:	8b 55 f4             	mov    -0xc(%ebp),%edx
562e5f:	8b 48 24             	mov    0x24(%eax),%ecx
562e62:	2b d1                	sub    %ecx,%edx
562e64:	85 d2                	test   %edx,%edx
562e66:	79 03                	jns    0x562e6b
562e68:	83 c2 1f             	add    $0x1f,%edx
562e6b:	c1 fa 05             	sar    $0x5,%edx
562e6e:	89 55 e8             	mov    %edx,-0x18(%ebp)
562e71:	8b 43 24             	mov    0x24(%ebx),%eax
562e74:	85 c0                	test   %eax,%eax
562e76:	75 23                	jne    0x562e9b
562e78:	8b 73 28             	mov    0x28(%ebx),%esi
562e7b:	8b 56 18             	mov    0x18(%esi),%edx
562e7e:	83 c2 02             	add    $0x2,%edx
562e81:	8b 46 14             	mov    0x14(%esi),%eax
562e84:	83 c0 02             	add    $0x2,%eax
562e87:	e8 34 4e 01 00       	call   0x577cc0
562e8c:	89 43 24             	mov    %eax,0x24(%ebx)
562e8f:	85 c0                	test   %eax,%eax
562e91:	75 08                	jne    0x562e9b
562e93:	83 c8 ff             	or     $0xffffffff,%eax
562e96:	e9 14 05 00 00       	jmp    0x5633af
562e9b:	8b 73 04             	mov    0x4(%ebx),%esi
562e9e:	e9 ab 04 00 00       	jmp    0x56334e
562ea3:	8b 46 0c             	mov    0xc(%esi),%eax
562ea6:	8b 56 10             	mov    0x10(%esi),%edx
562ea9:	3b c2                	cmp    %edx,%eax
562eab:	7d 1e                	jge    0x562ecb
562ead:	8b 4d 0c             	mov    0xc(%ebp),%ecx
562eb0:	85 c9                	test   %ecx,%ecx
562eb2:	75 17                	jne    0x562ecb
562eb4:	68 09 01 00 00       	push   $0x109
562eb9:	68 4a f1 69 00       	push   $0x69f14a
562ebe:	68 1c f1 69 00       	push   $0x69f11c
562ec3:	e8 78 7c ff ff       	call   0x55ab40
562ec8:	83 c4 0c             	add    $0xc,%esp
562ecb:	8b 46 18             	mov    0x18(%esi),%eax
562ece:	85 c0                	test   %eax,%eax
562ed0:	75 17                	jne    0x562ee9
562ed2:	68 0a 01 00 00       	push   $0x10a
562ed7:	68 62 f1 69 00       	push   $0x69f162
562edc:	68 56 f1 69 00       	push   $0x69f156
562ee1:	e8 5a 7c ff ff       	call   0x55ab40
562ee6:	83 c4 0c             	add    $0xc,%esp
562ee9:	8b 46 18             	mov    0x18(%esi),%eax
562eec:	e8 6b 5c 01 00       	call   0x578b5c
562ef1:	33 d2                	xor    %edx,%edx
562ef3:	8b 46 18             	mov    0x18(%esi),%eax
562ef6:	e8 25 61 01 00       	call   0x579020
562efb:	8b 56 14             	mov    0x14(%esi),%edx
562efe:	4a                   	dec    %edx
562eff:	75 49                	jne    0x562f4a
562f01:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
562f04:	85 c9                	test   %ecx,%ecx
562f06:	75 2d                	jne    0x562f35
562f08:	33 d2                	xor    %edx,%edx
562f0a:	b8 13 00 00 00       	mov    $0x13,%eax
562f0f:	e8 a0 eb 00 00       	call   0x571ab4
562f14:	89 43 1c             	mov    %eax,0x1c(%ebx)
562f17:	85 c0                	test   %eax,%eax
562f19:	75 08                	jne    0x562f23
562f1b:	83 c8 ff             	or     $0xffffffff,%eax
562f1e:	e9 8c 04 00 00       	jmp    0x5633af
562f23:	b9 30 14 6b 00       	mov    $0x6b1430,%ecx
562f28:	ba 13 00 00 00       	mov    $0x13,%edx
562f2d:	8b 43 1c             	mov    0x1c(%ebx),%eax
562f30:	e8 bb ec 00 00       	call   0x571bf0
562f35:	8b 56 18             	mov    0x18(%esi),%edx
562f38:	8b 43 1c             	mov    0x1c(%ebx),%eax
562f3b:	e8 ac ec 00 00       	call   0x571bec
562f40:	8b 43 1c             	mov    0x1c(%ebx),%eax
562f43:	e8 04 ec 00 00       	call   0x571b4c
562f48:	eb 51                	jmp    0x562f9b
562f4a:	8b 56 14             	mov    0x14(%esi),%edx
562f4d:	83 fa 02             	cmp    $0x2,%edx
562f50:	74 17                	je     0x562f69
562f52:	68 17 01 00 00       	push   $0x117
562f57:	68 87 f1 69 00       	push   $0x69f187
562f5c:	68 6e f1 69 00       	push   $0x69f16e
562f61:	e8 da 7b ff ff       	call   0x55ab40
562f66:	83 c4 0c             	add    $0xc,%esp
562f69:	8b 4b 20             	mov    0x20(%ebx),%ecx
562f6c:	85 c9                	test   %ecx,%ecx
562f6e:	75 2b                	jne    0x562f9b
562f70:	ba 93 f1 69 00       	mov    $0x69f193,%edx
562f75:	8b 46 18             	mov    0x18(%esi),%eax
562f78:	e8 53 d8 00 00       	call   0x5707d0
562f7d:	89 43 20             	mov    %eax,0x20(%ebx)
562f80:	85 c0                	test   %eax,%eax
562f82:	75 17                	jne    0x562f9b
562f84:	68 1a 01 00 00       	push   $0x11a
562f89:	68 97 f1 69 00       	push   $0x69f197
562f8e:	68 95 f1 69 00       	push   $0x69f195
562f93:	e8 a8 7b ff ff       	call   0x55ab40
562f98:	83 c4 0c             	add    $0xc,%esp
562f9b:	33 d2                	xor    %edx,%edx
562f9d:	89 55 f0             	mov    %edx,-0x10(%ebp)
562fa0:	e9 e1 02 00 00       	jmp    0x563286
562fa5:	8b 4d 14             	mov    0x14(%ebp),%ecx
562fa8:	8b 41 14             	mov    0x14(%ecx),%eax
562fab:	8b 53 10             	mov    0x10(%ebx),%edx
562fae:	3b c2                	cmp    %edx,%eax
562fb0:	7d 61                	jge    0x563013
562fb2:	8b 4d f8             	mov    -0x8(%ebp),%ecx
562fb5:	8b 55 e8             	mov    -0x18(%ebp),%edx
562fb8:	8b 41 20             	mov    0x20(%ecx),%eax
562fbb:	8b ca                	mov    %edx,%ecx
562fbd:	8d 14 d1             	lea    (%ecx,%edx,8),%edx
562fc0:	8b 40 10             	mov    0x10(%eax),%eax
562fc3:	c1 e2 03             	shl    $0x3,%edx
562fc6:	2b d1                	sub    %ecx,%edx
562fc8:	c1 e2 02             	shl    $0x2,%edx
562fcb:	03 c2                	add    %edx,%eax
562fcd:	8a 90 d5 00 00 00    	mov    0xd5(%eax),%dl
562fd3:	84 d2                	test   %dl,%dl
562fd5:	77 14                	ja     0x562feb
562fd7:	68 a3 f1 69 00       	push   $0x69f1a3
562fdc:	68 80 2e 6a 00       	push   $0x6a2e80
562fe1:	e8 e6 70 01 00       	call   0x57a0cc
562fe6:	83 c4 08             	add    $0x8,%esp
562fe9:	eb 28                	jmp    0x563013
562feb:	0f b6 80 d5 00 00 00 	movzbl 0xd5(%eax),%eax
562ff2:	8b 4d 14             	mov    0x14(%ebp),%ecx
562ff5:	8b 51 14             	mov    0x14(%ecx),%edx
562ff8:	2b c2                	sub    %edx,%eax
562ffa:	8b 4b 10             	mov    0x10(%ebx),%ecx
562ffd:	3b c1                	cmp    %ecx,%eax
562fff:	7e 12                	jle    0x563013
563001:	68 c1 f1 69 00       	push   $0x69f1c1
563006:	68 80 2e 6a 00       	push   $0x6a2e80
56300b:	e8 bc 70 01 00       	call   0x57a0cc
563010:	83 c4 08             	add    $0x8,%esp
563013:	8b 46 08             	mov    0x8(%esi),%eax
563016:	8b 55 f0             	mov    -0x10(%ebp),%edx
563019:	03 c2                	add    %edx,%eax
56301b:	8b 4b 18             	mov    0x18(%ebx),%ecx
56301e:	2b c1                	sub    %ecx,%eax
563020:	b9 03 00 00 00       	mov    $0x3,%ecx
563025:	83 c0 02             	add    $0x2,%eax
563028:	99                   	cltd
563029:	f7 f9                	idiv   %ecx
56302b:	8b 53 10             	mov    0x10(%ebx),%edx