5608d8:	8b 54 24 18          	mov    0x18(%esp),%edx
5608dc:	8b 47 0c             	mov    0xc(%edi),%eax
5608df:	c1 f8 0b             	sar    $0xb,%eax
5608e2:	8a 8a d4 00 00 00    	mov    0xd4(%edx),%cl
5608e8:	03 c8                	add    %eax,%ecx
5608ea:	49                   	dec    %ecx
5608eb:	89 4f 14             	mov    %ecx,0x14(%edi)
5608ee:	33 c9                	xor    %ecx,%ecx
5608f0:	8b 54 24 18          	mov    0x18(%esp),%edx
5608f4:	8b 47 14             	mov    0x14(%edi),%eax
5608f7:	8a 8a d5 00 00 00    	mov    0xd5(%edx),%cl
5608fd:	03 c8                	add    %eax,%ecx
5608ff:	83 f9 20             	cmp    $0x20,%ecx
560902:	7c 0c                	jl     0x560910
560904:	ba 1f 00 00 00       	mov    $0x1f,%edx
560909:	8b 4f 14             	mov    0x14(%edi),%ecx
56090c:	2b d1                	sub    %ecx,%edx
56090e:	eb 0c                	jmp    0x56091c
560910:	8b 44 24 18          	mov    0x18(%esp),%eax
560914:	33 d2                	xor    %edx,%edx
560916:	8a 90 d5 00 00 00    	mov    0xd5(%eax),%dl
56091c:	89 57 1c             	mov    %edx,0x1c(%edi)
56091f:	33 c9                	xor    %ecx,%ecx
560921:	89 4f 04             	mov    %ecx,0x4(%edi)
560924:	33 c0                	xor    %eax,%eax
560926:	89 07                	mov    %eax,(%edi)
560928:	8b 13                	mov    (%ebx),%edx
56092a:	8b 4b 08             	mov    0x8(%ebx),%ecx
56092d:	3b d1                	cmp    %ecx,%edx
56092f:	0f 84 69 04 00 00    	je     0x560d9e
560935:	8b 43 04             	mov    0x4(%ebx),%eax
560938:	8b 53 0c             	mov    0xc(%ebx),%edx
56093b:	3b c2                	cmp    %edx,%eax
56093d:	0f 84 5b 04 00 00    	je     0x560d9e
560943:	6a 00                	push   $0x0
560945:	33 c9                	xor    %ecx,%ecx
560947:	33 d2                	xor    %edx,%edx
560949:	33 c0                	xor    %eax,%eax
56094b:	e8 08 73 01 00       	call   0x577c58
560950:	89 47 04             	mov    %eax,0x4(%edi)
560953:	85 c0                	test   %eax,%eax
560955:	75 08                	jne    0x56095f
560957:	83 c8 ff             	or     $0xffffffff,%eax
56095a:	e9 42 05 00 00       	jmp    0x560ea1
56095f:	8b 53 18             	mov    0x18(%ebx),%edx
560962:	52                   	push   %edx
560963:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
560966:	51                   	push   %ecx
560967:	8b 43 20             	mov    0x20(%ebx),%eax
56096a:	50                   	push   %eax
56096b:	8b 4b 14             	mov    0x14(%ebx),%ecx
56096e:	8b 54 24 14          	mov    0x14(%esp),%edx
560972:	8b 52 10             	mov    0x10(%edx),%edx
560975:	8b 47 04             	mov    0x4(%edi),%eax
560978:	e8 0f 75 01 00       	call   0x577e8c
56097d:	8b 0b                	mov    (%ebx),%ecx
56097f:	8b 47 04             	mov    0x4(%edi),%eax
560982:	89 48 04             	mov    %ecx,0x4(%eax)
560985:	8b 53 04             	mov    0x4(%ebx),%edx
560988:	89 50 08             	mov    %edx,0x8(%eax)
56098b:	8b 48 04             	mov    0x4(%eax),%ecx
56098e:	8b 50 18             	mov    0x18(%eax),%edx
560991:	03 ca                	add    %edx,%ecx
560993:	89 48 0c             	mov    %ecx,0xc(%eax)
560996:	8b 48 08             	mov    0x8(%eax),%ecx
560999:	8b 50 14             	mov    0x14(%eax),%edx
56099c:	03 ca                	add    %edx,%ecx
56099e:	89 48 10             	mov    %ecx,0x10(%eax)
5609a1:	8b 46 28             	mov    0x28(%esi),%eax
5609a4:	85 c0                	test   %eax,%eax
5609a6:	75 17                	jne    0x5609bf
5609a8:	68 49 03 00 00       	push   $0x349
5609ad:	68 99 ea 69 00       	push   $0x69ea99
5609b2:	68 8b ea 69 00       	push   $0x69ea8b
5609b7:	e8 84 a1 ff ff       	call   0x55ab40
5609bc:	83 c4 0c             	add    $0xc,%esp
5609bf:	8b 46 28             	mov    0x28(%esi),%eax
5609c2:	c1 e0 03             	shl    $0x3,%eax
5609c5:	8d 04 80             	lea    (%eax,%eax,4),%eax
5609c8:	e8 af 79 01 00       	call   0x57837c
5609cd:	89 07                	mov    %eax,(%edi)
5609cf:	85 c0                	test   %eax,%eax
5609d1:	75 08                	jne    0x5609db
5609d3:	83 c8 ff             	or     $0xffffffff,%eax
5609d6:	e9 c6 04 00 00       	jmp    0x560ea1
5609db:	8b 54 24 34          	mov    0x34(%esp),%edx
5609df:	89 54 24 44          	mov    %edx,0x44(%esp)
5609e3:	8b 4c 24 38          	mov    0x38(%esp),%ecx
5609e7:	89 4c 24 48          	mov    %ecx,0x48(%esp)
5609eb:	8b 46 28             	mov    0x28(%esi),%eax
5609ee:	89 44 24 1c          	mov    %eax,0x1c(%esp)
5609f2:	8b 1f                	mov    (%edi),%ebx
5609f4:	8b 44 24 1c          	mov    0x1c(%esp),%eax
5609f8:	85 c0                	test   %eax,%eax
5609fa:	0f 8e 9e 03 00 00    	jle    0x560d9e
560a00:	8b 4e 2c             	mov    0x2c(%esi),%ecx
560a03:	ba 01 00 00 00       	mov    $0x1,%edx
560a08:	d3 e2                	shl    %cl,%edx
560a0a:	8b 44 24 44          	mov    0x44(%esp),%eax
560a0e:	03 d0                	add    %eax,%edx
560a10:	b8 01 00 00 00       	mov    $0x1,%eax
560a15:	89 54 24 4c          	mov    %edx,0x4c(%esp)
560a19:	8b 4e 30             	mov    0x30(%esi),%ecx
560a1c:	8b 54 24 48          	mov    0x48(%esp),%edx
560a20:	d3 e0                	shl    %cl,%eax
560a22:	8b 4f 04             	mov    0x4(%edi),%ecx
560a25:	03 c2                	add    %edx,%eax
560a27:	8b 51 04             	mov    0x4(%ecx),%edx
560a2a:	8b 4c 24 44          	mov    0x44(%esp),%ecx
560a2e:	3b d1                	cmp    %ecx,%edx
560a30:	73 06                	jae    0x560a38
560a32:	8b 54 24 44          	mov    0x44(%esp),%edx
560a36:	eb 06                	jmp    0x560a3e
560a38:	8b 4f 04             	mov    0x4(%edi),%ecx
560a3b:	8b 51 04             	mov    0x4(%ecx),%edx
560a3e:	89 13                	mov    %edx,(%ebx)
560a40:	8b 4f 04             	mov    0x4(%edi),%ecx
560a43:	8b 51 08             	mov    0x8(%ecx),%edx
560a46:	8b 4c 24 48          	mov    0x48(%esp),%ecx
560a4a:	3b d1                	cmp    %ecx,%edx
560a4c:	73 06                	jae    0x560a54
560a4e:	8b 54 24 48          	mov    0x48(%esp),%edx
560a52:	eb 06                	jmp    0x560a5a
560a54:	8b 4f 04             	mov    0x4(%edi),%ecx
560a57:	8b 51 08             	mov    0x8(%ecx),%edx
560a5a:	89 53 04             	mov    %edx,0x4(%ebx)
560a5d:	8b 4f 04             	mov    0x4(%edi),%ecx
560a60:	8b 51 0c             	mov    0xc(%ecx),%edx
560a63:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
560a67:	3b d1                	cmp    %ecx,%edx
560a69:	76 06                	jbe    0x560a71
560a6b:	8b 54 24 4c          	mov    0x4c(%esp),%edx
560a6f:	eb 06                	jmp    0x560a77
560a71:	8b 4f 04             	mov    0x4(%edi),%ecx
560a74:	8b 51 0c             	mov    0xc(%ecx),%edx
560a77:	89 53 08             	mov    %edx,0x8(%ebx)
560a7a:	8b 4f 04             	mov    0x4(%edi),%ecx
560a7d:	8b 51 10             	mov    0x10(%ecx),%edx
560a80:	3b c2                	cmp    %edx,%eax
560a82:	72 06                	jb     0x560a8a
560a84:	8b 47 04             	mov    0x4(%edi),%eax
560a87:	8b 40 10             	mov    0x10(%eax),%eax
560a8a:	89 43 0c             	mov    %eax,0xc(%ebx)
560a8d:	8b 53 08             	mov    0x8(%ebx),%edx
560a90:	8b 0b                	mov    (%ebx),%ecx
560a92:	3b d1                	cmp    %ecx,%edx
560a94:	0f 86 b2 02 00 00    	jbe    0x560d4c
560a9a:	8b 43 0c             	mov    0xc(%ebx),%eax
560a9d:	8b 53 04             	mov    0x4(%ebx),%edx
560aa0:	3b c2                	cmp    %edx,%eax
560aa2:	0f 86 a4 02 00 00    	jbe    0x560d4c
560aa8:	66 83 7e 34 00       	cmpw   $0x0,0x34(%esi)
560aad:	77 17                	ja     0x560ac6
560aaf:	68 5c 03 00 00       	push   $0x35c
560ab4:	68 cf ea 69 00       	push   $0x69eacf
560ab9:	68 a3 ea 69 00       	push   $0x69eaa3
560abe:	e8 7d a0 ff ff       	call   0x55ab40
560ac3:	83 c4 0c             	add    $0xc,%esp
560ac6:	66 8b 4e 34          	mov    0x34(%esi),%cx
560aca:	8b 03                	mov    (%ebx),%eax
560acc:	d3 e8                	shr    %cl,%eax
560ace:	66 8b 4e 34          	mov    0x34(%esi),%cx
560ad2:	d3 e0                	shl    %cl,%eax
560ad4:	89 44 24 50          	mov    %eax,0x50(%esp)
560ad8:	66 83 7e 36 00       	cmpw   $0x0,0x36(%esi)
560add:	77 17                	ja     0x560af6
560adf:	68 5e 03 00 00       	push   $0x35e
560ae4:	68 06 eb 69 00       	push   $0x69eb06
560ae9:	68 d9 ea 69 00       	push   $0x69ead9
560aee:	e8 4d a0 ff ff       	call   0x55ab40
560af3:	83 c4 0c             	add    $0xc,%esp
560af6:	66 8b 6e 36          	mov    0x36(%esi),%bp
560afa:	8b cd                	mov    %ebp,%ecx
560afc:	8b 43 04             	mov    0x4(%ebx),%eax
560aff:	d3 e8                	shr    %cl,%eax
560b01:	66 8b 4e 36          	mov    0x36(%esi),%cx
560b05:	d3 e0                	shl    %cl,%eax
560b07:	89 44 24 54          	mov    %eax,0x54(%esp)
560b0b:	66 8b 46 34          	mov    0x34(%esi),%ax
560b0f:	8b c8                	mov    %eax,%ecx
560b11:	ba 01 00 00 00       	mov    $0x1,%edx
560b16:	d3 e2                	shl    %cl,%edx
560b18:	8b 4b 08             	mov    0x8(%ebx),%ecx
560b1b:	03 d1                	add    %ecx,%edx
560b1d:	4a                   	dec    %edx
560b1e:	8b c8                	mov    %eax,%ecx
560b20:	d3 ea                	shr    %cl,%edx
560b22:	8b c8                	mov    %eax,%ecx
560b24:	d3 e2                	shl    %cl,%edx
560b26:	89 54 24 58          	mov    %edx,0x58(%esp)
560b2a:	8b cd                	mov    %ebp,%ecx
560b2c:	ba 01 00 00 00       	mov    $0x1,%edx
560b31:	d3 e2                	shl    %cl,%edx
560b33:	8b 4b 0c             	mov    0xc(%ebx),%ecx
560b36:	03 d1                	add    %ecx,%edx
560b38:	4a                   	dec    %edx
560b39:	8b cd                	mov    %ebp,%ecx
560b3b:	d3 ea                	shr    %cl,%edx
560b3d:	8b cd                	mov    %ebp,%ecx
560b3f:	d3 e2                	shl    %cl,%edx
560b41:	89 54 24 5c          	mov    %edx,0x5c(%esp)
560b45:	8b c8                	mov    %eax,%ecx
560b47:	8b 44 24 58          	mov    0x58(%esp),%eax
560b4b:	8b 54 24 50          	mov    0x50(%esp),%edx
560b4f:	2b c2                	sub    %edx,%eax
560b51:	d3 e8                	shr    %cl,%eax
560b53:	89 43 10             	mov    %eax,0x10(%ebx)
560b56:	66 8b 4e 36          	mov    0x36(%esi),%cx
560b5a:	8b 44 24 5c          	mov    0x5c(%esp),%eax
560b5e:	8b 54 24 54          	mov    0x54(%esp),%edx
560b62:	2b c2                	sub    %edx,%eax
560b64:	d3 e8                	shr    %cl,%eax
560b66:	89 43 14             	mov    %eax,0x14(%ebx)
560b69:	8b 43 10             	mov    0x10(%ebx),%eax
560b6c:	f7 6b 14             	imull  0x14(%ebx)
560b6f:	89 43 18             	mov    %eax,0x18(%ebx)
560b72:	8b 53 18             	mov    0x18(%ebx),%edx
560b75:	85 d2                	test   %edx,%edx
560b77:	7f 17                	jg     0x560b90
560b79:	68 68 03 00 00       	push   $0x368
560b7e:	68 8d eb 69 00       	push   $0x69eb8d
560b83:	68 7b eb 69 00       	push   $0x69eb7b
560b88:	e8 b3 9f ff ff       	call   0x55ab40
560b8d:	83 c4 0c             	add    $0xc,%esp
560b90:	8b 53 14             	mov    0x14(%ebx),%edx
560b93:	8b 43 10             	mov    0x10(%ebx),%eax
560b96:	e8 f9 8c 01 00       	call   0x579894
560b9b:	89 43 20             	mov    %eax,0x20(%ebx)
560b9e:	85 c0                	test   %eax,%eax
560ba0:	75 08                	jne    0x560baa
560ba2:	83 c8 ff             	or     $0xffffffff,%eax
560ba5:	e9 f7 02 00 00       	jmp    0x560ea1
560baa:	8b 53 14             	mov    0x14(%ebx),%edx
560bad:	8b 43 10             	mov    0x10(%ebx),%eax
560bb0:	e8 df 8c 01 00       	call   0x579894
560bb5:	89 43 24             	mov    %eax,0x24(%ebx)
560bb8:	85 c0                	test   %eax,%eax
560bba:	75 08                	jne    0x560bc4
560bbc:	83 c8 ff             	or     $0xffffffff,%eax
560bbf:	e9 dd 02 00 00       	jmp    0x560ea1
560bc4:	8b 43 18             	mov    0x18(%ebx),%eax
560bc7:	8b d0                	mov    %eax,%edx
560bc9:	8d 04 82             	lea    (%edx,%eax,4),%eax
560bcc:	8d 04 42             	lea    (%edx,%eax,2),%eax
560bcf:	c1 e0 02             	shl    $0x2,%eax
560bd2:	e8 a5 77 01 00       	call   0x57837c
560bd7:	89 43 1c             	mov    %eax,0x1c(%ebx)
560bda:	85 c0                	test   %eax,%eax
560bdc:	75 08                	jne    0x560be6
560bde:	83 c8 ff             	or     $0xffffffff,%eax
560be1:	e9 bb 02 00 00       	jmp    0x560ea1
560be6:	8b 54 24 44          	mov    0x44(%esp),%edx
560bea:	89 54 24 60          	mov    %edx,0x60(%esp)
560bee:	8b 4c 24 48          	mov    0x48(%esp),%ecx
560bf2:	89 4c 24 64          	mov    %ecx,0x64(%esp)
560bf6:	8b 43 18             	mov    0x18(%ebx),%eax
560bf9:	89 44 24 20          	mov    %eax,0x20(%esp)
560bfd:	8b 6b 1c             	mov    0x1c(%ebx),%ebp
560c00:	8b 44 24 20          	mov    0x20(%esp),%eax
560c04:	85 c0                	test   %eax,%eax
560c06:	0f 8e 4f 01 00 00    	jle    0x560d5b
560c0c:	66 8b 4e 34          	mov    0x34(%esi),%cx
560c10:	b8 01 00 00 00       	mov    $0x1,%eax
560c15:	d3 e0                	shl    %cl,%eax
560c17:	66 8b 4e 36          	mov    0x36(%esi),%cx
560c1b:	8b 54 24 60          	mov    0x60(%esp),%edx
560c1f:	03 c2                	add    %edx,%eax
560c21:	ba 01 00 00 00       	mov    $0x1,%edx
560c26:	d3 e2                	shl    %cl,%edx
560c28:	8b 4c 24 64          	mov    0x64(%esp),%ecx
560c2c:	03 d1                	add    %ecx,%edx
560c2e:	8b 4c 24 60          	mov    0x60(%esp),%ecx
560c32:	3b 0b                	cmp    (%ebx),%ecx
560c34:	76 06                	jbe    0x560c3c
560c36:	8b 4c 24 60          	mov    0x60(%esp),%ecx
560c3a:	eb 02                	jmp    0x560c3e
560c3c:	8b 0b                	mov    (%ebx),%ecx
560c3e:	89 4c 24 68          	mov    %ecx,0x68(%esp)
560c42:	8b 4c 24 64          	mov    0x64(%esp),%ecx
560c46:	3b 4b 04             	cmp    0x4(%ebx),%ecx
560c49:	76 06                	jbe    0x560c51
560c4b:	8b 4c 24 64          	mov    0x64(%esp),%ecx
560c4f:	eb 03                	jmp    0x560c54
560c51:	8b 4b 04             	mov    0x4(%ebx),%ecx
560c54:	89 4c 24 6c          	mov    %ecx,0x6c(%esp)
560c58:	8b 4b 08             	mov    0x8(%ebx),%ecx
560c5b:	3b c1                	cmp    %ecx,%eax
560c5d:	72 03                	jb     0x560c62
560c5f:	8b 43 08             	mov    0x8(%ebx),%eax
560c62:	89 44 24 70          	mov    %eax,0x70(%esp)
560c66:	8b 43 0c             	mov    0xc(%ebx),%eax
560c69:	3b d0                	cmp    %eax,%edx
560c6b:	72 03                	jb     0x560c70
560c6d:	8b 53 0c             	mov    0xc(%ebx),%edx
560c70:	89 54 24 74          	mov    %edx,0x74(%esp)
560c74:	8b 4c 24 70          	mov    0x70(%esp),%ecx
560c78:	8b 44 24 68          	mov    0x68(%esp),%eax
560c7c:	3b c8                	cmp    %eax,%ecx
560c7e:	0f 86 88 00 00 00    	jbe    0x560d0c
560c84:	8b 54 24 74          	mov    0x74(%esp),%edx
560c88:	8b 4c 24 6c          	mov    0x6c(%esp),%ecx
560c8c:	3b d1                	cmp    %ecx,%edx
560c8e:	76 7c                	jbe    0x560d0c
560c90:	c7 45 18 ff ff ff ff 	movl   $0xffffffff,0x18(%ebp)
560c97:	33 c0                	xor    %eax,%eax
560c99:	33 d2                	xor    %edx,%edx
560c9b:	89 45 1c             	mov    %eax,0x1c(%ebp)
560c9e:	89 55 20             	mov    %edx,0x20(%ebp)
560ca1:	33 c9                	xor    %ecx,%ecx
560ca3:	33 c0                	xor    %eax,%eax
560ca5:	89 4d 24             	mov    %ecx,0x24(%ebp)
560ca8:	89 45 00             	mov    %eax,0x0(%ebp)
560cab:	33 d2                	xor    %edx,%edx
560cad:	33 c9                	xor    %ecx,%ecx
560caf:	89 55 04             	mov    %edx,0x4(%ebp)
560cb2:	89 4d 08             	mov    %ecx,0x8(%ebp)
560cb5:	33 c0                	xor    %eax,%eax
560cb7:	33 d2                	xor    %edx,%edx
560cb9:	89 45 0c             	mov    %eax,0xc(%ebp)
560cbc:	89 55 10             	mov    %edx,0x10(%ebp)
560cbf:	c7 45 14 03 00 00 00 	movl   $0x3,0x14(%ebp)
560cc6:	33 c9                	xor    %ecx,%ecx
560cc8:	33 d2                	xor    %edx,%edx
560cca:	89 4d 24             	mov    %ecx,0x24(%ebp)
560ccd:	33 c9                	xor    %ecx,%ecx
560ccf:	33 c0                	xor    %eax,%eax
560cd1:	6a 00                	push   $0x0
560cd3:	e8 80 6f 01 00       	call   0x577c58
560cd8:	89 45 28             	mov    %eax,0x28(%ebp)
560cdb:	85 c0                	test   %eax,%eax
560cdd:	75 08                	jne    0x560ce7
560cdf:	83 c8 ff             	or     $0xffffffff,%eax
560ce2:	e9 ba 01 00 00       	jmp    0x560ea1
560ce7:	8b 54 24 6c          	mov    0x6c(%esp),%edx
560ceb:	52                   	push   %edx
560cec:	8b 4c 24 74          	mov    0x74(%esp),%ecx
560cf0:	51                   	push   %ecx
560cf1:	8b 44 24 7c          	mov    0x7c(%esp),%eax
560cf5:	50                   	push   %eax
560cf6:	8b 57 04             	mov    0x4(%edi),%edx
560cf9:	8b 45 28             	mov    0x28(%ebp),%eax
560cfc:	8b 4c 24 74          	mov    0x74(%esp),%ecx
560d00:	e8 87 71 01 00       	call   0x577e8c
560d05:	83 c5 2c             	add    $0x2c,%ebp
560d08:	ff 4c 24 20          	decl   0x20(%esp)
560d0c:	66 8b 4e 34          	mov    0x34(%esi),%cx
560d10:	b8 01 00 00 00       	mov    $0x1,%eax
560d15:	d3 e0                	shl    %cl,%eax
560d17:	01 44 24 60          	add    %eax,0x60(%esp)
560d1b:	8b 54 24 60          	mov    0x60(%esp),%edx