557bb7:	83 c4 14             	add    $0x14,%esp
557bba:	85 c0                	test   %eax,%eax
557bbc:	75 38                	jne    0x557bf6
557bbe:	8b 55 f4             	mov    -0xc(%ebp),%edx
557bc1:	8b 75 f0             	mov    -0x10(%ebp),%esi
557bc4:	83 c2 04             	add    $0x4,%edx
557bc7:	8b 47 44             	mov    0x44(%edi),%eax
557bca:	83 d6 00             	adc    $0x0,%esi
557bcd:	56                   	push   %esi
557bce:	52                   	push   %edx
557bcf:	ff b7 98 00 00 00    	push   0x98(%edi)
557bd5:	8b 08                	mov    (%eax),%ecx
557bd7:	ff 75 ec             	push   -0x14(%ebp)
557bda:	50                   	push   %eax
557bdb:	8b 41 0c             	mov    0xc(%ecx),%eax
557bde:	ff d0                	call   *%eax
557be0:	83 c4 14             	add    $0x14,%esp
557be3:	85 c0                	test   %eax,%eax
557be5:	75 0f                	jne    0x557bf6
557be7:	ff 47 34             	incl   0x34(%edi)
557bea:	ff 73 18             	push   0x18(%ebx)
557bed:	57                   	push   %edi
557bee:	e8 fd a3 f9 ff       	call   0x4f1ff0
557bf3:	83 c4 08             	add    $0x8,%esp
557bf6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
557bf9:	5f                   	pop    %edi
557bfa:	5e                   	pop    %esi
557bfb:	33 cd                	xor    %ebp,%ecx
557bfd:	5b                   	pop    %ebx
557bfe:	e8 d7 98 08 00       	call   0x5e14da
557c03:	8b e5                	mov    %ebp,%esp
557c05:	5d                   	pop    %ebp
557c06:	c3                   	ret
557c07:	cc                   	int3
557c08:	cc                   	int3
557c09:	cc                   	int3
557c0a:	cc                   	int3
557c0b:	cc                   	int3
557c0c:	cc                   	int3
557c0d:	cc                   	int3
557c0e:	cc                   	int3
557c0f:	cc                   	int3
557c10:	55                   	push   %ebp
557c11:	8b ec                	mov    %esp,%ebp
557c13:	83 ec 3c             	sub    $0x3c,%esp
557c16:	a1 d4 89 72 00       	mov    0x7289d4,%eax
557c1b:	33 c5                	xor    %ebp,%eax
557c1d:	89 45 fc             	mov    %eax,-0x4(%ebp)
557c20:	53                   	push   %ebx
557c21:	8b 5d 08             	mov    0x8(%ebp),%ebx
557c24:	57                   	push   %edi
557c25:	8b 7d 0c             	mov    0xc(%ebp),%edi
557c28:	85 ff                	test   %edi,%edi
557c2a:	75 12                	jne    0x557c3e
557c2c:	5f                   	pop    %edi
557c2d:	33 c0                	xor    %eax,%eax
557c2f:	5b                   	pop    %ebx
557c30:	8b 4d fc             	mov    -0x4(%ebp),%ecx
557c33:	33 cd                	xor    %ebp,%ecx
557c35:	e8 a0 98 08 00       	call   0x5e14da
557c3a:	8b e5                	mov    %ebp,%esp
557c3c:	5d                   	pop    %ebp
557c3d:	c3                   	ret
557c3e:	f6 47 04 01          	testb  $0x1,0x4(%edi)
557c42:	74 11                	je     0x557c55
557c44:	0f bf 47 24          	movswl 0x24(%edi),%eax
557c48:	3b 43 04             	cmp    0x4(%ebx),%eax
557c4b:	75 08                	jne    0x557c55
557c4d:	66 8b 43 08          	mov    0x8(%ebx),%ax
557c51:	66 89 47 24          	mov    %ax,0x24(%edi)
557c55:	8a 0f                	mov    (%edi),%cl
557c57:	56                   	push   %esi
557c58:	80 f9 a4             	cmp    $0xa4,%cl
557c5b:	0f 85 27 01 00 00    	jne    0x557d88
557c61:	8b 47 1c             	mov    0x1c(%edi),%eax
557c64:	3b 43 04             	cmp    0x4(%ebx),%eax
557c67:	0f 85 1b 01 00 00    	jne    0x557d88
557c6d:	0f b7 47 20          	movzwl 0x20(%edi),%eax
557c71:	66 85 c0             	test   %ax,%ax
557c74:	79 16                	jns    0x557c8c
557c76:	5e                   	pop    %esi
557c77:	c6 07 77             	movb   $0x77,(%edi)
557c7a:	8b c7                	mov    %edi,%eax
557c7c:	5f                   	pop    %edi
557c7d:	5b                   	pop    %ebx
557c7e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
557c81:	33 cd                	xor    %ebp,%ecx
557c83:	e8 52 98 08 00       	call   0x5e14da
557c88:	8b e5                	mov    %ebp,%esp
557c8a:	5d                   	pop    %ebp
557c8b:	c3                   	ret
557c8c:	98                   	cwtl
557c8d:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
557c90:	8b 43 10             	mov    0x10(%ebx),%eax
557c93:	8b 74 88 04          	mov    0x4(%eax,%ecx,4),%esi
557c97:	56                   	push   %esi
557c98:	e8 93 f8 fc ff       	call   0x527530
557c9d:	83 c4 04             	add    $0x4,%esp
557ca0:	85 c0                	test   %eax,%eax
557ca2:	74 1e                	je     0x557cc2
557ca4:	56                   	push   %esi
557ca5:	ff 33                	push   (%ebx)
557ca7:	e8 94 5e ff ff       	call   0x54db40
557cac:	83 c4 08             	add    $0x8,%esp
557caf:	8b c7                	mov    %edi,%eax
557cb1:	5e                   	pop    %esi
557cb2:	5f                   	pop    %edi
557cb3:	5b                   	pop    %ebx
557cb4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
557cb7:	33 cd                	xor    %ebp,%ecx
557cb9:	e8 1c 98 08 00       	call   0x5e14da
557cbe:	8b e5                	mov    %ebp,%esp
557cc0:	5d                   	pop    %ebp
557cc1:	c3                   	ret
557cc2:	83 7b 0c 00          	cmpl   $0x0,0xc(%ebx)
557cc6:	8b 03                	mov    (%ebx),%eax
557cc8:	8b 00                	mov    (%eax),%eax
557cca:	89 45 c4             	mov    %eax,-0x3c(%ebp)
557ccd:	74 28                	je     0x557cf7
557ccf:	80 3e a4             	cmpb   $0xa4,(%esi)
557cd2:	74 23                	je     0x557cf7
557cd4:	6a 34                	push   $0x34
557cd6:	8d 45 c8             	lea    -0x38(%ebp),%eax
557cd9:	6a 00                	push   $0x0
557cdb:	50                   	push   %eax
557cdc:	e8 1f bd 08 00       	call   0x5e3a00
557ce1:	8b 43 08             	mov    0x8(%ebx),%eax
557ce4:	83 c4 0c             	add    $0xc,%esp
557ce7:	89 75 d4             	mov    %esi,-0x2c(%ebp)
557cea:	8d 75 c8             	lea    -0x38(%ebp),%esi
557ced:	89 45 e4             	mov    %eax,-0x1c(%ebp)
557cf0:	8b 45 c4             	mov    -0x3c(%ebp),%eax
557cf3:	c6 45 c8 b0          	movb   $0xb0,-0x38(%ebp)
557cf7:	6a 00                	push   $0x0
557cf9:	56                   	push   %esi
557cfa:	50                   	push   %eax
557cfb:	e8 60 eb fc ff       	call   0x526860
557d00:	8b f0                	mov    %eax,%esi
557d02:	83 c4 0c             	add    $0xc,%esp
557d05:	85 f6                	test   %esi,%esi
557d07:	74 1f                	je     0x557d28
557d09:	83 7b 0c 00          	cmpl   $0x0,0xc(%ebx)
557d0d:	74 07                	je     0x557d16
557d0f:	81 4e 04 00 00 10 00 	orl    $0x100000,0x4(%esi)
557d16:	f6 47 04 01          	testb  $0x1,0x4(%edi)
557d1a:	74 0c                	je     0x557d28
557d1c:	66 8b 47 24          	mov    0x24(%edi),%ax
557d20:	83 4e 04 01          	orl    $0x1,0x4(%esi)
557d24:	66 89 46 24          	mov    %ax,0x24(%esi)
557d28:	57                   	push   %edi
557d29:	ff 75 c4             	push   -0x3c(%ebp)
557d2c:	e8 7f ea fc ff       	call   0x5267b0
557d31:	83 c4 08             	add    $0x8,%esp
557d34:	8b fe                	mov    %esi,%edi
557d36:	85 f6                	test   %esi,%esi
557d38:	0f 84 ca 00 00 00    	je     0x557e08
557d3e:	8a 06                	mov    (%esi),%al
557d40:	3c a4                	cmp    $0xa4,%al
557d42:	74 2a                	je     0x557d6e
557d44:	3c 6f                	cmp    $0x6f,%al
557d46:	74 26                	je     0x557d6e
557d48:	56                   	push   %esi
557d49:	ff 33                	push   (%ebx)
557d4b:	e8 90 e5 fc ff       	call   0x5262e0
557d50:	83 c4 08             	add    $0x8,%esp
557d53:	85 c0                	test   %eax,%eax
557d55:	74 04                	je     0x557d5b
557d57:	8b 00                	mov    (%eax),%eax
557d59:	eb 05                	jmp    0x557d60
557d5b:	b8 60 86 6b 00       	mov    $0x6b8660,%eax
557d60:	50                   	push   %eax
557d61:	56                   	push   %esi
557d62:	ff 33                	push   (%ebx)
557d64:	e8 97 b7 fc ff       	call   0x523500
557d69:	83 c4 0c             	add    $0xc,%esp
557d6c:	8b f8                	mov    %eax,%edi
557d6e:	81 67 04 ff fe ff ff 	andl   $0xfffffeff,0x4(%edi)
557d75:	8b c7                	mov    %edi,%eax
557d77:	5e                   	pop    %esi
557d78:	5f                   	pop    %edi
557d79:	5b                   	pop    %ebx
557d7a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
557d7d:	33 cd                	xor    %ebp,%ecx
557d7f:	e8 56 97 08 00       	call   0x5e14da
557d84:	8b e5                	mov    %ebp,%esp
557d86:	5d                   	pop    %ebp
557d87:	c3                   	ret
557d88:	80 f9 b0             	cmp    $0xb0,%cl
557d8b:	75 0e                	jne    0x557d9b
557d8d:	8b 47 1c             	mov    0x1c(%edi),%eax
557d90:	3b 43 04             	cmp    0x4(%ebx),%eax
557d93:	75 06                	jne    0x557d9b
557d95:	8b 43 08             	mov    0x8(%ebx),%eax
557d98:	89 47 1c             	mov    %eax,0x1c(%edi)
557d9b:	ff 77 0c             	push   0xc(%edi)
557d9e:	53                   	push   %ebx
557d9f:	e8 6c fe ff ff       	call   0x557c10
557da4:	ff 77 10             	push   0x10(%edi)
557da7:	89 47 0c             	mov    %eax,0xc(%edi)
557daa:	53                   	push   %ebx
557dab:	e8 60 fe ff ff       	call   0x557c10
557db0:	83 c4 10             	add    $0x10,%esp
557db3:	89 47 10             	mov    %eax,0x10(%edi)
557db6:	f7 47 04 00 08 00 00 	testl  $0x800,0x4(%edi)
557dbd:	74 10                	je     0x557dcf
557dbf:	6a 01                	push   $0x1
557dc1:	ff 77 14             	push   0x14(%edi)
557dc4:	53                   	push   %ebx
557dc5:	e8 86 02 00 00       	call   0x558050
557dca:	83 c4 0c             	add    $0xc,%esp
557dcd:	eb 0c                	jmp    0x557ddb
557dcf:	ff 77 14             	push   0x14(%edi)
557dd2:	53                   	push   %ebx
557dd3:	e8 48 00 00 00       	call   0x557e20
557dd8:	83 c4 08             	add    $0x8,%esp
557ddb:	f7 47 04 00 00 00 01 	testl  $0x1000000,0x4(%edi)
557de2:	74 24                	je     0x557e08
557de4:	8b 77 2c             	mov    0x2c(%edi),%esi
557de7:	ff 76 28             	push   0x28(%esi)
557dea:	53                   	push   %ebx
557deb:	e8 20 fe ff ff       	call   0x557c10
557df0:	ff 76 08             	push   0x8(%esi)
557df3:	89 46 28             	mov    %eax,0x28(%esi)
557df6:	53                   	push   %ebx
557df7:	e8 24 00 00 00       	call   0x557e20
557dfc:	ff 76 0c             	push   0xc(%esi)
557dff:	53                   	push   %ebx
557e00:	e8 1b 00 00 00       	call   0x557e20
557e05:	83 c4 18             	add    $0x18,%esp
557e08:	8b 4d fc             	mov    -0x4(%ebp),%ecx
557e0b:	8b c7                	mov    %edi,%eax
557e0d:	5e                   	pop    %esi
557e0e:	5f                   	pop    %edi
557e0f:	33 cd                	xor    %ebp,%ecx
557e11:	5b                   	pop    %ebx
557e12:	e8 c3 96 08 00       	call   0x5e14da
557e17:	8b e5                	mov    %ebp,%esp
557e19:	5d                   	pop    %ebp
557e1a:	c3                   	ret
557e1b:	cc                   	int3
557e1c:	cc                   	int3
557e1d:	cc                   	int3
557e1e:	cc                   	int3
557e1f:	cc                   	int3
557e20:	55                   	push   %ebp
557e21:	8b ec                	mov    %esp,%ebp
557e23:	83 ec 48             	sub    $0x48,%esp
557e26:	a1 d4 89 72 00       	mov    0x7289d4,%eax
557e2b:	33 c5                	xor    %ebp,%eax
557e2d:	89 45 fc             	mov    %eax,-0x4(%ebp)
557e30:	8b 45 0c             	mov    0xc(%ebp),%eax
557e33:	89 45 b8             	mov    %eax,-0x48(%ebp)
557e36:	53                   	push   %ebx
557e37:	8b 5d 08             	mov    0x8(%ebp),%ebx
557e3a:	85 c0                	test   %eax,%eax
557e3c:	0f 84 f2 01 00 00    	je     0x558034
557e42:	57                   	push   %edi
557e43:	33 ff                	xor    %edi,%edi
557e45:	89 7d c0             	mov    %edi,-0x40(%ebp)
557e48:	39 38                	cmp    %edi,(%eax)
557e4a:	0f 8e e3 01 00 00    	jle    0x558033
557e50:	8d 50 04             	lea    0x4(%eax),%edx
557e53:	89 55 c4             	mov    %edx,-0x3c(%ebp)
557e56:	56                   	push   %esi
557e57:	66 0f 1f 84 00 00 00 	nopw   0x0(%eax,%eax,1)
557e5e:	00 00
557e60:	8b 32                	mov    (%edx),%esi
557e62:	85 f6                	test   %esi,%esi
557e64:	0f 84 b4 01 00 00    	je     0x55801e
557e6a:	f6 46 04 01          	testb  $0x1,0x4(%esi)
557e6e:	74 11                	je     0x557e81
557e70:	0f bf 46 24          	movswl 0x24(%esi),%eax
557e74:	3b 43 04             	cmp    0x4(%ebx),%eax
557e77:	75 08                	jne    0x557e81
557e79:	66 8b 43 08          	mov    0x8(%ebx),%ax
557e7d:	66 89 46 24          	mov    %ax,0x24(%esi)
557e81:	8a 0e                	mov    (%esi),%cl
557e83:	80 f9 a4             	cmp    $0xa4,%cl
557e86:	0f 85 09 01 00 00    	jne    0x557f95
557e8c:	8b 46 1c             	mov    0x1c(%esi),%eax
557e8f:	3b 43 04             	cmp    0x4(%ebx),%eax
557e92:	0f 85 fd 00 00 00    	jne    0x557f95
557e98:	0f b7 46 20          	movzwl 0x20(%esi),%eax
557e9c:	66 85 c0             	test   %ax,%ax
557e9f:	79 08                	jns    0x557ea9
557ea1:	c6 06 77             	movb   $0x77,(%esi)
557ea4:	e9 72 01 00 00       	jmp    0x55801b
557ea9:	98                   	cwtl
557eaa:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
557ead:	8b 43 10             	mov    0x10(%ebx),%eax
557eb0:	8b 7c 88 04          	mov    0x4(%eax,%ecx,4),%edi
557eb4:	57                   	push   %edi
557eb5:	e8 76 f6 fc ff       	call   0x527530
557eba:	83 c4 04             	add    $0x4,%esp
557ebd:	85 c0                	test   %eax,%eax
557ebf:	74 10                	je     0x557ed1
557ec1:	57                   	push   %edi
557ec2:	ff 33                	push   (%ebx)
557ec4:	e8 77 5c ff ff       	call   0x54db40
557ec9:	83 c4 08             	add    $0x8,%esp
557ecc:	e9 44 01 00 00       	jmp    0x558015
557ed1:	83 7b 0c 00          	cmpl   $0x0,0xc(%ebx)
557ed5:	8b 03                	mov    (%ebx),%eax
557ed7:	8b 00                	mov    (%eax),%eax
557ed9:	89 45 bc             	mov    %eax,-0x44(%ebp)
557edc:	74 2a                	je     0x557f08
557ede:	80 3f a4             	cmpb   $0xa4,(%edi)
557ee1:	74 25                	je     0x557f08
557ee3:	6a 34                	push   $0x34
557ee5:	8d 45 c8             	lea    -0x38(%ebp),%eax
557ee8:	6a 00                	push   $0x0
557eea:	50                   	push   %eax
557eeb:	e8 10 bb 08 00       	call   0x5e3a00
557ef0:	8b 43 08             	mov    0x8(%ebx),%eax
557ef3:	83 c4 0c             	add    $0xc,%esp
557ef6:	89 7d d4             	mov    %edi,-0x2c(%ebp)
557ef9:	8d 7d c8             	lea    -0x38(%ebp),%edi
557efc:	89 45 e4             	mov    %eax,-0x1c(%ebp)
557eff:	8b 45 bc             	mov    -0x44(%ebp),%eax
557f02:	c6 45 c8 b0          	movb   $0xb0,-0x38(%ebp)
557f06:	eb 04                	jmp    0x557f0c
557f08:	85 ff                	test   %edi,%edi
557f0a:	74 35                	je     0x557f41
557f0c:	6a 00                	push   $0x0
557f0e:	6a 00                	push   $0x0
557f10:	57                   	push   %edi
557f11:	50                   	push   %eax
557f12:	e8 49 89 fa ff       	call   0x500860
557f17:	8b f8                	mov    %eax,%edi
557f19:	83 c4 10             	add    $0x10,%esp
557f1c:	85 ff                	test   %edi,%edi
557f1e:	74 23                	je     0x557f43
557f20:	83 7b 0c 00          	cmpl   $0x0,0xc(%ebx)
557f24:	74 07                	je     0x557f2d
557f26:	81 4f 04 00 00 10 00 	orl    $0x100000,0x4(%edi)
557f2d:	f6 46 04 01          	testb  $0x1,0x4(%esi)
557f31:	74 10                	je     0x557f43
557f33:	66 8b 46 24          	mov    0x24(%esi),%ax
557f37:	83 4f 04 01          	orl    $0x1,0x4(%edi)
557f3b:	66 89 47 24          	mov    %ax,0x24(%edi)
557f3f:	eb 02                	jmp    0x557f43
557f41:	33 ff                	xor    %edi,%edi
557f43:	56                   	push   %esi
557f44:	ff 75 bc             	push   -0x44(%ebp)
557f47:	e8 64 e8 fc ff       	call   0x5267b0
557f4c:	83 c4 08             	add    $0x8,%esp
557f4f:	8b f7                	mov    %edi,%esi
557f51:	85 ff                	test   %edi,%edi
557f53:	0f 84 bc 00 00 00    	je     0x558015
557f59:	8a 07                	mov    (%edi),%al