579c1f:	75 6c                	jne    0x579c8d
579c21:	8b 53 0c             	mov    0xc(%ebx),%edx
579c24:	8b 4a 40             	mov    0x40(%edx),%ecx
579c27:	85 c9                	test   %ecx,%ecx
579c29:	7c 1c                	jl     0x579c47
579c2b:	8b 43 0c             	mov    0xc(%ebx),%eax
579c2e:	8b 4b 0c             	mov    0xc(%ebx),%ecx
579c31:	8b 50 40             	mov    0x40(%eax),%edx
579c34:	8b 41 3c             	mov    0x3c(%ecx),%eax
579c37:	3b d0                	cmp    %eax,%edx
579c39:	7f 0c                	jg     0x579c47
579c3b:	8b 53 0c             	mov    0xc(%ebx),%edx
579c3e:	83 4a 08 04          	orl    $0x4,0x8(%edx)
579c42:	83 c9 ff             	or     $0xffffffff,%ecx
579c45:	eb 49                	jmp    0x579c90
579c47:	8b 43 0c             	mov    0xc(%ebx),%eax
579c4a:	83 48 04 20          	orl    $0x20,0x4(%eax)
579c4e:	8b 53 0c             	mov    0xc(%ebx),%edx
579c51:	ff 4a 1c             	decl   0x1c(%edx)
579c54:	79 19                	jns    0x579c6f
579c56:	0f b7 53 04          	movzwl 0x4(%ebx),%edx
579c5a:	c1 fa 08             	sar    $0x8,%edx
579c5d:	8b 43 0c             	mov    0xc(%ebx),%eax
579c60:	81 e2 ff 00 00 00    	and    $0xff,%edx
579c66:	e8 ad f1 ff ff       	call   0x578e18
579c6b:	8b c8                	mov    %eax,%ecx
579c6d:	eb 21                	jmp    0x579c90
579c6f:	8b 43 0c             	mov    0xc(%ebx),%eax
579c72:	ff 40 3c             	incl   0x3c(%eax)
579c75:	8b 53 0c             	mov    0xc(%ebx),%edx
579c78:	8b 4a 18             	mov    0x18(%edx),%ecx
579c7b:	ff 42 18             	incl   0x18(%edx)
579c7e:	0f b7 43 04          	movzwl 0x4(%ebx),%eax
579c82:	c1 f8 08             	sar    $0x8,%eax
579c85:	88 01                	mov    %al,(%ecx)
579c87:	33 c9                	xor    %ecx,%ecx
579c89:	8a c8                	mov    %al,%cl
579c8b:	eb 03                	jmp    0x579c90
579c8d:	83 c9 ff             	or     $0xffffffff,%ecx
579c90:	41                   	inc    %ecx
579c91:	75 05                	jne    0x579c98
579c93:	83 c8 ff             	or     $0xffffffff,%eax
579c96:	eb 1a                	jmp    0x579cb2
579c98:	b8 01 00 00 00       	mov    $0x1,%eax
579c9d:	eb 13                	jmp    0x579cb2
579c9f:	66 ba 01 00          	mov    $0x1,%dx
579ca3:	8b 4b 08             	mov    0x8(%ebx),%ecx
579ca6:	66 d3 e2             	shl    %cl,%dx
579ca9:	66 09 53 04          	or     %dx,0x4(%ebx)
579cad:	b8 01 00 00 00       	mov    $0x1,%eax
579cb2:	40                   	inc    %eax
579cb3:	75 08                	jne    0x579cbd
579cb5:	83 c8 ff             	or     $0xffffffff,%eax
579cb8:	e9 41 01 00 00       	jmp    0x579dfe
579cbd:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
579cc4:	e9 01 01 00 00       	jmp    0x579dca
579cc9:	f6 43 10 02          	testb  $0x2,0x10(%ebx)
579ccd:	75 17                	jne    0x579ce6
579ccf:	68 5f 01 00 00       	push   $0x15f
579cd4:	68 a1 2d 6a 00       	push   $0x6a2da1
579cd9:	68 7a 2d 6a 00       	push   $0x6a2d7a
579cde:	e8 5d 0e fe ff       	call   0x55ab40
579ce3:	83 c4 0c             	add    $0xc,%esp
579ce6:	ff 4b 08             	decl   0x8(%ebx)
579ce9:	0f 89 b9 00 00 00    	jns    0x579da8
579cef:	66 8b 53 04          	mov    0x4(%ebx),%dx
579cf3:	c1 e2 08             	shl    $0x8,%edx
579cf6:	66 81 e2 ff ff       	and    $0xffff,%dx
579cfb:	66 89 53 04          	mov    %dx,0x4(%ebx)
579cff:	66 81 7b 04 00 ff    	cmpw   $0xff00,0x4(%ebx)
579d05:	75 07                	jne    0x579d0e
579d07:	b9 06 00 00 00       	mov    $0x6,%ecx
579d0c:	eb 05                	jmp    0x579d13
579d0e:	b9 07 00 00 00       	mov    $0x7,%ecx
579d13:	89 4b 08             	mov    %ecx,0x8(%ebx)
579d16:	8b 4b 08             	mov    0x8(%ebx),%ecx
579d19:	33 c0                	xor    %eax,%eax
579d1b:	66 d3 e0             	shl    %cl,%ax
579d1e:	66 09 43 04          	or     %ax,0x4(%ebx)
579d22:	8b 53 0c             	mov    0xc(%ebx),%edx
579d25:	f6 42 08 07          	testb  $0x7,0x8(%edx)
579d29:	75 6e                	jne    0x579d99
579d2b:	8b 43 0c             	mov    0xc(%ebx),%eax
579d2e:	8b 50 40             	mov    0x40(%eax),%edx
579d31:	85 d2                	test   %edx,%edx
579d33:	7c 1c                	jl     0x579d51
579d35:	8b 4b 0c             	mov    0xc(%ebx),%ecx
579d38:	8b 53 0c             	mov    0xc(%ebx),%edx
579d3b:	8b 41 40             	mov    0x40(%ecx),%eax
579d3e:	8b 4a 3c             	mov    0x3c(%edx),%ecx
579d41:	3b c1                	cmp    %ecx,%eax
579d43:	7f 0c                	jg     0x579d51
579d45:	8b 43 0c             	mov    0xc(%ebx),%eax
579d48:	83 48 08 04          	orl    $0x4,0x8(%eax)
579d4c:	83 ca ff             	or     $0xffffffff,%edx
579d4f:	eb 4b                	jmp    0x579d9c
579d51:	8b 4b 0c             	mov    0xc(%ebx),%ecx
579d54:	83 49 04 20          	orl    $0x20,0x4(%ecx)
579d58:	8b 43 0c             	mov    0xc(%ebx),%eax
579d5b:	ff 48 1c             	decl   0x1c(%eax)
579d5e:	79 19                	jns    0x579d79
579d60:	0f b7 53 04          	movzwl 0x4(%ebx),%edx
579d64:	c1 fa 08             	sar    $0x8,%edx
579d67:	8b 43 0c             	mov    0xc(%ebx),%eax
579d6a:	81 e2 ff 00 00 00    	and    $0xff,%edx
579d70:	e8 a3 f0 ff ff       	call   0x578e18
579d75:	8b d0                	mov    %eax,%edx
579d77:	eb 23                	jmp    0x579d9c
579d79:	8b 43 0c             	mov    0xc(%ebx),%eax
579d7c:	ff 40 3c             	incl   0x3c(%eax)
579d7f:	8b 4b 0c             	mov    0xc(%ebx),%ecx
579d82:	8b 41 18             	mov    0x18(%ecx),%eax
579d85:	ff 41 18             	incl   0x18(%ecx)
579d88:	0f b7 53 04          	movzwl 0x4(%ebx),%edx
579d8c:	c1 fa 08             	sar    $0x8,%edx
579d8f:	88 10                	mov    %dl,(%eax)
579d91:	81 e2 ff 00 00 00    	and    $0xff,%edx
579d97:	eb 03                	jmp    0x579d9c
579d99:	83 ca ff             	or     $0xffffffff,%edx
579d9c:	42                   	inc    %edx
579d9d:	75 05                	jne    0x579da4
579d9f:	83 c8 ff             	or     $0xffffffff,%eax
579da2:	eb 12                	jmp    0x579db6
579da4:	33 c0                	xor    %eax,%eax
579da6:	eb 0e                	jmp    0x579db6
579da8:	8b 4b 08             	mov    0x8(%ebx),%ecx
579dab:	33 d2                	xor    %edx,%edx
579dad:	66 d3 e2             	shl    %cl,%dx
579db0:	66 09 53 04          	or     %dx,0x4(%ebx)
579db4:	33 c0                	xor    %eax,%eax
579db6:	40                   	inc    %eax
579db7:	75 05                	jne    0x579dbe
579db9:	83 c8 ff             	or     $0xffffffff,%eax
579dbc:	eb 40                	jmp    0x579dfe
579dbe:	47                   	inc    %edi
579dbf:	8b 55 f8             	mov    -0x8(%ebp),%edx
579dc2:	3b fa                	cmp    %edx,%edi
579dc4:	0f 8c de fd ff ff    	jl     0x579ba8
579dca:	89 7e 08             	mov    %edi,0x8(%esi)
579dcd:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
579dd3:	8b 45 f4             	mov    -0xc(%ebp),%eax
579dd6:	3b c8                	cmp    %eax,%ecx
579dd8:	74 0e                	je     0x579de8
579dda:	83 6d f4 04          	subl   $0x4,-0xc(%ebp)
579dde:	8b 55 f4             	mov    -0xc(%ebp),%edx
579de1:	8b 32                	mov    (%edx),%esi
579de3:	e9 a6 fd ff ff       	jmp    0x579b8e
579de8:	8b 45 fc             	mov    -0x4(%ebp),%eax
579deb:	8b 50 08             	mov    0x8(%eax),%edx
579dee:	8b 4d f8             	mov    -0x8(%ebp),%ecx
579df1:	3b d1                	cmp    %ecx,%edx
579df3:	7d 07                	jge    0x579dfc
579df5:	b8 01 00 00 00       	mov    $0x1,%eax
579dfa:	eb 02                	jmp    0x579dfe
579dfc:	33 c0                	xor    %eax,%eax
579dfe:	5f                   	pop    %edi
579dff:	5e                   	pop    %esi
579e00:	5b                   	pop    %ebx
579e01:	8b e5                	mov    %ebp,%esp
579e03:	5d                   	pop    %ebp
579e04:	c2 04 00             	ret    $0x4
579e07:	90                   	nop
579e08:	55                   	push   %ebp
579e09:	8b ec                	mov    %esp,%ebp
579e0b:	81 c4 78 ff ff ff    	add    $0xffffff78,%esp
579e11:	53                   	push   %ebx
579e12:	56                   	push   %esi
579e13:	57                   	push   %edi
579e14:	89 4d fc             	mov    %ecx,-0x4(%ebp)
579e17:	8b f2                	mov    %edx,%esi
579e19:	8b 5d 08             	mov    0x8(%ebp),%ebx
579e1c:	8b 45 fc             	mov    -0x4(%ebp),%eax
579e1f:	85 c0                	test   %eax,%eax
579e21:	7d 17                	jge    0x579e3a
579e23:	68 7a 01 00 00       	push   $0x17a
579e28:	68 be 2d 6a 00       	push   $0x6a2dbe
579e2d:	68 af 2d 6a 00       	push   $0x6a2daf
579e32:	e8 09 0d fe ff       	call   0x55ab40
579e37:	83 c4 0c             	add    $0xc,%esp
579e3a:	8d 95 78 ff ff ff    	lea    -0x88(%ebp),%edx
579e40:	8b fe                	mov    %esi,%edi
579e42:	89 55 f8             	mov    %edx,-0x8(%ebp)
579e45:	eb 0b                	jmp    0x579e52
579e47:	8b 45 f8             	mov    -0x8(%ebp),%eax
579e4a:	89 38                	mov    %edi,(%eax)
579e4c:	83 45 f8 04          	addl   $0x4,-0x8(%ebp)
579e50:	8b 3f                	mov    (%edi),%edi
579e52:	8b 17                	mov    (%edi),%edx
579e54:	85 d2                	test   %edx,%edx
579e56:	75 ef                	jne    0x579e47
579e58:	33 f6                	xor    %esi,%esi
579e5a:	8b 47 08             	mov    0x8(%edi),%eax
579e5d:	3b f0                	cmp    %eax,%esi
579e5f:	7e 05                	jle    0x579e66
579e61:	89 77 08             	mov    %esi,0x8(%edi)
579e64:	eb 55                	jmp    0x579ebb
579e66:	8b 77 08             	mov    0x8(%edi),%esi
579e69:	eb 50                	jmp    0x579ebb
579e6b:	f6 43 10 01          	testb  $0x1,0x10(%ebx)
579e6f:	75 17                	jne    0x579e88
579e71:	68 8c 01 00 00       	push   $0x18c
579e76:	68 f1 2d 6a 00       	push   $0x6a2df1
579e7b:	68 cc 2d 6a 00       	push   $0x6a2dcc
579e80:	e8 bb 0c fe ff       	call   0x55ab40
579e85:	83 c4 0c             	add    $0xc,%esp
579e88:	ff 4b 08             	decl   0x8(%ebx)
579e8b:	78 0e                	js     0x579e9b
579e8d:	8b 4b 08             	mov    0x8(%ebx),%ecx
579e90:	0f b7 43 04          	movzwl 0x4(%ebx),%eax
579e94:	d3 f8                	sar    %cl,%eax
579e96:	83 e0 01             	and    $0x1,%eax
579e99:	eb 07                	jmp    0x579ea2
579e9b:	8b c3                	mov    %ebx,%eax
579e9d:	e8 da 6d ff ff       	call   0x570c7c
579ea2:	89 45 f4             	mov    %eax,-0xc(%ebp)
579ea5:	85 c0                	test   %eax,%eax
579ea7:	7d 05                	jge    0x579eae
579ea9:	83 c8 ff             	or     $0xffffffff,%eax
579eac:	eb 4c                	jmp    0x579efa
579eae:	8b 55 f4             	mov    -0xc(%ebp),%edx
579eb1:	85 d2                	test   %edx,%edx
579eb3:	74 05                	je     0x579eba
579eb5:	89 77 04             	mov    %esi,0x4(%edi)
579eb8:	eb 01                	jmp    0x579ebb
579eba:	46                   	inc    %esi
579ebb:	8b 4d fc             	mov    -0x4(%ebp),%ecx
579ebe:	3b f1                	cmp    %ecx,%esi
579ec0:	7d 07                	jge    0x579ec9
579ec2:	8b 47 04             	mov    0x4(%edi),%eax
579ec5:	3b f0                	cmp    %eax,%esi
579ec7:	7c a2                	jl     0x579e6b
579ec9:	89 77 08             	mov    %esi,0x8(%edi)
579ecc:	8d 95 78 ff ff ff    	lea    -0x88(%ebp),%edx
579ed2:	8b 4d f8             	mov    -0x8(%ebp),%ecx
579ed5:	3b d1                	cmp    %ecx,%edx
579ed7:	74 0e                	je     0x579ee7
579ed9:	83 6d f8 04          	subl   $0x4,-0x8(%ebp)
579edd:	8b 45 f8             	mov    -0x8(%ebp),%eax
579ee0:	8b 38                	mov    (%eax),%edi
579ee2:	e9 73 ff ff ff       	jmp    0x579e5a
579ee7:	8b 47 04             	mov    0x4(%edi),%eax
579eea:	8b 55 fc             	mov    -0x4(%ebp),%edx
579eed:	3b c2                	cmp    %edx,%eax
579eef:	7d 07                	jge    0x579ef8
579ef1:	b8 01 00 00 00       	mov    $0x1,%eax
579ef6:	eb 02                	jmp    0x579efa
579ef8:	33 c0                	xor    %eax,%eax
579efa:	5f                   	pop    %edi
579efb:	5e                   	pop    %esi
579efc:	5b                   	pop    %ebx
579efd:	8b e5                	mov    %ebp,%esp
579eff:	5d                   	pop    %ebp
579f00:	c2 04 00             	ret    $0x4
579f03:	90                   	nop
579f04:	53                   	push   %ebx
579f05:	56                   	push   %esi
579f06:	57                   	push   %edi
579f07:	8b fa                	mov    %edx,%edi
579f09:	8b 58 0c             	mov    0xc(%eax),%ebx
579f0c:	8b 70 08             	mov    0x8(%eax),%esi
579f0f:	eb 21                	jmp    0x579f32
579f11:	8b 43 0c             	mov    0xc(%ebx),%eax
579f14:	50                   	push   %eax
579f15:	8b 53 08             	mov    0x8(%ebx),%edx
579f18:	52                   	push   %edx
579f19:	8b 4b 04             	mov    0x4(%ebx),%ecx
579f1c:	51                   	push   %ecx
579f1d:	8b 03                	mov    (%ebx),%eax
579f1f:	50                   	push   %eax
579f20:	53                   	push   %ebx
579f21:	68 ff 2d 6a 00       	push   $0x6a2dff
579f26:	57                   	push   %edi
579f27:	e8 a0 01 00 00       	call   0x57a0cc
579f2c:	83 c4 1c             	add    $0x1c,%esp
579f2f:	83 c3 10             	add    $0x10,%ebx
579f32:	4e                   	dec    %esi
579f33:	79 dc                	jns    0x579f11
579f35:	5f                   	pop    %edi
579f36:	5e                   	pop    %esi
579f37:	5b                   	pop    %ebx
579f38:	c3                   	ret
579f39:	8d 40 00             	lea    0x0(%eax),%eax
579f3c:	8b 15 34 2e 6a 00    	mov    0x6a2e34,%edx
579f42:	a3 34 2e 6a 00       	mov    %eax,0x6a2e34
579f47:	8b c2                	mov    %edx,%eax
579f49:	c3                   	ret
579f4a:	90                   	nop
579f4b:	90                   	nop
579f4c:	a1 34 2e 6a 00       	mov    0x6a2e34,%eax
579f51:	c3                   	ret
579f52:	90                   	nop
579f53:	90                   	nop
579f54:	55                   	push   %ebp
579f55:	8b ec                	mov    %esp,%ebp
579f57:	8d 45 0c             	lea    0xc(%ebp),%eax
579f5a:	50                   	push   %eax
579f5b:	8b 55 08             	mov    0x8(%ebp),%edx
579f5e:	52                   	push   %edx
579f5f:	68 80 2e 6a 00       	push   $0x6a2e80
579f64:	e8 9f 01 00 00       	call   0x57a108
579f69:	83 c4 0c             	add    $0xc,%esp
579f6c:	5d                   	pop    %ebp
579f6d:	c3                   	ret
579f6e:	90                   	nop
579f6f:	90                   	nop
579f70:	53                   	push   %ebx
579f71:	56                   	push   %esi
579f72:	57                   	push   %edi
579f73:	55                   	push   %ebp
579f74:	83 c4 f8             	add    $0xfffffff8,%esp
579f77:	8b e9                	mov    %ecx,%ebp
579f79:	89 04 24             	mov    %eax,(%esp)
579f7c:	8b c2                	mov    %edx,%eax
579f7e:	33 f6                	xor    %esi,%esi
579f80:	89 44 24 04          	mov    %eax,0x4(%esp)
579f84:	eb 5a                	jmp    0x579fe0
579f86:	56                   	push   %esi
579f87:	68 38 2e 6a 00       	push   $0x6a2e38
579f8c:	8b 54 24 08          	mov    0x8(%esp),%edx
579f90:	52                   	push   %edx
579f91:	e8 36 01 00 00       	call   0x57a0cc
579f96:	83 c4 0c             	add    $0xc,%esp
579f99:	33 db                	xor    %ebx,%ebx
579f9b:	8b 44 24 04          	mov    0x4(%esp),%eax
579f9f:	8b f8                	mov    %eax,%edi
579fa1:	8d 04 33             	lea    (%ebx,%esi,1),%eax
579fa4:	3b e8                	cmp    %eax,%ebp
579fa6:	76 17                	jbe    0x579fbf
579fa8:	33 d2                	xor    %edx,%edx
579faa:	8a 17                	mov    (%edi),%dl
579fac:	52                   	push   %edx
579fad:	68 3e 2e 6a 00       	push   $0x6a2e3e
579fb2:	8b 4c 24 08          	mov    0x8(%esp),%ecx
579fb6:	51                   	push   %ecx
579fb7:	e8 10 01 00 00       	call   0x57a0cc
579fbc:	83 c4 0c             	add    $0xc,%esp
579fbf:	43                   	inc    %ebx
579fc0:	47                   	inc    %edi
579fc1:	83 fb 10             	cmp    $0x10,%ebx
579fc4:	7c db                	jl     0x579fa1
579fc6:	68 44 2e 6a 00       	push   $0x6a2e44
579fcb:	8b 44 24 04          	mov    0x4(%esp),%eax
579fcf:	50                   	push   %eax
579fd0:	e8 f7 00 00 00       	call   0x57a0cc
579fd5:	83 c4 08             	add    $0x8,%esp
579fd8:	83 c6 10             	add    $0x10,%esi
579fdb:	83 44 24 04 10       	addl   $0x10,0x4(%esp)
579fe0:	3b ee                	cmp    %esi,%ebp
579fe2:	77 a2                	ja     0x579f86
579fe4:	33 c0                	xor    %eax,%eax