5739a7:	5e                   	pop    %esi
5739a8:	c3                   	ret
5739a9:	8b 46 04             	mov    0x4(%esi),%eax
5739ac:	8b 40 0c             	mov    0xc(%eax),%eax
5739af:	83 c0 04             	add    $0x4,%eax
5739b2:	5e                   	pop    %esi
5739b3:	c3                   	ret
5739b4:	47                   	inc    %edi
5739b5:	39 57 00             	cmp    %edx,0x0(%edi)
5739b8:	57                   	push   %edi
5739b9:	39 57 00             	cmp    %edx,0x0(%edi)
5739bc:	4c                   	dec    %esp
5739bd:	39 57 00             	cmp    %edx,0x0(%edi)
5739c0:	7f 39                	jg     0x5739fb
5739c2:	57                   	push   %edi
5739c3:	00 57 39             	add    %dl,0x39(%edi)
5739c6:	57                   	push   %edi
5739c7:	00 62 39             	add    %ah,0x39(%edx)
5739ca:	57                   	push   %edi
5739cb:	00 cc                	add    %cl,%ah
5739cd:	cc                   	int3
5739ce:	cc                   	int3
5739cf:	cc                   	int3
5739d0:	b8 04 00 00 00       	mov    $0x4,%eax
5739d5:	e8 d6 dd 05 00       	call   0x5d17b0
5739da:	56                   	push   %esi
5739db:	57                   	push   %edi
5739dc:	ff 74 24 18          	push   0x18(%esp)
5739e0:	8d 44 24 0c          	lea    0xc(%esp),%eax
5739e4:	6a 00                	push   $0x0
5739e6:	6a 00                	push   $0x0
5739e8:	50                   	push   %eax
5739e9:	e8 e2 80 f7 ff       	call   0x4ebad0
5739ee:	ff 74 24 18          	push   0x18(%esp)
5739f2:	e8 09 bc f7 ff       	call   0x4ef600
5739f7:	68 08 02 00 00       	push   $0x208
5739fc:	ff 74 24 2c          	push   0x2c(%esp)
573a00:	8b f8                	mov    %eax,%edi
573a02:	e8 09 52 f8 ff       	call   0x4f8c10
573a07:	8b f0                	mov    %eax,%esi
573a09:	83 c4 1c             	add    $0x1c,%esp
573a0c:	85 f6                	test   %esi,%esi
573a0e:	74 55                	je     0x573a65
573a10:	8d 44 24 14          	lea    0x14(%esp),%eax
573a14:	50                   	push   %eax
573a15:	6a 00                	push   $0x0
573a17:	6a 78                	push   $0x78
573a19:	56                   	push   %esi
573a1a:	e8 11 51 f8 ff       	call   0x4f8b30
573a1f:	ff 74 24 24          	push   0x24(%esp)
573a23:	e8 48 cd f7 ff       	call   0x4f0770
573a28:	50                   	push   %eax
573a29:	e8 92 c6 f7 ff       	call   0x4f00c0
573a2e:	83 c4 18             	add    $0x18,%esp
573a31:	3b c7                	cmp    %edi,%eax
573a33:	74 51                	je     0x573a86
573a35:	ff 74 24 14          	push   0x14(%esp)
573a39:	e8 32 cd f7 ff       	call   0x4f0770
573a3e:	50                   	push   %eax
573a3f:	e8 8c 5b f6 ff       	call   0x4d95d0
573a44:	83 c4 08             	add    $0x8,%esp
573a47:	3b c7                	cmp    %edi,%eax
573a49:	74 3b                	je     0x573a86
573a4b:	56                   	push   %esi
573a4c:	e8 cf 57 f8 ff       	call   0x4f9220
573a51:	68 08 02 00 00       	push   $0x208
573a56:	50                   	push   %eax
573a57:	e8 b4 51 f8 ff       	call   0x4f8c10
573a5c:	8b f0                	mov    %eax,%esi
573a5e:	83 c4 0c             	add    $0xc,%esp
573a61:	85 f6                	test   %esi,%esi
573a63:	75 ab                	jne    0x573a10
573a65:	68 45 01 00 00       	push   $0x145
573a6a:	68 18 a5 65 00       	push   $0x65a518
573a6f:	68 83 00 00 00       	push   $0x83
573a74:	6a 73                	push   $0x73
573a76:	6a 2e                	push   $0x2e
573a78:	e8 03 55 f6 ff       	call   0x4d8f80
573a7d:	83 c4 14             	add    $0x14,%esp
573a80:	33 c0                	xor    %eax,%eax
573a82:	5f                   	pop    %edi
573a83:	5e                   	pop    %esi
573a84:	59                   	pop    %ecx
573a85:	c3                   	ret
573a86:	ff 74 24 14          	push   0x14(%esp)
573a8a:	ff 74 24 14          	push   0x14(%esp)
573a8e:	e8 cd 74 fa ff       	call   0x51af60
573a93:	83 c4 08             	add    $0x8,%esp
573a96:	5f                   	pop    %edi
573a97:	5e                   	pop    %esi
573a98:	59                   	pop    %ecx
573a99:	c3                   	ret
573a9a:	cc                   	int3
573a9b:	cc                   	int3
573a9c:	cc                   	int3
573a9d:	cc                   	int3
573a9e:	cc                   	int3
573a9f:	cc                   	int3
573aa0:	b8 04 00 00 00       	mov    $0x4,%eax
573aa5:	e8 06 dd 05 00       	call   0x5d17b0
573aaa:	56                   	push   %esi
573aab:	57                   	push   %edi
573aac:	ff 74 24 10          	push   0x10(%esp)
573ab0:	33 f6                	xor    %esi,%esi
573ab2:	8d 44 24 0c          	lea    0xc(%esp),%eax
573ab6:	56                   	push   %esi
573ab7:	56                   	push   %esi
573ab8:	50                   	push   %eax
573ab9:	e8 12 80 f7 ff       	call   0x4ebad0
573abe:	ff 74 24 18          	push   0x18(%esp)
573ac2:	e8 39 bb f7 ff       	call   0x4ef600
573ac7:	50                   	push   %eax
573ac8:	e8 a3 ba f7 ff       	call   0x4ef570
573acd:	50                   	push   %eax
573ace:	e8 1d cf f7 ff       	call   0x4f09f0
573ad3:	8b f8                	mov    %eax,%edi
573ad5:	83 c4 1c             	add    $0x1c,%esp
573ad8:	85 ff                	test   %edi,%edi
573ada:	75 0c                	jne    0x573ae8
573adc:	b8 95 00 00 00       	mov    $0x95,%eax
573ae1:	b9 28 01 00 00       	mov    $0x128,%ecx
573ae6:	eb 36                	jmp    0x573b1e
573ae8:	e8 83 9f 00 00       	call   0x57da70
573aed:	50                   	push   %eax
573aee:	e8 3d 56 f8 ff       	call   0x4f9130
573af3:	8b f0                	mov    %eax,%esi
573af5:	83 c4 04             	add    $0x4,%esp
573af8:	85 f6                	test   %esi,%esi
573afa:	74 18                	je     0x573b14
573afc:	57                   	push   %edi
573afd:	6a 00                	push   $0x0
573aff:	6a 6f                	push   $0x6f
573b01:	56                   	push   %esi
573b02:	e8 29 50 f8 ff       	call   0x4f8b30
573b07:	83 c4 10             	add    $0x10,%esp
573b0a:	85 c0                	test   %eax,%eax
573b0c:	74 06                	je     0x573b14
573b0e:	5f                   	pop    %edi
573b0f:	8b c6                	mov    %esi,%eax
573b11:	5e                   	pop    %esi
573b12:	59                   	pop    %ecx
573b13:	c3                   	ret
573b14:	b8 77 00 00 00       	mov    $0x77,%eax
573b19:	b9 2d 01 00 00       	mov    $0x12d,%ecx
573b1e:	51                   	push   %ecx
573b1f:	68 18 a5 65 00       	push   $0x65a518
573b24:	50                   	push   %eax
573b25:	6a 74                	push   $0x74
573b27:	6a 2e                	push   $0x2e
573b29:	e8 52 54 f6 ff       	call   0x4d8f80
573b2e:	56                   	push   %esi
573b2f:	e8 1c 51 f8 ff       	call   0x4f8c50
573b34:	83 c4 18             	add    $0x18,%esp
573b37:	33 c0                	xor    %eax,%eax
573b39:	5f                   	pop    %edi
573b3a:	5e                   	pop    %esi
573b3b:	59                   	pop    %ecx
573b3c:	c3                   	ret
573b3d:	cc                   	int3
573b3e:	cc                   	int3
573b3f:	cc                   	int3
573b40:	56                   	push   %esi
573b41:	ff 74 24 0c          	push   0xc(%esp)
573b45:	e8 d6 fd ff ff       	call   0x573920
573b4a:	8b f0                	mov    %eax,%esi
573b4c:	83 c4 04             	add    $0x4,%esp
573b4f:	85 f6                	test   %esi,%esi
573b51:	74 45                	je     0x573b98
573b53:	8b 06                	mov    (%esi),%eax
573b55:	85 c0                	test   %eax,%eax
573b57:	75 0b                	jne    0x573b64
573b59:	e8 32 7d f7 ff       	call   0x4eb890
573b5e:	89 06                	mov    %eax,(%esi)
573b60:	85 c0                	test   %eax,%eax
573b62:	74 1c                	je     0x573b80
573b64:	83 48 0c 10          	orl    $0x10,0xc(%eax)
573b68:	8b 06                	mov    (%esi),%eax
573b6a:	83 60 0c df          	andl   $0xffffffdf,0xc(%eax)
573b6e:	8b 0e                	mov    (%esi),%ecx
573b70:	8b 44 24 08          	mov    0x8(%esp),%eax
573b74:	83 c1 08             	add    $0x8,%ecx
573b77:	5e                   	pop    %esi
573b78:	89 08                	mov    %ecx,(%eax)
573b7a:	b8 01 00 00 00       	mov    $0x1,%eax
573b7f:	c3                   	ret
573b80:	6a 1f                	push   $0x1f
573b82:	68 30 a5 65 00       	push   $0x65a530
573b87:	6a 41                	push   $0x41
573b89:	68 9b 00 00 00       	push   $0x9b
573b8e:	6a 2e                	push   $0x2e
573b90:	e8 eb 53 f6 ff       	call   0x4d8f80
573b95:	83 c4 14             	add    $0x14,%esp
573b98:	33 c0                	xor    %eax,%eax
573b9a:	5e                   	pop    %esi
573b9b:	c3                   	ret
573b9c:	cc                   	int3
573b9d:	cc                   	int3
573b9e:	cc                   	int3
573b9f:	cc                   	int3
573ba0:	56                   	push   %esi
573ba1:	ff 74 24 08          	push   0x8(%esp)
573ba5:	8b 74 24 10          	mov    0x10(%esp),%esi
573ba9:	56                   	push   %esi
573baa:	e8 5a 35 07 00       	call   0x5e7109
573baf:	83 c4 08             	add    $0x8,%esp
573bb2:	33 c9                	xor    %ecx,%ecx
573bb4:	85 c0                	test   %eax,%eax
573bb6:	0f 45 f1             	cmovne %ecx,%esi
573bb9:	8b c6                	mov    %esi,%eax
573bbb:	5e                   	pop    %esi
573bbc:	c3                   	ret
573bbd:	cc                   	int3
573bbe:	cc                   	int3
573bbf:	cc                   	int3
573bc0:	b8 08 00 00 00       	mov    $0x8,%eax
573bc5:	e8 e6 db 05 00       	call   0x5d17b0
573bca:	53                   	push   %ebx
573bcb:	8b 5c 24 10          	mov    0x10(%esp),%ebx
573bcf:	8d 44 24 08          	lea    0x8(%esp),%eax
573bd3:	55                   	push   %ebp
573bd4:	56                   	push   %esi
573bd5:	57                   	push   %edi
573bd6:	50                   	push   %eax
573bd7:	8d 44 24 14          	lea    0x14(%esp),%eax
573bdb:	50                   	push   %eax
573bdc:	ff 74 24 2c          	push   0x2c(%esp)
573be0:	ff 74 24 2c          	push   0x2c(%esp)
573be4:	53                   	push   %ebx
573be5:	e8 f6 01 00 00       	call   0x573de0
573bea:	83 c4 14             	add    $0x14,%esp
573bed:	85 c0                	test   %eax,%eax
573bef:	0f 84 32 01 00 00    	je     0x573d27
573bf5:	8b 6c 24 10          	mov    0x10(%esp),%ebp
573bf9:	b8 bd 06 6b 39       	mov    $0x396b06bd,%eax
573bfe:	81 c5 d9 0b 01 00    	add    $0x10bd9,%ebp
573c04:	8d 0c ad 00 00 00 00 	lea    0x0(,%ebp,4),%ecx
573c0b:	f7 e9                	imul   %ecx
573c0d:	c1 fa 0f             	sar    $0xf,%edx
573c10:	8b fa                	mov    %edx,%edi
573c12:	c1 ef 1f             	shr    $0x1f,%edi
573c15:	03 fa                	add    %edx,%edi
573c17:	69 c7 b1 3a 02 00    	imul   $0x23ab1,%edi,%eax
573c1d:	83 c0 03             	add    $0x3,%eax
573c20:	99                   	cltd
573c21:	83 e2 03             	and    $0x3,%edx
573c24:	03 c2                	add    %edx,%eax
573c26:	c1 f8 02             	sar    $0x2,%eax
573c29:	f7 d8                	neg    %eax
573c2b:	03 e8                	add    %eax,%ebp
573c2d:	8d 45 01             	lea    0x1(%ebp),%eax
573c30:	69 c8 a0 0f 00 00    	imul   $0xfa0,%eax,%ecx
573c36:	b8 dd e2 bb b7       	mov    $0xb7bbe2dd,%eax
573c3b:	f7 e9                	imul   %ecx
573c3d:	03 d1                	add    %ecx,%edx
573c3f:	b9 1f 00 00 00       	mov    $0x1f,%ecx
573c44:	c1 fa 14             	sar    $0x14,%edx
573c47:	8b f2                	mov    %edx,%esi
573c49:	c1 ee 1f             	shr    $0x1f,%esi
573c4c:	03 f2                	add    %edx,%esi
573c4e:	69 c6 b5 05 00 00    	imul   $0x5b5,%esi,%eax
573c54:	99                   	cltd
573c55:	83 e2 03             	and    $0x3,%edx
573c58:	03 c2                	add    %edx,%eax
573c5a:	c1 f8 02             	sar    $0x2,%eax
573c5d:	2b c8                	sub    %eax,%ecx
573c5f:	b8 19 3d c8 1a       	mov    $0x1ac83d19,%eax
573c64:	03 e9                	add    %ecx,%ebp
573c66:	89 6c 24 10          	mov    %ebp,0x10(%esp)
573c6a:	8d 0c ad 00 00 00 00 	lea    0x0(,%ebp,4),%ecx
573c71:	03 cd                	add    %ebp,%ecx
573c73:	c1 e1 04             	shl    $0x4,%ecx
573c76:	f7 e9                	imul   %ecx
573c78:	b8 67 66 66 66       	mov    $0x66666667,%eax
573c7d:	c1 fa 08             	sar    $0x8,%edx
573c80:	8b ea                	mov    %edx,%ebp
573c82:	c1 ed 1f             	shr    $0x1f,%ebp
573c85:	03 ea                	add    %edx,%ebp
573c87:	69 cd 8f 09 00 00    	imul   $0x98f,%ebp,%ecx
573c8d:	f7 e9                	imul   %ecx
573c8f:	c1 fa 05             	sar    $0x5,%edx
573c92:	8b c2                	mov    %edx,%eax
573c94:	c1 e8 1f             	shr    $0x1f,%eax
573c97:	03 c2                	add    %edx,%eax
573c99:	29 44 24 10          	sub    %eax,0x10(%esp)
573c9d:	b8 e9 a2 8b 2e       	mov    $0x2e8ba2e9,%eax
573ca2:	f7 ed                	imul   %ebp
573ca4:	8d 47 bc             	lea    -0x44(%edi),%eax
573ca7:	d1 fa                	sar    $1,%edx
573ca9:	6b c0 64             	imul   $0x64,%eax,%eax
573cac:	8b ca                	mov    %edx,%ecx
573cae:	c1 e9 1f             	shr    $0x1f,%ecx
573cb1:	03 ca                	add    %edx,%ecx
573cb3:	03 c1                	add    %ecx,%eax
573cb5:	03 c6                	add    %esi,%eax
573cb7:	3d a3 1f 00 00       	cmp    $0x1fa3,%eax
573cbc:	77 69                	ja     0x573d27
573cbe:	8b 74 24 14          	mov    0x14(%esp),%esi
573cc2:	bf 3c 00 00 00       	mov    $0x3c,%edi
573cc7:	89 43 14             	mov    %eax,0x14(%ebx)
573cca:	8d 04 49             	lea    (%ecx,%ecx,2),%eax
573ccd:	c1 e0 02             	shl    $0x2,%eax
573cd0:	2b e8                	sub    %eax,%ebp
573cd2:	8b 44 24 10          	mov    0x10(%esp),%eax
573cd6:	89 43 0c             	mov    %eax,0xc(%ebx)
573cd9:	45                   	inc    %ebp
573cda:	b8 c5 b3 a2 91       	mov    $0x91a2b3c5,%eax
573cdf:	89 6b 10             	mov    %ebp,0x10(%ebx)
573ce2:	f7 ee                	imul   %esi
573ce4:	03 d6                	add    %esi,%edx
573ce6:	c1 fa 0b             	sar    $0xb,%edx
573ce9:	8b c2                	mov    %edx,%eax
573ceb:	c1 e8 1f             	shr    $0x1f,%eax
573cee:	03 c2                	add    %edx,%eax
573cf0:	89 43 08             	mov    %eax,0x8(%ebx)
573cf3:	b8 89 88 88 88       	mov    $0x88888889,%eax
573cf8:	f7 ee                	imul   %esi
573cfa:	03 d6                	add    %esi,%edx
573cfc:	c1 fa 05             	sar    $0x5,%edx
573cff:	8b ca                	mov    %edx,%ecx
573d01:	c1 e9 1f             	shr    $0x1f,%ecx
573d04:	03 ca                	add    %edx,%ecx
573d06:	8b c1                	mov    %ecx,%eax
573d08:	99                   	cltd
573d09:	f7 ff                	idiv   %edi
573d0b:	8b c1                	mov    %ecx,%eax
573d0d:	c1 e0 04             	shl    $0x4,%eax
573d10:	2b c1                	sub    %ecx,%eax
573d12:	89 53 04             	mov    %edx,0x4(%ebx)
573d15:	c1 e0 02             	shl    $0x2,%eax
573d18:	2b f0                	sub    %eax,%esi
573d1a:	8d 47 c5             	lea    -0x3b(%edi),%eax
573d1d:	5f                   	pop    %edi
573d1e:	89 33                	mov    %esi,(%ebx)
573d20:	5e                   	pop    %esi
573d21:	5d                   	pop    %ebp
573d22:	5b                   	pop    %ebx
573d23:	83 c4 08             	add    $0x8,%esp
573d26:	c3                   	ret
573d27:	5f                   	pop    %edi
573d28:	5e                   	pop    %esi
573d29:	5d                   	pop    %ebp
573d2a:	33 c0                	xor    %eax,%eax
573d2c:	5b                   	pop    %ebx
573d2d:	83 c4 08             	add    $0x8,%esp
573d30:	c3                   	ret
573d31:	cc                   	int3
573d32:	cc                   	int3
573d33:	cc                   	int3
573d34:	cc                   	int3
573d35:	cc                   	int3