51698a:	83 c4 0c             	add    $0xc,%esp
51698d:	c3                   	ret
51698e:	50                   	push   %eax
51698f:	8d 44 24 08          	lea    0x8(%esp),%eax
516993:	50                   	push   %eax
516994:	e8 f7 d1 03 00       	call   0x553b90
516999:	83 c4 08             	add    $0x8,%esp
51699c:	5e                   	pop    %esi
51699d:	83 c4 0c             	add    $0xc,%esp
5169a0:	c3                   	ret
5169a1:	cc                   	int3
5169a2:	cc                   	int3
5169a3:	cc                   	int3
5169a4:	cc                   	int3
5169a5:	cc                   	int3
5169a6:	cc                   	int3
5169a7:	cc                   	int3
5169a8:	cc                   	int3
5169a9:	cc                   	int3
5169aa:	cc                   	int3
5169ab:	cc                   	int3
5169ac:	cc                   	int3
5169ad:	cc                   	int3
5169ae:	cc                   	int3
5169af:	cc                   	int3
5169b0:	b8 0c 00 00 00       	mov    $0xc,%eax
5169b5:	e8 f6 ad 0b 00       	call   0x5d17b0
5169ba:	56                   	push   %esi
5169bb:	8b 74 24 14          	mov    0x14(%esp),%esi
5169bf:	85 f6                	test   %esi,%esi
5169c1:	75 38                	jne    0x5169fb
5169c3:	ff 74 24 1c          	push   0x1c(%esp)
5169c7:	ff 74 24 1c          	push   0x1c(%esp)
5169cb:	56                   	push   %esi
5169cc:	e8 0f d2 03 00       	call   0x553be0
5169d1:	83 c4 0c             	add    $0xc,%esp
5169d4:	85 c0                	test   %eax,%eax
5169d6:	0f 85 8a 00 00 00    	jne    0x516a66
5169dc:	68 0e 01 00 00       	push   $0x10e
5169e1:	68 80 18 63 00       	push   $0x631880
5169e6:	6a 6a                	push   $0x6a
5169e8:	6a 6d                	push   $0x6d
5169ea:	6a 0e                	push   $0xe
5169ec:	e8 8f 25 fc ff       	call   0x4d8f80
5169f1:	83 c4 14             	add    $0x14,%esp
5169f4:	33 c0                	xor    %eax,%eax
5169f6:	5e                   	pop    %esi
5169f7:	83 c4 0c             	add    $0xc,%esp
5169fa:	c3                   	ret
5169fb:	a1 34 6a 69 00       	mov    0x696a34,%eax
516a00:	85 c0                	test   %eax,%eax
516a02:	75 0a                	jne    0x516a0e
516a04:	e8 67 c8 03 00       	call   0x553270
516a09:	a3 34 6a 69 00       	mov    %eax,0x696a34
516a0e:	8b 40 08             	mov    0x8(%eax),%eax
516a11:	8d 4c 24 04          	lea    0x4(%esp),%ecx
516a15:	51                   	push   %ecx
516a16:	ff d0                	call   *%eax
516a18:	89 74 24 10          	mov    %esi,0x10(%esp)
516a1c:	8d 44 24 08          	lea    0x8(%esp),%eax
516a20:	8b 74 24 20          	mov    0x20(%esp),%esi
516a24:	56                   	push   %esi
516a25:	ff 74 24 20          	push   0x20(%esp)
516a29:	50                   	push   %eax
516a2a:	e8 b1 d1 03 00       	call   0x553be0
516a2f:	83 c4 10             	add    $0x10,%esp
516a32:	85 c0                	test   %eax,%eax
516a34:	75 30                	jne    0x516a66
516a36:	68 11 01 00 00       	push   $0x111
516a3b:	68 80 18 63 00       	push   $0x631880
516a40:	6a 6c                	push   $0x6c
516a42:	6a 6d                	push   $0x6d
516a44:	6a 0e                	push   $0xe
516a46:	e8 35 25 fc ff       	call   0x4d8f80
516a4b:	56                   	push   %esi
516a4c:	68 98 18 63 00       	push   $0x631898
516a51:	ff 74 24 34          	push   0x34(%esp)
516a55:	68 a0 18 63 00       	push   $0x6318a0
516a5a:	6a 04                	push   $0x4
516a5c:	e8 0f 1c fc ff       	call   0x4d8670
516a61:	83 c4 28             	add    $0x28,%esp
516a64:	33 c0                	xor    %eax,%eax
516a66:	5e                   	pop    %esi
516a67:	83 c4 0c             	add    $0xc,%esp
516a6a:	c3                   	ret
516a6b:	cc                   	int3
516a6c:	cc                   	int3
516a6d:	cc                   	int3
516a6e:	cc                   	int3
516a6f:	cc                   	int3
516a70:	8b 4c 24 04          	mov    0x4(%esp),%ecx
516a74:	85 c9                	test   %ecx,%ecx
516a76:	74 0b                	je     0x516a83
516a78:	8b 01                	mov    (%ecx),%eax
516a7a:	89 4c 24 04          	mov    %ecx,0x4(%esp)
516a7e:	8b 40 0c             	mov    0xc(%eax),%eax
516a81:	ff e0                	jmp    *%eax
516a83:	c3                   	ret
516a84:	cc                   	int3
516a85:	cc                   	int3
516a86:	cc                   	int3
516a87:	cc                   	int3
516a88:	cc                   	int3
516a89:	cc                   	int3
516a8a:	cc                   	int3
516a8b:	cc                   	int3
516a8c:	cc                   	int3
516a8d:	cc                   	int3
516a8e:	cc                   	int3
516a8f:	cc                   	int3
516a90:	b8 08 00 00 00       	mov    $0x8,%eax
516a95:	e8 16 ad 0b 00       	call   0x5d17b0
516a9a:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
516a9f:	55                   	push   %ebp
516aa0:	57                   	push   %edi
516aa1:	bf 60 6d 51 00       	mov    $0x516d60,%edi
516aa6:	bd 40 6d 51 00       	mov    $0x516d40,%ebp
516aab:	89 7c 24 08          	mov    %edi,0x8(%esp)
516aaf:	75 20                	jne    0x516ad1
516ab1:	68 29 01 00 00       	push   $0x129
516ab6:	68 80 18 63 00       	push   $0x631880
516abb:	6a 43                	push   $0x43
516abd:	6a 70                	push   $0x70
516abf:	6a 0e                	push   $0xe
516ac1:	e8 ba 24 fc ff       	call   0x4d8f80
516ac6:	83 c4 14             	add    $0x14,%esp
516ac9:	33 c0                	xor    %eax,%eax
516acb:	5f                   	pop    %edi
516acc:	5d                   	pop    %ebp
516acd:	83 c4 08             	add    $0x8,%esp
516ad0:	c3                   	ret
516ad1:	53                   	push   %ebx
516ad2:	8b 5c 24 18          	mov    0x18(%esp),%ebx
516ad6:	56                   	push   %esi
516ad7:	ff 74 24 24          	push   0x24(%esp)
516adb:	ff 74 24 24          	push   0x24(%esp)
516adf:	53                   	push   %ebx
516ae0:	e8 fb d0 03 00       	call   0x553be0
516ae5:	8b f0                	mov    %eax,%esi
516ae7:	83 c4 0c             	add    $0xc,%esp
516aea:	85 f6                	test   %esi,%esi
516aec:	0f 84 a8 00 00 00    	je     0x516b9a
516af2:	85 db                	test   %ebx,%ebx
516af4:	74 16                	je     0x516b0c
516af6:	8b 03                	mov    (%ebx),%eax
516af8:	8b 48 1c             	mov    0x1c(%eax),%ecx
516afb:	85 c9                	test   %ecx,%ecx
516afd:	8b 40 20             	mov    0x20(%eax),%eax
516b00:	0f 45 e9             	cmovne %ecx,%ebp
516b03:	85 c0                	test   %eax,%eax
516b05:	0f 45 f8             	cmovne %eax,%edi
516b08:	89 7c 24 10          	mov    %edi,0x10(%esp)
516b0c:	0f b6 06             	movzbl (%esi),%eax
516b0f:	33 ff                	xor    %edi,%edi
516b11:	50                   	push   %eax
516b12:	53                   	push   %ebx
516b13:	ff d5                	call   *%ebp
516b15:	83 c4 08             	add    $0x8,%esp
516b18:	85 c0                	test   %eax,%eax
516b1a:	74 49                	je     0x516b65
516b1c:	0f 1f 40 00          	nopl   0x0(%eax)
516b20:	0f b6 06             	movzbl (%esi),%eax
516b23:	50                   	push   %eax
516b24:	53                   	push   %ebx
516b25:	ff 54 24 18          	call   *0x18(%esp)
516b29:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
516b2e:	89 44 24 1c          	mov    %eax,0x1c(%esp)
516b32:	2b c8                	sub    %eax,%ecx
516b34:	83 c4 08             	add    $0x8,%esp
516b37:	b8 67 66 66 66       	mov    $0x66666667,%eax
516b3c:	f7 e9                	imul   %ecx
516b3e:	c1 fa 02             	sar    $0x2,%edx
516b41:	8b ca                	mov    %edx,%ecx
516b43:	c1 e9 1f             	shr    $0x1f,%ecx
516b46:	03 ca                	add    %edx,%ecx
516b48:	3b f9                	cmp    %ecx,%edi
516b4a:	7f 2c                	jg     0x516b78
516b4c:	8b 4c 24 14          	mov    0x14(%esp),%ecx
516b50:	8d 04 bf             	lea    (%edi,%edi,4),%eax
516b53:	46                   	inc    %esi
516b54:	8d 3c 41             	lea    (%ecx,%eax,2),%edi
516b57:	0f b6 06             	movzbl (%esi),%eax
516b5a:	50                   	push   %eax
516b5b:	53                   	push   %ebx
516b5c:	ff d5                	call   *%ebp
516b5e:	83 c4 08             	add    $0x8,%esp
516b61:	85 c0                	test   %eax,%eax
516b63:	75 bb                	jne    0x516b20
516b65:	8b 44 24 28          	mov    0x28(%esp),%eax
516b69:	5e                   	pop    %esi
516b6a:	5b                   	pop    %ebx
516b6b:	89 38                	mov    %edi,(%eax)
516b6d:	b8 01 00 00 00       	mov    $0x1,%eax
516b72:	5f                   	pop    %edi
516b73:	5d                   	pop    %ebp
516b74:	83 c4 08             	add    $0x8,%esp
516b77:	c3                   	ret
516b78:	68 3c 01 00 00       	push   $0x13c
516b7d:	68 80 18 63 00       	push   $0x631880
516b82:	6a 79                	push   $0x79
516b84:	6a 70                	push   $0x70
516b86:	6a 0e                	push   $0xe
516b88:	e8 f3 23 fc ff       	call   0x4d8f80
516b8d:	83 c4 14             	add    $0x14,%esp
516b90:	33 c0                	xor    %eax,%eax
516b92:	5e                   	pop    %esi
516b93:	5b                   	pop    %ebx
516b94:	5f                   	pop    %edi
516b95:	5d                   	pop    %ebp
516b96:	83 c4 08             	add    $0x8,%esp
516b99:	c3                   	ret
516b9a:	85 db                	test   %ebx,%ebx
516b9c:	75 22                	jne    0x516bc0
516b9e:	68 0e 01 00 00       	push   $0x10e
516ba3:	68 80 18 63 00       	push   $0x631880
516ba8:	6a 6a                	push   $0x6a
516baa:	6a 6d                	push   $0x6d
516bac:	6a 0e                	push   $0xe
516bae:	e8 cd 23 fc ff       	call   0x4d8f80
516bb3:	83 c4 14             	add    $0x14,%esp
516bb6:	33 c0                	xor    %eax,%eax
516bb8:	5e                   	pop    %esi
516bb9:	5b                   	pop    %ebx
516bba:	5f                   	pop    %edi
516bbb:	5d                   	pop    %ebp
516bbc:	83 c4 08             	add    $0x8,%esp
516bbf:	c3                   	ret
516bc0:	68 11 01 00 00       	push   $0x111
516bc5:	68 80 18 63 00       	push   $0x631880
516bca:	6a 6c                	push   $0x6c
516bcc:	6a 6d                	push   $0x6d
516bce:	6a 0e                	push   $0xe
516bd0:	e8 ab 23 fc ff       	call   0x4d8f80
516bd5:	ff 74 24 38          	push   0x38(%esp)
516bd9:	68 98 18 63 00       	push   $0x631898
516bde:	ff 74 24 3c          	push   0x3c(%esp)
516be2:	68 a0 18 63 00       	push   $0x6318a0
516be7:	6a 04                	push   $0x4
516be9:	e8 82 1a fc ff       	call   0x4d8670
516bee:	83 c4 28             	add    $0x28,%esp
516bf1:	33 c0                	xor    %eax,%eax
516bf3:	5e                   	pop    %esi
516bf4:	5b                   	pop    %ebx
516bf5:	5f                   	pop    %edi
516bf6:	5d                   	pop    %ebp
516bf7:	83 c4 08             	add    $0x8,%esp
516bfa:	c3                   	ret
516bfb:	cc                   	int3
516bfc:	cc                   	int3
516bfd:	cc                   	int3
516bfe:	cc                   	int3
516bff:	cc                   	int3
516c00:	8b 44 24 04          	mov    0x4(%esp),%eax
516c04:	85 c0                	test   %eax,%eax
516c06:	75 1b                	jne    0x516c23
516c08:	68 f5 00 00 00       	push   $0xf5
516c0d:	68 80 18 63 00       	push   $0x631880
516c12:	6a 69                	push   $0x69
516c14:	6a 6c                	push   $0x6c
516c16:	6a 0e                	push   $0xe
516c18:	e8 63 23 fc ff       	call   0x4d8f80
516c1d:	83 c4 14             	add    $0x14,%esp
516c20:	33 c0                	xor    %eax,%eax
516c22:	c3                   	ret
516c23:	8b 4c 24 08          	mov    0x8(%esp),%ecx
516c27:	85 c9                	test   %ecx,%ecx
516c29:	75 1b                	jne    0x516c46
516c2b:	68 fa 00 00 00       	push   $0xfa
516c30:	68 80 18 63 00       	push   $0x631880
516c35:	6a 6b                	push   $0x6b
516c37:	6a 6c                	push   $0x6c
516c39:	6a 0e                	push   $0xe
516c3b:	e8 40 23 fc ff       	call   0x4d8f80
516c40:	83 c4 14             	add    $0x14,%esp
516c43:	33 c0                	xor    %eax,%eax
516c45:	c3                   	ret
516c46:	89 4c 24 08          	mov    %ecx,0x8(%esp)
516c4a:	89 44 24 04          	mov    %eax,0x4(%esp)
516c4e:	e9 3d cf 03 00       	jmp    0x553b90
516c53:	cc                   	int3
516c54:	cc                   	int3
516c55:	cc                   	int3
516c56:	cc                   	int3
516c57:	cc                   	int3
516c58:	cc                   	int3
516c59:	cc                   	int3
516c5a:	cc                   	int3
516c5b:	cc                   	int3
516c5c:	cc                   	int3
516c5d:	cc                   	int3
516c5e:	cc                   	int3
516c5f:	cc                   	int3
516c60:	ff 74 24 0c          	push   0xc(%esp)
516c64:	ff 74 24 0c          	push   0xc(%esp)
516c68:	ff 74 24 0c          	push   0xc(%esp)
516c6c:	e8 6f cf 03 00       	call   0x553be0
516c71:	83 c4 0c             	add    $0xc,%esp
516c74:	85 c0                	test   %eax,%eax
516c76:	75 54                	jne    0x516ccc
516c78:	39 44 24 04          	cmp    %eax,0x4(%esp)
516c7c:	75 1b                	jne    0x516c99
516c7e:	68 0e 01 00 00       	push   $0x10e
516c83:	68 80 18 63 00       	push   $0x631880
516c88:	6a 6a                	push   $0x6a
516c8a:	6a 6d                	push   $0x6d
516c8c:	6a 0e                	push   $0xe
516c8e:	e8 ed 22 fc ff       	call   0x4d8f80
516c93:	83 c4 14             	add    $0x14,%esp
516c96:	33 c0                	xor    %eax,%eax
516c98:	c3                   	ret
516c99:	68 11 01 00 00       	push   $0x111
516c9e:	68 80 18 63 00       	push   $0x631880
516ca3:	6a 6c                	push   $0x6c
516ca5:	6a 6d                	push   $0x6d
516ca7:	6a 0e                	push   $0xe
516ca9:	e8 d2 22 fc ff       	call   0x4d8f80
516cae:	ff 74 24 20          	push   0x20(%esp)
516cb2:	68 98 18 63 00       	push   $0x631898
516cb7:	ff 74 24 24          	push   0x24(%esp)
516cbb:	68 a0 18 63 00       	push   $0x6318a0
516cc0:	6a 04                	push   $0x4
516cc2:	e8 a9 19 fc ff       	call   0x4d8670
516cc7:	83 c4 28             	add    $0x28,%esp
516cca:	33 c0                	xor    %eax,%eax
516ccc:	c3                   	ret
516ccd:	cc                   	int3
516cce:	cc                   	int3
516ccf:	cc                   	int3
516cd0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
516cd4:	85 c9                	test   %ecx,%ecx
516cd6:	75 1b                	jne    0x516cf3
516cd8:	68 d2 00 00 00       	push   $0xd2
516cdd:	68 80 18 63 00       	push   $0x631880
516ce2:	6a 69                	push   $0x69
516ce4:	6a 71                	push   $0x71
516ce6:	6a 0e                	push   $0xe
516ce8:	e8 93 22 fc ff       	call   0x4d8f80
516ced:	83 c4 14             	add    $0x14,%esp
516cf0:	33 c0                	xor    %eax,%eax
516cf2:	c3                   	ret
516cf3:	8b 01                	mov    (%ecx),%eax
516cf5:	89 4c 24 04          	mov    %ecx,0x4(%esp)
516cf9:	8b 40 24             	mov    0x24(%eax),%eax
516cfc:	ff e0                	jmp    *%eax
516cfe:	cc                   	int3
516cff:	cc                   	int3
516d00:	8b 44 24 04          	mov    0x4(%esp),%eax
516d04:	85 c0                	test   %eax,%eax
516d06:	75 05                	jne    0x516d0d
516d08:	e8 63 c5 03 00       	call   0x553270