561d08:	53                   	push   %ebx
561d09:	56                   	push   %esi
561d0a:	8b f0                	mov    %eax,%esi
561d0c:	b8 14 00 00 00       	mov    $0x14,%eax
561d11:	e8 66 66 01 00       	call   0x57837c
561d16:	8b d8                	mov    %eax,%ebx
561d18:	85 c0                	test   %eax,%eax
561d1a:	75 05                	jne    0x561d21
561d1c:	33 c0                	xor    %eax,%eax
561d1e:	5e                   	pop    %esi
561d1f:	5b                   	pop    %ebx
561d20:	c3                   	ret
561d21:	33 d2                	xor    %edx,%edx
561d23:	89 13                	mov    %edx,(%ebx)
561d25:	66 89 73 0e          	mov    %si,0xe(%ebx)
561d29:	c6 43 08 00          	movb   $0x0,0x8(%ebx)
561d2d:	66 c7 43 0a 00 00    	movw   $0x0,0xa(%ebx)
561d33:	c6 43 0c 00          	movb   $0x0,0xc(%ebx)
561d37:	c6 43 0d 00          	movb   $0x0,0xd(%ebx)
561d3b:	0f b7 4b 0e          	movzwl 0xe(%ebx),%ecx
561d3f:	8d 04 c9             	lea    (%ecx,%ecx,8),%eax
561d42:	c1 e0 03             	shl    $0x3,%eax
561d45:	2b c1                	sub    %ecx,%eax
561d47:	c1 e0 02             	shl    $0x2,%eax
561d4a:	e8 2d 66 01 00       	call   0x57837c
561d4f:	89 43 10             	mov    %eax,0x10(%ebx)
561d52:	85 c0                	test   %eax,%eax
561d54:	75 05                	jne    0x561d5b
561d56:	33 c0                	xor    %eax,%eax
561d58:	5e                   	pop    %esi
561d59:	5b                   	pop    %ebx
561d5a:	c3                   	ret
561d5b:	e8 b8 ae 00 00       	call   0x56cc18
561d60:	89 43 04             	mov    %eax,0x4(%ebx)
561d63:	85 c0                	test   %eax,%eax
561d65:	75 0d                	jne    0x561d74
561d67:	8b 43 10             	mov    0x10(%ebx),%eax
561d6a:	e8 15 66 01 00       	call   0x578384
561d6f:	33 c0                	xor    %eax,%eax
561d71:	5e                   	pop    %esi
561d72:	5b                   	pop    %ebx
561d73:	c3                   	ret
561d74:	33 d2                	xor    %edx,%edx
561d76:	8b 43 10             	mov    0x10(%ebx),%eax
561d79:	eb 35                	jmp    0x561db0
561d7b:	33 c9                	xor    %ecx,%ecx
561d7d:	42                   	inc    %edx
561d7e:	89 08                	mov    %ecx,(%eax)
561d80:	c6 40 05 00          	movb   $0x0,0x5(%eax)
561d84:	c6 40 06 00          	movb   $0x0,0x6(%eax)
561d88:	c6 40 07 00          	movb   $0x0,0x7(%eax)
561d8c:	c6 40 08 00          	movb   $0x0,0x8(%eax)
561d90:	66 c7 40 0a 00 00    	movw   $0x0,0xa(%eax)
561d96:	c6 80 d4 00 00 00 00 	movb   $0x0,0xd4(%eax)
561d9d:	c6 80 d5 00 00 00 00 	movb   $0x0,0xd5(%eax)
561da4:	c6 80 d6 00 00 00 00 	movb   $0x0,0xd6(%eax)
561dab:	05 1c 01 00 00       	add    $0x11c,%eax
561db0:	0f b7 4b 0e          	movzwl 0xe(%ebx),%ecx
561db4:	3b d1                	cmp    %ecx,%edx
561db6:	7c c3                	jl     0x561d7b
561db8:	8b c3                	mov    %ebx,%eax
561dba:	5e                   	pop    %esi
561dbb:	5b                   	pop    %ebx
561dbc:	c3                   	ret
561dbd:	90                   	nop
561dbe:	90                   	nop
561dbf:	90                   	nop
561dc0:	53                   	push   %ebx
561dc1:	8b d8                	mov    %eax,%ebx
561dc3:	56                   	push   %esi
561dc4:	57                   	push   %edi
561dc5:	51                   	push   %ecx
561dc6:	66 8b 43 0e          	mov    0xe(%ebx),%ax
561dca:	e8 39 ff ff ff       	call   0x561d08
561dcf:	8b f0                	mov    %eax,%esi
561dd1:	85 c0                	test   %eax,%eax
561dd3:	75 04                	jne    0x561dd9
561dd5:	33 c0                	xor    %eax,%eax
561dd7:	eb 7a                	jmp    0x561e53
561dd9:	8b 13                	mov    (%ebx),%edx
561ddb:	89 16                	mov    %edx,(%esi)
561ddd:	8a 4b 08             	mov    0x8(%ebx),%cl
561de0:	88 4e 08             	mov    %cl,0x8(%esi)
561de3:	66 8b 43 0a          	mov    0xa(%ebx),%ax
561de7:	66 89 46 0a          	mov    %ax,0xa(%esi)
561deb:	8a 53 0c             	mov    0xc(%ebx),%dl
561dee:	88 56 0c             	mov    %dl,0xc(%esi)
561df1:	8a 4b 0d             	mov    0xd(%ebx),%cl
561df4:	88 4e 0d             	mov    %cl,0xd(%esi)
561df7:	8b 46 04             	mov    0x4(%esi),%eax
561dfa:	e8 79 af 00 00       	call   0x56cd78
561dff:	33 d2                	xor    %edx,%edx
561e01:	89 56 04             	mov    %edx,0x4(%esi)
561e04:	8b 43 04             	mov    0x4(%ebx),%eax
561e07:	e8 18 af 00 00       	call   0x56cd24
561e0c:	89 46 04             	mov    %eax,0x4(%esi)
561e0f:	85 c0                	test   %eax,%eax
561e11:	75 0b                	jne    0x561e1e
561e13:	8b c6                	mov    %esi,%eax
561e15:	e8 6a 65 01 00       	call   0x578384
561e1a:	33 c0                	xor    %eax,%eax
561e1c:	eb 35                	jmp    0x561e53
561e1e:	33 d2                	xor    %edx,%edx
561e20:	89 14 24             	mov    %edx,(%esp)
561e23:	8b 56 10             	mov    0x10(%esi),%edx
561e26:	8b 43 10             	mov    0x10(%ebx),%eax
561e29:	eb 1b                	jmp    0x561e46
561e2b:	56                   	push   %esi
561e2c:	8b f0                	mov    %eax,%esi
561e2e:	8b fa                	mov    %edx,%edi
561e30:	b9 47 00 00 00       	mov    $0x47,%ecx
561e35:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
561e37:	5e                   	pop    %esi
561e38:	ff 04 24             	incl   (%esp)
561e3b:	81 c2 1c 01 00 00    	add    $0x11c,%edx
561e41:	05 1c 01 00 00       	add    $0x11c,%eax
561e46:	0f b7 4b 0e          	movzwl 0xe(%ebx),%ecx
561e4a:	8b 3c 24             	mov    (%esp),%edi
561e4d:	3b cf                	cmp    %edi,%ecx
561e4f:	7f da                	jg     0x561e2b
561e51:	8b c6                	mov    %esi,%eax
561e53:	5a                   	pop    %edx
561e54:	5f                   	pop    %edi
561e55:	5e                   	pop    %esi
561e56:	5b                   	pop    %ebx
561e57:	c3                   	ret
561e58:	53                   	push   %ebx
561e59:	83 20 03             	andl   $0x3,(%eax)
561e5c:	33 c9                	xor    %ecx,%ecx
561e5e:	8b 50 10             	mov    0x10(%eax),%edx
561e61:	eb 0b                	jmp    0x561e6e
561e63:	33 db                	xor    %ebx,%ebx
561e65:	41                   	inc    %ecx
561e66:	89 1a                	mov    %ebx,(%edx)
561e68:	81 c2 1c 01 00 00    	add    $0x11c,%edx
561e6e:	0f b7 58 0e          	movzwl 0xe(%eax),%ebx
561e72:	3b cb                	cmp    %ebx,%ecx
561e74:	7c ed                	jl     0x561e63
561e76:	5b                   	pop    %ebx
561e77:	c3                   	ret
561e78:	53                   	push   %ebx
561e79:	8b d8                	mov    %eax,%ebx
561e7b:	8b 43 10             	mov    0x10(%ebx),%eax
561e7e:	85 c0                	test   %eax,%eax
561e80:	74 05                	je     0x561e87
561e82:	e8 fd 64 01 00       	call   0x578384
561e87:	8b 43 04             	mov    0x4(%ebx),%eax
561e8a:	85 c0                	test   %eax,%eax
561e8c:	74 05                	je     0x561e93
561e8e:	e8 e5 ae 00 00       	call   0x56cd78
561e93:	8b c3                	mov    %ebx,%eax
561e95:	e8 ea 64 01 00       	call   0x578384
561e9a:	5b                   	pop    %ebx
561e9b:	c3                   	ret
561e9c:	53                   	push   %ebx
561e9d:	8b 10                	mov    (%eax),%edx
561e9f:	f6 c2 01             	test   $0x1,%dl
561ea2:	74 05                	je     0x561ea9
561ea4:	f6 c2 02             	test   $0x2,%dl
561ea7:	75 04                	jne    0x561ead
561ea9:	33 c0                	xor    %eax,%eax
561eab:	5b                   	pop    %ebx
561eac:	c3                   	ret
561ead:	66 8b 50 0e          	mov    0xe(%eax),%dx
561eb1:	8b 40 10             	mov    0x10(%eax),%eax
561eb4:	66 85 d2             	test   %dx,%dx
561eb7:	76 39                	jbe    0x561ef2
561eb9:	8a 48 09             	mov    0x9(%eax),%cl
561ebc:	80 f9 01             	cmp    $0x1,%cl
561ebf:	74 13                	je     0x561ed4
561ec1:	0f b7 48 0a          	movzwl 0xa(%eax),%ecx
561ec5:	33 db                	xor    %ebx,%ebx
561ec7:	8a 58 05             	mov    0x5(%eax),%bl
561eca:	8d 1c 5b             	lea    (%ebx,%ebx,2),%ebx
561ecd:	83 c3 fe             	add    $0xfffffffe,%ebx
561ed0:	3b cb                	cmp    %ebx,%ecx
561ed2:	7c 0f                	jl     0x561ee3
561ed4:	8a 48 09             	mov    0x9(%eax),%cl
561ed7:	80 f9 01             	cmp    $0x1,%cl
561eda:	75 0b                	jne    0x561ee7
561edc:	66 83 78 0a 01       	cmpw   $0x1,0xa(%eax)
561ee1:	74 04                	je     0x561ee7
561ee3:	33 c0                	xor    %eax,%eax
561ee5:	5b                   	pop    %ebx
561ee6:	c3                   	ret
561ee7:	4a                   	dec    %edx
561ee8:	05 1c 01 00 00       	add    $0x11c,%eax
561eed:	66 85 d2             	test   %dx,%dx
561ef0:	77 c7                	ja     0x561eb9
561ef2:	b8 01 00 00 00       	mov    $0x1,%eax
561ef7:	5b                   	pop    %ebx
561ef8:	c3                   	ret
561ef9:	90                   	nop
561efa:	90                   	nop
561efb:	90                   	nop
561efc:	53                   	push   %ebx
561efd:	56                   	push   %esi
561efe:	57                   	push   %edi
561eff:	55                   	push   %ebp
561f00:	0f b7 e8             	movzwl %ax,%ebp
561f03:	83 c4 f4             	add    $0xfffffff4,%esp
561f06:	8b f2                	mov    %edx,%esi
561f08:	66 25 ff 07          	and    $0x7ff,%ax
561f0c:	33 db                	xor    %ebx,%ebx
561f0e:	89 0c 24             	mov    %ecx,(%esp)
561f11:	66 89 44 24 08       	mov    %ax,0x8(%esp)
561f16:	8d 04 76             	lea    (%esi,%esi,2),%eax
561f19:	83 c0 fe             	add    $0xfffffffe,%eax
561f1c:	89 44 24 04          	mov    %eax,0x4(%esp)
561f20:	8b 04 24             	mov    (%esp),%eax
561f23:	8b f8                	mov    %eax,%edi
561f25:	8b 44 24 04          	mov    0x4(%esp),%eax
561f29:	c1 fd 0b             	sar    $0xb,%ebp
561f2c:	3b d8                	cmp    %eax,%ebx
561f2e:	0f 8d b5 00 00 00    	jge    0x561fe9
561f34:	85 db                	test   %ebx,%ebx
561f36:	7e 0d                	jle    0x561f45
561f38:	8d 43 02             	lea    0x2(%ebx),%eax
561f3b:	b9 03 00 00 00       	mov    $0x3,%ecx
561f40:	99                   	cltd
561f41:	f7 f9                	idiv   %ecx
561f43:	eb 02                	jmp    0x561f47
561f45:	33 c0                	xor    %eax,%eax
561f47:	0f b7 cd             	movzwl %bp,%ecx
561f4a:	03 ce                	add    %esi,%ecx
561f4c:	8d 56 ff             	lea    -0x1(%esi),%edx
561f4f:	2b d0                	sub    %eax,%edx
561f51:	49                   	dec    %ecx
561f52:	2b ca                	sub    %edx,%ecx
561f54:	f7 c1 e0 ff ff ff    	test   $0xffffffe0,%ecx
561f5a:	74 17                	je     0x561f73
561f5c:	68 61 06 00 00       	push   $0x661
561f61:	68 96 ef 69 00       	push   $0x69ef96
561f66:	68 34 ef 69 00       	push   $0x69ef34
561f6b:	e8 d0 8b ff ff       	call   0x55ab40
561f70:	83 c4 0c             	add    $0xc,%esp
561f73:	85 db                	test   %ebx,%ebx
561f75:	7e 0d                	jle    0x561f84
561f77:	8d 43 02             	lea    0x2(%ebx),%eax
561f7a:	b9 03 00 00 00       	mov    $0x3,%ecx
561f7f:	99                   	cltd
561f80:	f7 f9                	idiv   %ecx
561f82:	eb 02                	jmp    0x561f86
561f84:	33 c0                	xor    %eax,%eax
561f86:	8b d6                	mov    %esi,%edx
561f88:	66 81 c2 ff ff       	add    $0xffff,%dx
561f8d:	66 2b d0             	sub    %ax,%dx
561f90:	8b ce                	mov    %esi,%ecx
561f92:	66 03 cd             	add    %bp,%cx
561f95:	66 81 c1 ff ff       	add    $0xffff,%cx
561f9a:	66 2b ca             	sub    %dx,%cx
561f9d:	66 83 e1 1f          	and    $0x1f,%cx
561fa1:	c1 e1 0b             	shl    $0xb,%ecx
561fa4:	51                   	push   %ecx
561fa5:	0f b7 44 24 0c       	movzwl 0xc(%esp),%eax
561faa:	a9 00 f8 ff ff       	test   $0xfffff800,%eax
561faf:	74 17                	je     0x561fc8
561fb1:	68 60 06 00 00       	push   $0x660
561fb6:	68 2a ef 69 00       	push   $0x69ef2a
561fbb:	68 15 ef 69 00       	push   $0x69ef15
561fc0:	e8 7b 8b ff ff       	call   0x55ab40
561fc5:	83 c4 0c             	add    $0xc,%esp
561fc8:	66 8b 54 24 0c       	mov    0xc(%esp),%dx
561fcd:	66 81 e2 ff 07       	and    $0x7ff,%dx
561fd2:	59                   	pop    %ecx
561fd3:	66 0b ca             	or     %dx,%cx
561fd6:	66 89 0f             	mov    %cx,(%edi)
561fd9:	43                   	inc    %ebx
561fda:	83 c7 02             	add    $0x2,%edi
561fdd:	8b 44 24 04          	mov    0x4(%esp),%eax
561fe1:	3b d8                	cmp    %eax,%ebx
561fe3:	0f 8c 4b ff ff ff    	jl     0x561f34
561fe9:	83 c4 0c             	add    $0xc,%esp
561fec:	5d                   	pop    %ebp
561fed:	5f                   	pop    %edi
561fee:	5e                   	pop    %esi
561fef:	5b                   	pop    %ebx
561ff0:	c3                   	ret
561ff1:	90                   	nop
561ff2:	90                   	nop
561ff3:	90                   	nop
561ff4:	53                   	push   %ebx
561ff5:	56                   	push   %esi
561ff6:	51                   	push   %ecx
561ff7:	89 04 24             	mov    %eax,(%esp)
561ffa:	33 f6                	xor    %esi,%esi
561ffc:	8b 04 24             	mov    (%esp),%eax
561fff:	8b 58 10             	mov    0x10(%eax),%ebx
562002:	eb 3c                	jmp    0x562040
562004:	f6 43 04 01          	testb  $0x1,0x4(%ebx)
562008:	75 16                	jne    0x562020
56200a:	33 d2                	xor    %edx,%edx
56200c:	8d 83 d7 00 00 00    	lea    0xd7(%ebx),%eax
562012:	c6 00 0f             	movb   $0xf,(%eax)
562015:	c6 40 21 0f          	movb   $0xf,0x21(%eax)
562019:	42                   	inc    %edx
56201a:	40                   	inc    %eax
56201b:	83 fa 21             	cmp    $0x21,%edx
56201e:	7c f2                	jl     0x562012
562020:	8a 4b 09             	mov    0x9(%ebx),%cl
562023:	80 f9 01             	cmp    $0x1,%cl
562026:	75 11                	jne    0x562039
562028:	8d 4b 0c             	lea    0xc(%ebx),%ecx
56202b:	33 d2                	xor    %edx,%edx
56202d:	8a 53 05             	mov    0x5(%ebx),%dl
562030:	66 8b 43 0c          	mov    0xc(%ebx),%ax
562034:	e8 c3 fe ff ff       	call   0x561efc
562039:	46                   	inc    %esi
56203a:	81 c3 1c 01 00 00    	add    $0x11c,%ebx
562040:	8b 04 24             	mov    (%esp),%eax
562043:	0f b7 50 0e          	movzwl 0xe(%eax),%edx
562047:	3b f2                	cmp    %edx,%esi
562049:	7c b9                	jl     0x562004
56204b:	33 c0                	xor    %eax,%eax
56204d:	5a                   	pop    %edx
56204e:	5e                   	pop    %esi
56204f:	5b                   	pop    %ebx
562050:	c3                   	ret
562051:	90                   	nop
562052:	90                   	nop
562053:	90                   	nop
562054:	53                   	push   %ebx
562055:	8b d8                	mov    %eax,%ebx
562057:	56                   	push   %esi
562058:	57                   	push   %edi
562059:	55                   	push   %ebp
56205a:	8b ea                	mov    %edx,%ebp
56205c:	83 0b 01             	orl    $0x1,(%ebx)
56205f:	8a 45 01             	mov    0x1(%ebp),%al
562062:	88 43 08             	mov    %al,0x8(%ebx)
562065:	8a 55 04             	mov    0x4(%ebp),%dl
562068:	84 d2                	test   %dl,%dl
56206a:	74 12                	je     0x56207e
56206c:	8a 4d 0d             	mov    0xd(%ebp),%cl
56206f:	84 c9                	test   %cl,%cl
562071:	75 04                	jne    0x562077
562073:	b0 01                	mov    $0x1,%al
562075:	eb 02                	jmp    0x562079
562077:	b0 02                	mov    $0x2,%al
562079:	88 43 0c             	mov    %al,0xc(%ebx)
56207c:	eb 04                	jmp    0x562082
56207e:	c6 43 0c 00          	movb   $0x0,0xc(%ebx)
562082:	66 8b 55 02          	mov    0x2(%ebp),%dx
562086:	66 89 53 0a          	mov    %dx,0xa(%ebx)
56208a:	8a 4d 00             	mov    0x0(%ebp),%cl
56208d:	80 e1 06             	and    $0x6,%cl
562090:	88 4b 0d             	mov    %cl,0xd(%ebx)
562093:	33 ff                	xor    %edi,%edi
562095:	8b 73 10             	mov    0x10(%ebx),%esi
562098:	eb 15                	jmp    0x5620af