561997:	8b 43 04             	mov    0x4(%ebx),%eax
56199a:	85 c0                	test   %eax,%eax
56199c:	77 17                	ja     0x5619b5
56199e:	68 02 05 00 00       	push   $0x502
5619a3:	68 51 ee 69 00       	push   $0x69ee51
5619a8:	68 2e ee 69 00       	push   $0x69ee2e
5619ad:	e8 8e 91 ff ff       	call   0x55ab40
5619b2:	83 c4 0c             	add    $0xc,%esp
5619b5:	8b 53 04             	mov    0x4(%ebx),%edx
5619b8:	8b 45 10             	mov    0x10(%ebp),%eax
5619bb:	03 c2                	add    %edx,%eax
5619bd:	33 d2                	xor    %edx,%edx
5619bf:	48                   	dec    %eax
5619c0:	f7 73 04             	divl   0x4(%ebx)
5619c3:	89 47 0c             	mov    %eax,0xc(%edi)
5619c6:	33 c0                	xor    %eax,%eax
5619c8:	89 47 1c             	mov    %eax,0x1c(%edi)
5619cb:	83 c3 20             	add    $0x20,%ebx
5619ce:	66 ff 04 24          	incw   (%esp)
5619d2:	83 c7 20             	add    $0x20,%edi
5619d5:	0f b7 0c 24          	movzwl (%esp),%ecx
5619d9:	8b 46 38             	mov    0x38(%esi),%eax
5619dc:	3b c8                	cmp    %eax,%ecx
5619de:	0f 8c 23 ff ff ff    	jl     0x561907
5619e4:	ff 44 24 04          	incl   0x4(%esp)
5619e8:	83 c5 38             	add    $0x38,%ebp
5619eb:	8b 54 24 04          	mov    0x4(%esp),%edx
5619ef:	8b 4e 2c             	mov    0x2c(%esi),%ecx
5619f2:	3b d1                	cmp    %ecx,%edx
5619f4:	0f 82 13 fe ff ff    	jb     0x56180d
5619fa:	33 c0                	xor    %eax,%eax
5619fc:	89 46 60             	mov    %eax,0x60(%esi)
5619ff:	33 c0                	xor    %eax,%eax
561a01:	c7 46 54 04 00 00 00 	movl   $0x4,0x54(%esi)
561a08:	59                   	pop    %ecx
561a09:	5a                   	pop    %edx
561a0a:	5d                   	pop    %ebp
561a0b:	5f                   	pop    %edi
561a0c:	5e                   	pop    %esi
561a0d:	5b                   	pop    %ebx
561a0e:	c3                   	ret
561a0f:	90                   	nop
561a10:	83 c2 08             	add    $0x8,%edx
561a13:	8b 48 54             	mov    0x54(%eax),%ecx
561a16:	83 e9 04             	sub    $0x4,%ecx
561a19:	74 07                	je     0x561a22
561a1b:	83 e9 0c             	sub    $0xc,%ecx
561a1e:	74 0c                	je     0x561a2c
561a20:	eb 28                	jmp    0x561a4a
561a22:	8b 40 40             	mov    0x40(%eax),%eax
561a25:	e8 2a 06 00 00       	call   0x562054
561a2a:	eb 1e                	jmp    0x561a4a
561a2c:	8b 48 34             	mov    0x34(%eax),%ecx
561a2f:	85 c9                	test   %ecx,%ecx
561a31:	75 04                	jne    0x561a37
561a33:	83 c8 ff             	or     $0xffffffff,%eax
561a36:	c3                   	ret
561a37:	8b 41 28             	mov    0x28(%ecx),%eax
561a3a:	85 c0                	test   %eax,%eax
561a3c:	74 04                	je     0x561a42
561a3e:	83 c8 ff             	or     $0xffffffff,%eax
561a41:	c3                   	ret
561a42:	8b 41 20             	mov    0x20(%ecx),%eax
561a45:	e8 0a 06 00 00       	call   0x562054
561a4a:	33 c0                	xor    %eax,%eax
561a4c:	c3                   	ret
561a4d:	90                   	nop
561a4e:	90                   	nop
561a4f:	90                   	nop
561a50:	83 c2 08             	add    $0x8,%edx
561a53:	0f b7 0a             	movzwl (%edx),%ecx
561a56:	3b 48 38             	cmp    0x38(%eax),%ecx
561a59:	7e 16                	jle    0x561a71
561a5b:	68 5b ee 69 00       	push   $0x69ee5b
561a60:	68 80 2e 6a 00       	push   $0x6a2e80
561a65:	e8 62 86 01 00       	call   0x57a0cc
561a6a:	83 c4 08             	add    $0x8,%esp
561a6d:	83 c8 ff             	or     $0xffffffff,%eax
561a70:	c3                   	ret
561a71:	8b 48 54             	mov    0x54(%eax),%ecx
561a74:	83 e9 04             	sub    $0x4,%ecx
561a77:	74 07                	je     0x561a80
561a79:	83 e9 0c             	sub    $0xc,%ecx
561a7c:	74 0c                	je     0x561a8a
561a7e:	eb 28                	jmp    0x561aa8
561a80:	8b 40 40             	mov    0x40(%eax),%eax
561a83:	e8 3c 06 00 00       	call   0x5620c4
561a88:	eb 1e                	jmp    0x561aa8
561a8a:	8b 48 34             	mov    0x34(%eax),%ecx
561a8d:	85 c9                	test   %ecx,%ecx
561a8f:	75 04                	jne    0x561a95
561a91:	83 c8 ff             	or     $0xffffffff,%eax
561a94:	c3                   	ret
561a95:	8b 41 28             	mov    0x28(%ecx),%eax
561a98:	85 c0                	test   %eax,%eax
561a9a:	7e 04                	jle    0x561aa0
561a9c:	83 c8 ff             	or     $0xffffffff,%eax
561a9f:	c3                   	ret
561aa0:	8b 41 20             	mov    0x20(%ecx),%eax
561aa3:	e8 1c 06 00 00       	call   0x5620c4
561aa8:	33 c0                	xor    %eax,%eax
561aaa:	c3                   	ret
561aab:	90                   	nop
561aac:	83 c2 08             	add    $0x8,%edx
561aaf:	0f b7 0a             	movzwl (%edx),%ecx
561ab2:	3b 48 38             	cmp    0x38(%eax),%ecx
561ab5:	7e 16                	jle    0x561acd
561ab7:	68 8b ee 69 00       	push   $0x69ee8b
561abc:	68 80 2e 6a 00       	push   $0x6a2e80
561ac1:	e8 06 86 01 00       	call   0x57a0cc
561ac6:	83 c4 08             	add    $0x8,%esp
561ac9:	83 c8 ff             	or     $0xffffffff,%eax
561acc:	c3                   	ret
561acd:	8b 48 54             	mov    0x54(%eax),%ecx
561ad0:	83 e9 04             	sub    $0x4,%ecx
561ad3:	74 07                	je     0x561adc
561ad5:	83 e9 0c             	sub    $0xc,%ecx
561ad8:	74 0c                	je     0x561ae6
561ada:	eb 28                	jmp    0x561b04
561adc:	8b 40 40             	mov    0x40(%eax),%eax
561adf:	e8 24 07 00 00       	call   0x562208
561ae4:	eb 1e                	jmp    0x561b04
561ae6:	8b 48 34             	mov    0x34(%eax),%ecx
561ae9:	85 c9                	test   %ecx,%ecx
561aeb:	75 04                	jne    0x561af1
561aed:	83 c8 ff             	or     $0xffffffff,%eax
561af0:	c3                   	ret
561af1:	8b 41 28             	mov    0x28(%ecx),%eax
561af4:	85 c0                	test   %eax,%eax
561af6:	7e 04                	jle    0x561afc
561af8:	83 c8 ff             	or     $0xffffffff,%eax
561afb:	c3                   	ret
561afc:	8b 41 20             	mov    0x20(%ecx),%eax
561aff:	e8 04 07 00 00       	call   0x562208
561b04:	33 c0                	xor    %eax,%eax
561b06:	c3                   	ret
561b07:	90                   	nop
561b08:	83 c2 08             	add    $0x8,%edx
561b0b:	8b 48 54             	mov    0x54(%eax),%ecx
561b0e:	83 e9 04             	sub    $0x4,%ecx
561b11:	74 07                	je     0x561b1a
561b13:	83 e9 0c             	sub    $0xc,%ecx
561b16:	74 0c                	je     0x561b24
561b18:	eb 28                	jmp    0x561b42
561b1a:	8b 40 40             	mov    0x40(%eax),%eax
561b1d:	e8 3a 06 00 00       	call   0x56215c
561b22:	eb 1e                	jmp    0x561b42
561b24:	8b 48 34             	mov    0x34(%eax),%ecx
561b27:	85 c9                	test   %ecx,%ecx
561b29:	75 04                	jne    0x561b2f
561b2b:	83 c8 ff             	or     $0xffffffff,%eax
561b2e:	c3                   	ret
561b2f:	8b 41 28             	mov    0x28(%ecx),%eax
561b32:	85 c0                	test   %eax,%eax
561b34:	7e 04                	jle    0x561b3a
561b36:	83 c8 ff             	or     $0xffffffff,%eax
561b39:	c3                   	ret
561b3a:	8b 41 20             	mov    0x20(%ecx),%eax
561b3d:	e8 1a 06 00 00       	call   0x56215c
561b42:	33 c0                	xor    %eax,%eax
561b44:	c3                   	ret
561b45:	90                   	nop
561b46:	90                   	nop
561b47:	90                   	nop
561b48:	83 c2 08             	add    $0x8,%edx
561b4b:	0f b7 0a             	movzwl (%edx),%ecx
561b4e:	3b 48 38             	cmp    0x38(%eax),%ecx
561b51:	7e 16                	jle    0x561b69
561b53:	68 bb ee 69 00       	push   $0x69eebb
561b58:	68 80 2e 6a 00       	push   $0x6a2e80
561b5d:	e8 6a 85 01 00       	call   0x57a0cc
561b62:	83 c4 08             	add    $0x8,%esp
561b65:	83 c8 ff             	or     $0xffffffff,%eax
561b68:	c3                   	ret
561b69:	8b 48 54             	mov    0x54(%eax),%ecx
561b6c:	83 e9 04             	sub    $0x4,%ecx
561b6f:	74 07                	je     0x561b78
561b71:	83 e9 0c             	sub    $0xc,%ecx
561b74:	74 0c                	je     0x561b82
561b76:	eb 28                	jmp    0x561ba0
561b78:	8b 40 40             	mov    0x40(%eax),%eax
561b7b:	e8 14 06 00 00       	call   0x562194
561b80:	eb 1e                	jmp    0x561ba0
561b82:	8b 48 34             	mov    0x34(%eax),%ecx
561b85:	85 c9                	test   %ecx,%ecx
561b87:	75 04                	jne    0x561b8d
561b89:	83 c8 ff             	or     $0xffffffff,%eax
561b8c:	c3                   	ret
561b8d:	8b 41 28             	mov    0x28(%ecx),%eax
561b90:	85 c0                	test   %eax,%eax
561b92:	7e 04                	jle    0x561b98
561b94:	83 c8 ff             	or     $0xffffffff,%eax
561b97:	c3                   	ret
561b98:	8b 41 20             	mov    0x20(%ecx),%eax
561b9b:	e8 f4 05 00 00       	call   0x562194
561ba0:	33 c0                	xor    %eax,%eax
561ba2:	c3                   	ret
561ba3:	90                   	nop
561ba4:	53                   	push   %ebx
561ba5:	56                   	push   %esi
561ba6:	57                   	push   %edi
561ba7:	8b f0                	mov    %eax,%esi
561ba9:	8d 5a 08             	lea    0x8(%edx),%ebx
561bac:	8b 46 54             	mov    0x54(%esi),%eax
561baf:	83 e8 04             	sub    $0x4,%eax
561bb2:	74 07                	je     0x561bbb
561bb4:	83 e8 0c             	sub    $0xc,%eax
561bb7:	74 1a                	je     0x561bd3
561bb9:	eb 51                	jmp    0x561c0c
561bbb:	b9 01 00 00 00       	mov    $0x1,%ecx
561bc0:	8b d3                	mov    %ebx,%edx
561bc2:	8b 46 40             	mov    0x40(%esi),%eax
561bc5:	e8 ae 06 00 00       	call   0x562278
561bca:	85 c0                	test   %eax,%eax
561bcc:	74 3e                	je     0x561c0c
561bce:	83 c8 ff             	or     $0xffffffff,%eax
561bd1:	eb 3b                	jmp    0x561c0e
561bd3:	8b 7e 34             	mov    0x34(%esi),%edi
561bd6:	85 ff                	test   %edi,%edi
561bd8:	75 05                	jne    0x561bdf
561bda:	83 c8 ff             	or     $0xffffffff,%eax
561bdd:	eb 2f                	jmp    0x561c0e
561bdf:	8b 77 28             	mov    0x28(%edi),%esi
561be2:	83 fe 01             	cmp    $0x1,%esi
561be5:	1b f6                	sbb    %esi,%esi
561be7:	f7 de                	neg    %esi
561be9:	85 f6                	test   %esi,%esi
561beb:	74 15                	je     0x561c02
561bed:	8b ce                	mov    %esi,%ecx
561bef:	8b 47 20             	mov    0x20(%edi),%eax
561bf2:	8b d3                	mov    %ebx,%edx
561bf4:	e8 7f 06 00 00       	call   0x562278
561bf9:	85 c0                	test   %eax,%eax
561bfb:	74 0f                	je     0x561c0c
561bfd:	83 c8 ff             	or     $0xffffffff,%eax
561c00:	eb 0c                	jmp    0x561c0e
561c02:	8b 47 34             	mov    0x34(%edi),%eax
561c05:	8b d3                	mov    %ebx,%edx
561c07:	e8 20 06 00 00       	call   0x56222c
561c0c:	33 c0                	xor    %eax,%eax
561c0e:	5f                   	pop    %edi
561c0f:	5e                   	pop    %esi
561c10:	5b                   	pop    %ebx
561c11:	c3                   	ret
561c12:	90                   	nop
561c13:	90                   	nop
561c14:	53                   	push   %ebx
561c15:	56                   	push   %esi
561c16:	57                   	push   %edi
561c17:	8b f8                	mov    %eax,%edi
561c19:	8d 5a 08             	lea    0x8(%edx),%ebx
561c1c:	8b 47 5c             	mov    0x5c(%edi),%eax
561c1f:	85 c0                	test   %eax,%eax
561c21:	75 11                	jne    0x561c34
561c23:	e8 28 0e 00 00       	call   0x562a50
561c28:	89 47 5c             	mov    %eax,0x5c(%edi)
561c2b:	85 c0                	test   %eax,%eax
561c2d:	75 05                	jne    0x561c34
561c2f:	83 c8 ff             	or     $0xffffffff,%eax
561c32:	eb 3e                	jmp    0x561c72
561c34:	e8 ab 10 00 00       	call   0x562ce4
561c39:	8b f0                	mov    %eax,%esi
561c3b:	85 c0                	test   %eax,%eax
561c3d:	75 05                	jne    0x561c44
561c3f:	83 c8 ff             	or     $0xffffffff,%eax
561c42:	eb 2e                	jmp    0x561c72
561c44:	33 d2                	xor    %edx,%edx
561c46:	33 c0                	xor    %eax,%eax
561c48:	8a 13                	mov    (%ebx),%dl
561c4a:	66 89 16             	mov    %dx,(%esi)
561c4d:	8b 4b 04             	mov    0x4(%ebx),%ecx
561c50:	89 4e 08             	mov    %ecx,0x8(%esi)
561c53:	89 43 04             	mov    %eax,0x4(%ebx)
561c56:	0f b7 53 02          	movzwl 0x2(%ebx),%edx
561c5a:	89 56 04             	mov    %edx,0x4(%esi)
561c5d:	8b d6                	mov    %esi,%edx
561c5f:	8b 47 5c             	mov    0x5c(%edi),%eax
561c62:	e8 85 0e 00 00       	call   0x562aec
561c67:	85 c0                	test   %eax,%eax
561c69:	74 05                	je     0x561c70
561c6b:	83 c8 ff             	or     $0xffffffff,%eax
561c6e:	eb 02                	jmp    0x561c72
561c70:	33 c0                	xor    %eax,%eax
561c72:	5f                   	pop    %edi
561c73:	5e                   	pop    %esi
561c74:	5b                   	pop    %ebx
561c75:	c3                   	ret
561c76:	90                   	nop
561c77:	90                   	nop
561c78:	53                   	push   %ebx
561c79:	56                   	push   %esi
561c7a:	57                   	push   %edi
561c7b:	8d 5a 08             	lea    0x8(%edx),%ebx
561c7e:	8b 78 34             	mov    0x34(%eax),%edi
561c81:	8b 47 14             	mov    0x14(%edi),%eax
561c84:	85 c0                	test   %eax,%eax
561c86:	75 11                	jne    0x561c99
561c88:	e8 c3 0d 00 00       	call   0x562a50
561c8d:	89 47 14             	mov    %eax,0x14(%edi)
561c90:	85 c0                	test   %eax,%eax
561c92:	75 05                	jne    0x561c99
561c94:	83 c8 ff             	or     $0xffffffff,%eax
561c97:	eb 3d                	jmp    0x561cd6
561c99:	e8 46 10 00 00       	call   0x562ce4
561c9e:	8b f0                	mov    %eax,%esi
561ca0:	85 c0                	test   %eax,%eax
561ca2:	75 05                	jne    0x561ca9
561ca4:	83 c8 ff             	or     $0xffffffff,%eax
561ca7:	eb 2d                	jmp    0x561cd6
561ca9:	33 d2                	xor    %edx,%edx
561cab:	33 c0                	xor    %eax,%eax
561cad:	8a 13                	mov    (%ebx),%dl
561caf:	66 89 16             	mov    %dx,(%esi)
561cb2:	8b 4b 08             	mov    0x8(%ebx),%ecx
561cb5:	89 4e 08             	mov    %ecx,0x8(%esi)
561cb8:	89 43 08             	mov    %eax,0x8(%ebx)
561cbb:	8b 53 04             	mov    0x4(%ebx),%edx
561cbe:	89 56 04             	mov    %edx,0x4(%esi)
561cc1:	8b d6                	mov    %esi,%edx
561cc3:	8b 47 14             	mov    0x14(%edi),%eax
561cc6:	e8 21 0e 00 00       	call   0x562aec
561ccb:	85 c0                	test   %eax,%eax
561ccd:	74 05                	je     0x561cd4
561ccf:	83 c8 ff             	or     $0xffffffff,%eax
561cd2:	eb 02                	jmp    0x561cd6
561cd4:	33 c0                	xor    %eax,%eax
561cd6:	5f                   	pop    %edi
561cd7:	5e                   	pop    %esi
561cd8:	5b                   	pop    %ebx
561cd9:	c3                   	ret
561cda:	90                   	nop
561cdb:	90                   	nop
561cdc:	33 c0                	xor    %eax,%eax
561cde:	c3                   	ret
561cdf:	90                   	nop
561ce0:	53                   	push   %ebx
561ce1:	8b da                	mov    %edx,%ebx
561ce3:	68 eb ee 69 00       	push   $0x69eeeb
561ce8:	68 80 2e 6a 00       	push   $0x6a2e80
561ced:	e8 da 83 01 00       	call   0x57a0cc
561cf2:	83 c4 08             	add    $0x8,%esp
561cf5:	ba 80 2e 6a 00       	mov    $0x6a2e80,%edx
561cfa:	8b c3                	mov    %ebx,%eax
561cfc:	e8 47 43 01 00       	call   0x576048
561d01:	33 c0                	xor    %eax,%eax
561d03:	5b                   	pop    %ebx
561d04:	c3                   	ret
561d05:	90                   	nop
561d06:	90                   	nop
561d07:	90                   	nop