556a63:	5f                   	pop    %edi
556a64:	5e                   	pop    %esi
556a65:	5d                   	pop    %ebp
556a66:	5b                   	pop    %ebx
556a67:	59                   	pop    %ecx
556a68:	c3                   	ret
556a69:	8b 7e 18             	mov    0x18(%esi),%edi
556a6c:	85 ff                	test   %edi,%edi
556a6e:	75 93                	jne    0x556a03
556a70:	e9 6f ff ff ff       	jmp    0x5569e4
556a75:	8b 7e 0c             	mov    0xc(%esi),%edi
556a78:	eb f2                	jmp    0x556a6c
556a7a:	8b 7c 24 20          	mov    0x20(%esp),%edi
556a7e:	3b 3e                	cmp    (%esi),%edi
556a80:	7e 35                	jle    0x556ab7
556a82:	68 24 01 00 00       	push   $0x124
556a87:	68 70 ec 64 00       	push   $0x64ec70
556a8c:	57                   	push   %edi
556a8d:	e8 be 9c f8 ff       	call   0x4e0750
556a92:	8b d8                	mov    %eax,%ebx
556a94:	83 c4 0c             	add    $0xc,%esp
556a97:	85 db                	test   %ebx,%ebx
556a99:	0f 84 e1 00 00 00    	je     0x556b80
556a9f:	68 27 01 00 00       	push   $0x127
556aa4:	68 70 ec 64 00       	push   $0x64ec70
556aa9:	ff 76 08             	push   0x8(%esi)
556aac:	e8 cf 9c f8 ff       	call   0x4e0780
556ab1:	83 c4 0c             	add    $0xc,%esp
556ab4:	89 5e 08             	mov    %ebx,0x8(%esi)
556ab7:	57                   	push   %edi
556ab8:	ff 74 24 28          	push   0x28(%esp)
556abc:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
556ac3:	ff 76 08             	push   0x8(%esi)
556ac6:	89 7e 0c             	mov    %edi,0xc(%esi)
556ac9:	e8 02 c3 07 00       	call   0x5d2dd0
556ace:	83 c4 0c             	add    $0xc,%esp
556ad1:	bf 01 00 00 00       	mov    $0x1,%edi
556ad6:	8b c7                	mov    %edi,%eax
556ad8:	5f                   	pop    %edi
556ad9:	5e                   	pop    %esi
556ada:	5d                   	pop    %ebp
556adb:	5b                   	pop    %ebx
556adc:	59                   	pop    %ecx
556add:	c3                   	ret
556ade:	8b 44 24 24          	mov    0x24(%esp),%eax
556ae2:	8b 5c 24 20          	mov    0x20(%esp),%ebx
556ae6:	85 c0                	test   %eax,%eax
556ae8:	74 1c                	je     0x556b06
556aea:	83 38 00             	cmpl   $0x0,(%eax)
556aed:	75 0f                	jne    0x556afe
556aef:	8b 46 04             	mov    0x4(%esi),%eax
556af2:	8b cb                	mov    %ebx,%ecx
556af4:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
556af8:	89 44 24 18          	mov    %eax,0x18(%esp)
556afc:	eb 12                	jmp    0x556b10
556afe:	8b 0e                	mov    (%esi),%ecx
556b00:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
556b04:	eb 06                	jmp    0x556b0c
556b06:	8b cb                	mov    %ebx,%ecx
556b08:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
556b0c:	89 5c 24 18          	mov    %ebx,0x18(%esp)
556b10:	8b 46 14             	mov    0x14(%esi),%eax
556b13:	8b 6e 08             	mov    0x8(%esi),%ebp
556b16:	89 44 24 10          	mov    %eax,0x10(%esp)
556b1a:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
556b20:	7e 1d                	jle    0x556b3f
556b22:	3b 0e                	cmp    (%esi),%ecx
556b24:	74 19                	je     0x556b3f
556b26:	68 41 01 00 00       	push   $0x141
556b2b:	68 70 ec 64 00       	push   $0x64ec70
556b30:	53                   	push   %ebx
556b31:	e8 1a 9c f8 ff       	call   0x4e0750
556b36:	8b e8                	mov    %eax,%ebp
556b38:	83 c4 0c             	add    $0xc,%esp
556b3b:	85 ed                	test   %ebp,%ebp
556b3d:	74 41                	je     0x556b80
556b3f:	8b 44 24 18          	mov    0x18(%esp),%eax
556b43:	3d 00 10 00 00       	cmp    $0x1000,%eax
556b48:	7e 56                	jle    0x556ba0
556b4a:	3b 46 04             	cmp    0x4(%esi),%eax
556b4d:	74 51                	je     0x556ba0
556b4f:	68 46 01 00 00       	push   $0x146
556b54:	68 70 ec 64 00       	push   $0x64ec70
556b59:	53                   	push   %ebx
556b5a:	e8 f1 9b f8 ff       	call   0x4e0750
556b5f:	8b d8                	mov    %eax,%ebx
556b61:	83 c4 0c             	add    $0xc,%esp
556b64:	85 db                	test   %ebx,%ebx
556b66:	75 3c                	jne    0x556ba4
556b68:	3b 6e 08             	cmp    0x8(%esi),%ebp
556b6b:	74 13                	je     0x556b80
556b6d:	68 49 01 00 00       	push   $0x149
556b72:	68 70 ec 64 00       	push   $0x64ec70
556b77:	55                   	push   %ebp
556b78:	e8 03 9c f8 ff       	call   0x4e0780
556b7d:	83 c4 0c             	add    $0xc,%esp
556b80:	68 97 01 00 00       	push   $0x197
556b85:	68 70 ec 64 00       	push   $0x64ec70
556b8a:	6a 41                	push   $0x41
556b8c:	6a 72                	push   $0x72
556b8e:	6a 20                	push   $0x20
556b90:	e8 eb 23 f8 ff       	call   0x4d8f80
556b95:	83 c4 14             	add    $0x14,%esp
556b98:	33 c0                	xor    %eax,%eax
556b9a:	5f                   	pop    %edi
556b9b:	5e                   	pop    %esi
556b9c:	5d                   	pop    %ebp
556b9d:	5b                   	pop    %ebx
556b9e:	59                   	pop    %ecx
556b9f:	c3                   	ret
556ba0:	8b 5c 24 10          	mov    0x10(%esp),%ebx
556ba4:	8b 46 08             	mov    0x8(%esi),%eax
556ba7:	3b c5                	cmp    %ebp,%eax
556ba9:	74 2a                	je     0x556bd5
556bab:	68 4e 01 00 00       	push   $0x14e
556bb0:	68 70 ec 64 00       	push   $0x64ec70
556bb5:	50                   	push   %eax
556bb6:	e8 c5 9b f8 ff       	call   0x4e0780
556bbb:	8b 44 24 28          	mov    0x28(%esp),%eax
556bbf:	83 c4 0c             	add    $0xc,%esp
556bc2:	89 6e 08             	mov    %ebp,0x8(%esi)
556bc5:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
556bcc:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
556bd3:	89 06                	mov    %eax,(%esi)
556bd5:	8b 46 14             	mov    0x14(%esi),%eax
556bd8:	3b c3                	cmp    %ebx,%eax
556bda:	0f 84 23 fe ff ff    	je     0x556a03
556be0:	68 55 01 00 00       	push   $0x155
556be5:	68 70 ec 64 00       	push   $0x64ec70
556bea:	50                   	push   %eax
556beb:	e8 90 9b f8 ff       	call   0x4e0780
556bf0:	8b 44 24 24          	mov    0x24(%esp),%eax
556bf4:	83 c4 0c             	add    $0xc,%esp
556bf7:	89 46 04             	mov    %eax,0x4(%esi)
556bfa:	8b c7                	mov    %edi,%eax
556bfc:	89 5e 14             	mov    %ebx,0x14(%esi)
556bff:	c7 46 1c 00 00 00 00 	movl   $0x0,0x1c(%esi)
556c06:	5f                   	pop    %edi
556c07:	c7 46 18 00 00 00 00 	movl   $0x0,0x18(%esi)
556c0e:	5e                   	pop    %esi
556c0f:	5d                   	pop    %ebp
556c10:	5b                   	pop    %ebx
556c11:	59                   	pop    %ecx
556c12:	c3                   	ret
556c13:	83 7b 28 00          	cmpl   $0x0,0x28(%ebx)
556c17:	0f 84 c9 01 00 00    	je     0x556de6
556c1d:	6a 0f                	push   $0xf
556c1f:	53                   	push   %ebx
556c20:	e8 db 1e fa ff       	call   0x4f8b00
556c25:	ff 74 24 2c          	push   0x2c(%esp)
556c29:	ff 74 24 2c          	push   0x2c(%esp)
556c2d:	55                   	push   %ebp
556c2e:	ff 73 28             	push   0x28(%ebx)
556c31:	e8 fa 1e fa ff       	call   0x4f8b30
556c36:	53                   	push   %ebx
556c37:	8b f8                	mov    %eax,%edi
556c39:	e8 d2 1e fa ff       	call   0x4f8b10
556c3e:	83 c4 1c             	add    $0x1c,%esp
556c41:	8b c7                	mov    %edi,%eax
556c43:	5f                   	pop    %edi
556c44:	5e                   	pop    %esi
556c45:	5d                   	pop    %ebp
556c46:	5b                   	pop    %ebx
556c47:	59                   	pop    %ecx
556c48:	c3                   	ret
556c49:	8b 43 28             	mov    0x28(%ebx),%eax
556c4c:	85 c0                	test   %eax,%eax
556c4e:	0f 84 92 01 00 00    	je     0x556de6
556c54:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
556c58:	0f 8e 91 fd ff ff    	jle    0x5569ef
556c5e:	6a 0f                	push   $0xf
556c60:	53                   	push   %ebx
556c61:	e8 9a 1e fa ff       	call   0x4f8b00
556c66:	8b 46 18             	mov    0x18(%esi),%eax
556c69:	83 c4 08             	add    $0x8,%esp
556c6c:	85 c0                	test   %eax,%eax
556c6e:	7e 3b                	jle    0x556cab
556c70:	50                   	push   %eax
556c71:	8b 46 14             	mov    0x14(%esi),%eax
556c74:	03 46 1c             	add    0x1c(%esi),%eax
556c77:	50                   	push   %eax
556c78:	ff 73 28             	push   0x28(%ebx)
556c7b:	e8 40 28 fa ff       	call   0x4f94c0
556c80:	53                   	push   %ebx
556c81:	8b f8                	mov    %eax,%edi
556c83:	e8 88 1e fa ff       	call   0x4f8b10
556c88:	83 c4 10             	add    $0x10,%esp
556c8b:	85 ff                	test   %edi,%edi
556c8d:	0f 8e 70 fd ff ff    	jle    0x556a03
556c93:	01 7e 1c             	add    %edi,0x1c(%esi)
556c96:	29 7e 18             	sub    %edi,0x18(%esi)
556c99:	6a 0f                	push   $0xf
556c9b:	53                   	push   %ebx
556c9c:	e8 5f 1e fa ff       	call   0x4f8b00
556ca1:	8b 46 18             	mov    0x18(%esi),%eax
556ca4:	83 c4 08             	add    $0x8,%esp
556ca7:	85 c0                	test   %eax,%eax
556ca9:	7f c5                	jg     0x556c70
556cab:	ff 74 24 24          	push   0x24(%esp)
556caf:	c7 46 18 00 00 00 00 	movl   $0x0,0x18(%esi)
556cb6:	ff 74 24 24          	push   0x24(%esp)
556cba:	c7 46 1c 00 00 00 00 	movl   $0x0,0x1c(%esi)
556cc1:	55                   	push   %ebp
556cc2:	ff 73 28             	push   0x28(%ebx)
556cc5:	e8 66 1e fa ff       	call   0x4f8b30
556cca:	83 c4 10             	add    $0x10,%esp
556ccd:	8b f8                	mov    %eax,%edi
556ccf:	5f                   	pop    %edi
556cd0:	5e                   	pop    %esi
556cd1:	5d                   	pop    %ebp
556cd2:	5b                   	pop    %ebx
556cd3:	59                   	pop    %ecx
556cd4:	c3                   	ret
556cd5:	8b 5c 24 24          	mov    0x24(%esp),%ebx
556cd9:	6a 00                	push   $0x0
556cdb:	ff 36                	push   (%esi)
556cdd:	6a 75                	push   $0x75
556cdf:	53                   	push   %ebx
556ce0:	e8 1b 24 fa ff       	call   0x4f9100
556ce5:	83 c4 10             	add    $0x10,%esp
556ce8:	85 c0                	test   %eax,%eax
556cea:	74 18                	je     0x556d04
556cec:	6a 01                	push   $0x1
556cee:	ff 76 04             	push   0x4(%esi)
556cf1:	6a 75                	push   $0x75
556cf3:	53                   	push   %ebx
556cf4:	e8 07 24 fa ff       	call   0x4f9100
556cf9:	83 c4 10             	add    $0x10,%esp
556cfc:	85 c0                	test   %eax,%eax
556cfe:	0f 85 ff fc ff ff    	jne    0x556a03
556d04:	33 ff                	xor    %edi,%edi
556d06:	8b c7                	mov    %edi,%eax
556d08:	5f                   	pop    %edi
556d09:	5e                   	pop    %esi
556d0a:	5d                   	pop    %ebp
556d0b:	5b                   	pop    %ebx
556d0c:	59                   	pop    %ecx
556d0d:	c3                   	ret
556d0e:	33 ff                	xor    %edi,%edi
556d10:	8d 6c 24 18          	lea    0x18(%esp),%ebp
556d14:	85 f6                	test   %esi,%esi
556d16:	0f 84 98 00 00 00    	je     0x556db4
556d1c:	39 7b 28             	cmp    %edi,0x28(%ebx)
556d1f:	0f 84 8f 00 00 00    	je     0x556db4
556d25:	6a 0f                	push   $0xf
556d27:	53                   	push   %ebx
556d28:	e8 d3 1d fa ff       	call   0x4f8b00
556d2d:	8b 4e 0c             	mov    0xc(%esi),%ecx
556d30:	83 c4 08             	add    $0x8,%esp
556d33:	8b 56 10             	mov    0x10(%esi),%edx
556d36:	85 c9                	test   %ecx,%ecx
556d38:	74 2d                	je     0x556d67
556d3a:	3b cf                	cmp    %edi,%ecx
556d3c:	8b c7                	mov    %edi,%eax
556d3e:	0f 4e c1             	cmovle %ecx,%eax
556d41:	50                   	push   %eax
556d42:	89 44 24 20          	mov    %eax,0x20(%esp)
556d46:	8b 46 08             	mov    0x8(%esi),%eax
556d49:	03 c2                	add    %edx,%eax
556d4b:	50                   	push   %eax
556d4c:	55                   	push   %ebp
556d4d:	e8 7e c0 07 00       	call   0x5d2dd0
556d52:	8b 44 24 28          	mov    0x28(%esp),%eax
556d56:	83 c4 0c             	add    $0xc,%esp
556d59:	01 46 10             	add    %eax,0x10(%esi)
556d5c:	29 46 0c             	sub    %eax,0xc(%esi)
556d5f:	3b f8                	cmp    %eax,%edi
556d61:	74 51                	je     0x556db4
556d63:	2b f8                	sub    %eax,%edi
556d65:	03 e8                	add    %eax,%ebp
556d67:	8b 06                	mov    (%esi),%eax
556d69:	3b f8                	cmp    %eax,%edi
556d6b:	7f 23                	jg     0x556d90
556d6d:	50                   	push   %eax
556d6e:	ff 76 08             	push   0x8(%esi)
556d71:	ff 73 28             	push   0x28(%ebx)
556d74:	e8 c7 26 fa ff       	call   0x4f9440
556d79:	8b c8                	mov    %eax,%ecx
556d7b:	83 c4 0c             	add    $0xc,%esp
556d7e:	85 c9                	test   %ecx,%ecx
556d80:	7e 29                	jle    0x556dab
556d82:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
556d89:	33 d2                	xor    %edx,%edx
556d8b:	89 4e 0c             	mov    %ecx,0xc(%esi)
556d8e:	eb a6                	jmp    0x556d36
556d90:	57                   	push   %edi
556d91:	55                   	push   %ebp
556d92:	ff 73 28             	push   0x28(%ebx)
556d95:	e8 a6 26 fa ff       	call   0x4f9440
556d9a:	83 c4 0c             	add    $0xc,%esp
556d9d:	85 c0                	test   %eax,%eax
556d9f:	7e 0a                	jle    0x556dab
556da1:	3b f8                	cmp    %eax,%edi
556da3:	74 0f                	je     0x556db4
556da5:	03 e8                	add    %eax,%ebp
556da7:	2b f8                	sub    %eax,%edi
556da9:	eb e5                	jmp    0x556d90
556dab:	53                   	push   %ebx
556dac:	e8 5f 1d fa ff       	call   0x4f8b10
556db1:	83 c4 04             	add    $0x4,%esp
556db4:	8b 7c 24 20          	mov    0x20(%esp),%edi
556db8:	3b 7e 0c             	cmp    0xc(%esi),%edi
556dbb:	8b 46 10             	mov    0x10(%esi),%eax
556dbe:	0f 4f 7e 0c          	cmovg  0xc(%esi),%edi
556dc2:	03 46 08             	add    0x8(%esi),%eax
556dc5:	57                   	push   %edi
556dc6:	50                   	push   %eax
556dc7:	ff 74 24 2c          	push   0x2c(%esp)
556dcb:	e8 00 c0 07 00       	call   0x5d2dd0
556dd0:	83 c4 0c             	add    $0xc,%esp
556dd3:	8b c7                	mov    %edi,%eax
556dd5:	5f                   	pop    %edi
556dd6:	5e                   	pop    %esi
556dd7:	5d                   	pop    %ebp
556dd8:	5b                   	pop    %ebx
556dd9:	59                   	pop    %ecx
556dda:	c3                   	ret
556ddb:	8b 43 28             	mov    0x28(%ebx),%eax
556dde:	85 c0                	test   %eax,%eax
556de0:	0f 85 09 fc ff ff    	jne    0x5569ef
556de6:	5f                   	pop    %edi
556de7:	5e                   	pop    %esi
556de8:	5d                   	pop    %ebp
556de9:	33 c0                	xor    %eax,%eax
556deb:	5b                   	pop    %ebx
556dec:	59                   	pop    %ecx
556ded:	c3                   	ret
556dee:	66 90                	xchg   %ax,%ax
556df0:	c8 69 55 00          	enter  $0x5569,$0x0
556df4:	0b 6a 55             	or     0x55(%edx),%ebp
556df7:	00 31                	add    %dh,(%ecx)
556df9:	6a 55                	push   $0x55
556dfb:	00 75 6a             	add    %dh,0x6a(%ebp)
556dfe:	55                   	push   %ebp
556dff:	00 49 6c             	add    %cl,0x6c(%ecx)
556e02:	55                   	push   %ebp
556e03:	00 d5                	add    %dl,%ch
556e05:	6c                   	insb   (%dx),%es:(%edi)
556e06:	55                   	push   %ebp
556e07:	00 69 6a             	add    %ch,0x6a(%ecx)
556e0a:	55                   	push   %ebp
556e0b:	00 0e                	add    %cl,(%esi)
556e0d:	6d                   	insl   (%dx),%es:(%edi)
556e0e:	55                   	push   %ebp
556e0f:	00 13                	add    %dl,(%ebx)
556e11:	6c                   	insb   (%dx),%es:(%edi)
556e12:	55                   	push   %ebp
556e13:	00 3c 6a             	add    %bh,(%edx,%ebp,2)
556e16:	55                   	push   %ebp
556e17:	00 de                	add    %bl,%dh