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
516d0d:	50                   	push   %eax
516d0e:	8b 40 04             	mov    0x4(%eax),%eax
516d11:	ff d0                	call   *%eax
516d13:	83 c4 04             	add    $0x4,%esp
516d16:	85 c0                	test   %eax,%eax
516d18:	75 1a                	jne    0x516d34
516d1a:	68 ba 00 00 00       	push   $0xba
516d1f:	68 80 18 63 00       	push   $0x631880
516d24:	6a 41                	push   $0x41
516d26:	6a 6f                	push   $0x6f
516d28:	6a 0e                	push   $0xe
516d2a:	e8 51 22 fc ff       	call   0x4d8f80
516d2f:	83 c4 14             	add    $0x14,%esp
516d32:	33 c0                	xor    %eax,%eax
516d34:	c3                   	ret
516d35:	cc                   	int3
516d36:	cc                   	int3
516d37:	cc                   	int3
516d38:	cc                   	int3
516d39:	cc                   	int3
516d3a:	cc                   	int3
516d3b:	cc                   	int3
516d3c:	cc                   	int3
516d3d:	cc                   	int3
516d3e:	cc                   	int3
516d3f:	cc                   	int3
516d40:	0f be 44 24 08       	movsbl 0x8(%esp),%eax
516d45:	6a 04                	push   $0x4
516d47:	50                   	push   %eax
516d48:	e8 53 d3 fc ff       	call   0x4e40a0
516d4d:	83 c4 08             	add    $0x8,%esp
516d50:	c3                   	ret
516d51:	cc                   	int3
516d52:	cc                   	int3
516d53:	cc                   	int3
516d54:	cc                   	int3
516d55:	cc                   	int3
516d56:	cc                   	int3
516d57:	cc                   	int3
516d58:	cc                   	int3
516d59:	cc                   	int3
516d5a:	cc                   	int3
516d5b:	cc                   	int3
516d5c:	cc                   	int3
516d5d:	cc                   	int3
516d5e:	cc                   	int3
516d5f:	cc                   	int3
516d60:	0f be 44 24 08       	movsbl 0x8(%esp),%eax
516d65:	83 e8 30             	sub    $0x30,%eax
516d68:	c3                   	ret
516d69:	cc                   	int3
516d6a:	cc                   	int3
516d6b:	cc                   	int3
516d6c:	cc                   	int3
516d6d:	cc                   	int3
516d6e:	cc                   	int3
516d6f:	cc                   	int3
516d70:	8b 4c 24 04          	mov    0x4(%esp),%ecx
516d74:	85 c9                	test   %ecx,%ecx
516d76:	74 52                	je     0x516dca
516d78:	8b 54 24 08          	mov    0x8(%esp),%edx
516d7c:	85 d2                	test   %edx,%edx
516d7e:	74 4a                	je     0x516dca
516d80:	8b 01                	mov    (%ecx),%eax
516d82:	8b 40 0c             	mov    0xc(%eax),%eax
516d85:	85 c0                	test   %eax,%eax
516d87:	75 1b                	jne    0x516da4
516d89:	68 b6 00 00 00       	push   $0xb6
516d8e:	68 a8 18 63 00       	push   $0x6318a8
516d93:	6a 6c                	push   $0x6c
516d95:	6a 6c                	push   $0x6c
516d97:	6a 25                	push   $0x25
516d99:	e8 e2 21 fc ff       	call   0x4d8f80
516d9e:	83 c4 14             	add    $0x14,%esp
516da1:	33 c0                	xor    %eax,%eax
516da3:	c3                   	ret
516da4:	52                   	push   %edx
516da5:	51                   	push   %ecx
516da6:	ff d0                	call   *%eax
516da8:	83 c4 08             	add    $0x8,%esp
516dab:	85 c0                	test   %eax,%eax
516dad:	75 35                	jne    0x516de4
516daf:	68 ba 00 00 00       	push   $0xba
516db4:	68 a8 18 63 00       	push   $0x6318a8
516db9:	6a 6a                	push   $0x6a
516dbb:	6a 6c                	push   $0x6c
516dbd:	6a 25                	push   $0x25
516dbf:	e8 bc 21 fc ff       	call   0x4d8f80
516dc4:	83 c4 14             	add    $0x14,%esp
516dc7:	33 c0                	xor    %eax,%eax
516dc9:	c3                   	ret
516dca:	68 b2 00 00 00       	push   $0xb2
516dcf:	68 a8 18 63 00       	push   $0x6318a8
516dd4:	6a 43                	push   $0x43
516dd6:	6a 6c                	push   $0x6c
516dd8:	6a 25                	push   $0x25
516dda:	e8 a1 21 fc ff       	call   0x4d8f80
516ddf:	83 c4 14             	add    $0x14,%esp
516de2:	33 c0                	xor    %eax,%eax
516de4:	c3                   	ret
516de5:	cc                   	int3
516de6:	cc                   	int3
516de7:	cc                   	int3
516de8:	cc                   	int3
516de9:	cc                   	int3
516dea:	cc                   	int3
516deb:	cc                   	int3
516dec:	cc                   	int3
516ded:	cc                   	int3
516dee:	cc                   	int3
516def:	cc                   	int3
516df0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
516df4:	85 c9                	test   %ecx,%ecx
516df6:	75 1b                	jne    0x516e13
516df8:	68 1d 01 00 00       	push   $0x11d
516dfd:	68 a8 18 63 00       	push   $0x6318a8
516e02:	6a 43                	push   $0x43
516e04:	6a 7e                	push   $0x7e
516e06:	6a 25                	push   $0x25
516e08:	e8 73 21 fc ff       	call   0x4d8f80
516e0d:	83 c4 14             	add    $0x14,%esp
516e10:	33 c0                	xor    %eax,%eax
516e12:	c3                   	ret
516e13:	56                   	push   %esi
516e14:	8b 74 24 0c          	mov    0xc(%esp),%esi
516e18:	85 f6                	test   %esi,%esi
516e1a:	75 23                	jne    0x516e3f
516e1c:	8b 71 1c             	mov    0x1c(%ecx),%esi
516e1f:	85 f6                	test   %esi,%esi
516e21:	75 1c                	jne    0x516e3f
516e23:	68 23 01 00 00       	push   $0x123
516e28:	68 a8 18 63 00       	push   $0x6318a8
516e2d:	6a 6f                	push   $0x6f
516e2f:	6a 7e                	push   $0x7e
516e31:	6a 25                	push   $0x25
516e33:	e8 48 21 fc ff       	call   0x4d8f80
516e38:	83 c4 14             	add    $0x14,%esp
516e3b:	33 c0                	xor    %eax,%eax
516e3d:	5e                   	pop    %esi
516e3e:	c3                   	ret
516e3f:	f6 41 0c 01          	testb  $0x1,0xc(%ecx)
516e43:	75 1b                	jne    0x516e60
516e45:	8b 41 14             	mov    0x14(%ecx),%eax
516e48:	85 c0                	test   %eax,%eax
516e4a:	75 09                	jne    0x516e55
516e4c:	8b 01                	mov    (%ecx),%eax
516e4e:	8b 40 14             	mov    0x14(%eax),%eax
516e51:	85 c0                	test   %eax,%eax
516e53:	74 0b                	je     0x516e60
516e55:	56                   	push   %esi
516e56:	51                   	push   %ecx
516e57:	ff d0                	call   *%eax
516e59:	83 c4 08             	add    $0x8,%esp
516e5c:	85 c0                	test   %eax,%eax
516e5e:	75 31                	jne    0x516e91
516e60:	68 2d 01 00 00       	push   $0x12d
516e65:	68 a8 18 63 00       	push   $0x6318a8
516e6a:	56                   	push   %esi
516e6b:	e8 60 b2 fc ff       	call   0x4e20d0
516e70:	83 c4 0c             	add    $0xc,%esp
516e73:	85 c0                	test   %eax,%eax
516e75:	75 1a                	jne    0x516e91
516e77:	68 2f 01 00 00       	push   $0x12f
516e7c:	68 a8 18 63 00       	push   $0x6318a8
516e81:	6a 41                	push   $0x41
516e83:	6a 7e                	push   $0x7e
516e85:	6a 25                	push   $0x25
516e87:	e8 f4 20 fc ff       	call   0x4d8f80
516e8c:	83 c4 14             	add    $0x14,%esp
516e8f:	33 c0                	xor    %eax,%eax
516e91:	5e                   	pop    %esi
516e92:	c3                   	ret
516e93:	cc                   	int3
516e94:	cc                   	int3
516e95:	cc                   	int3