553b60:	74 26                	je     0x553b88
553b62:	8b 4c 24 14          	mov    0x14(%esp),%ecx
553b66:	85 c9                	test   %ecx,%ecx
553b68:	74 1e                	je     0x553b88
553b6a:	89 0c 24             	mov    %ecx,(%esp)
553b6d:	8d 0c 24             	lea    (%esp),%ecx
553b70:	51                   	push   %ecx
553b71:	ff 70 08             	push   0x8(%eax)
553b74:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
553b7b:	00
553b7c:	e8 6f 03 f9 ff       	call   0x4e3ef0
553b81:	83 c4 08             	add    $0x8,%esp
553b84:	83 c4 0c             	add    $0xc,%esp
553b87:	c3                   	ret
553b88:	33 c0                	xor    %eax,%eax
553b8a:	83 c4 0c             	add    $0xc,%esp
553b8d:	c3                   	ret
553b8e:	cc                   	int3
553b8f:	cc                   	int3
553b90:	b8 0c 00 00 00       	mov    $0xc,%eax
553b95:	e8 16 dc 07 00       	call   0x5d17b0
553b9a:	8b 44 24 10          	mov    0x10(%esp),%eax
553b9e:	85 c0                	test   %eax,%eax
553ba0:	74 2d                	je     0x553bcf
553ba2:	8b 4c 24 14          	mov    0x14(%esp),%ecx
553ba6:	85 c9                	test   %ecx,%ecx
553ba8:	74 25                	je     0x553bcf
553baa:	89 0c 24             	mov    %ecx,(%esp)
553bad:	8d 0c 24             	lea    (%esp),%ecx
553bb0:	51                   	push   %ecx
553bb1:	ff 70 08             	push   0x8(%eax)
553bb4:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
553bbb:	00
553bbc:	e8 2f 03 f9 ff       	call   0x4e3ef0
553bc1:	83 c4 08             	add    $0x8,%esp
553bc4:	85 c0                	test   %eax,%eax
553bc6:	74 07                	je     0x553bcf
553bc8:	8b 40 08             	mov    0x8(%eax),%eax
553bcb:	83 c4 0c             	add    $0xc,%esp
553bce:	c3                   	ret
553bcf:	33 c0                	xor    %eax,%eax
553bd1:	83 c4 0c             	add    $0xc,%esp
553bd4:	c3                   	ret
553bd5:	cc                   	int3
553bd6:	cc                   	int3
553bd7:	cc                   	int3
553bd8:	cc                   	int3
553bd9:	cc                   	int3
553bda:	cc                   	int3
553bdb:	cc                   	int3
553bdc:	cc                   	int3
553bdd:	cc                   	int3
553bde:	cc                   	int3
553bdf:	cc                   	int3
553be0:	b8 0c 00 00 00       	mov    $0xc,%eax
553be5:	e8 c6 db 07 00       	call   0x5d17b0
553bea:	53                   	push   %ebx
553beb:	56                   	push   %esi
553bec:	57                   	push   %edi
553bed:	8b 7c 24 24          	mov    0x24(%esp),%edi
553bf1:	85 ff                	test   %edi,%edi
553bf3:	0f 84 a7 00 00 00    	je     0x553ca0
553bf9:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
553bfd:	85 db                	test   %ebx,%ebx
553bff:	0f 84 8b 00 00 00    	je     0x553c90
553c05:	8b 74 24 20          	mov    0x20(%esp),%esi
553c09:	85 f6                	test   %esi,%esi
553c0b:	74 59                	je     0x553c66
553c0d:	8d 44 24 0c          	lea    0xc(%esp),%eax
553c11:	89 7c 24 10          	mov    %edi,0x10(%esp)
553c15:	50                   	push   %eax
553c16:	ff 73 08             	push   0x8(%ebx)
553c19:	89 74 24 14          	mov    %esi,0x14(%esp)
553c1d:	e8 ce 02 f9 ff       	call   0x4e3ef0
553c22:	83 c4 08             	add    $0x8,%esp
553c25:	85 c0                	test   %eax,%eax
553c27:	75 5d                	jne    0x553c86
553c29:	b8 60 e9 64 00       	mov    $0x64e960,%eax
553c2e:	66 90                	xchg   %ax,%ax
553c30:	8a 0e                	mov    (%esi),%cl
553c32:	3a 08                	cmp    (%eax),%cl
553c34:	75 1a                	jne    0x553c50
553c36:	84 c9                	test   %cl,%cl
553c38:	74 12                	je     0x553c4c
553c3a:	8a 4e 01             	mov    0x1(%esi),%cl
553c3d:	3a 48 01             	cmp    0x1(%eax),%cl
553c40:	75 0e                	jne    0x553c50
553c42:	83 c6 02             	add    $0x2,%esi
553c45:	83 c0 02             	add    $0x2,%eax
553c48:	84 c9                	test   %cl,%cl
553c4a:	75 e4                	jne    0x553c30
553c4c:	33 c0                	xor    %eax,%eax
553c4e:	eb 05                	jmp    0x553c55
553c50:	1b c0                	sbb    %eax,%eax
553c52:	83 c8 01             	or     $0x1,%eax
553c55:	85 c0                	test   %eax,%eax
553c57:	75 0d                	jne    0x553c66
553c59:	57                   	push   %edi
553c5a:	e8 71 2c fc ff       	call   0x5168d0
553c5f:	83 c4 04             	add    $0x4,%esp
553c62:	85 c0                	test   %eax,%eax
553c64:	75 3c                	jne    0x553ca2
553c66:	8d 44 24 0c          	lea    0xc(%esp),%eax
553c6a:	c7 44 24 0c 08 e9 64 	movl   $0x64e908,0xc(%esp)
553c71:	00
553c72:	50                   	push   %eax
553c73:	ff 73 08             	push   0x8(%ebx)
553c76:	89 7c 24 18          	mov    %edi,0x18(%esp)
553c7a:	e8 71 02 f9 ff       	call   0x4e3ef0
553c7f:	83 c4 08             	add    $0x8,%esp
553c82:	85 c0                	test   %eax,%eax
553c84:	74 1a                	je     0x553ca0
553c86:	8b 40 08             	mov    0x8(%eax),%eax
553c89:	5f                   	pop    %edi
553c8a:	5e                   	pop    %esi
553c8b:	5b                   	pop    %ebx
553c8c:	83 c4 0c             	add    $0xc,%esp
553c8f:	c3                   	ret
553c90:	57                   	push   %edi
553c91:	e8 3a 2c fc ff       	call   0x5168d0
553c96:	83 c4 04             	add    $0x4,%esp
553c99:	5f                   	pop    %edi
553c9a:	5e                   	pop    %esi
553c9b:	5b                   	pop    %ebx
553c9c:	83 c4 0c             	add    $0xc,%esp
553c9f:	c3                   	ret
553ca0:	33 c0                	xor    %eax,%eax
553ca2:	5f                   	pop    %edi
553ca3:	5e                   	pop    %esi
553ca4:	5b                   	pop    %ebx
553ca5:	83 c4 0c             	add    $0xc,%esp
553ca8:	c3                   	ret
553ca9:	cc                   	int3
553caa:	cc                   	int3
553cab:	cc                   	int3
553cac:	cc                   	int3
553cad:	cc                   	int3
553cae:	cc                   	int3
553caf:	cc                   	int3
553cb0:	56                   	push   %esi
553cb1:	8b 74 24 08          	mov    0x8(%esp),%esi
553cb5:	85 f6                	test   %esi,%esi
553cb7:	74 26                	je     0x553cdf
553cb9:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
553cbd:	75 19                	jne    0x553cd8
553cbf:	68 d0 3d 55 00       	push   $0x553dd0
553cc4:	68 60 3e 55 00       	push   $0x553e60
553cc9:	e8 72 01 f9 ff       	call   0x4e3e40
553cce:	83 c4 08             	add    $0x8,%esp
553cd1:	89 46 08             	mov    %eax,0x8(%esi)
553cd4:	85 c0                	test   %eax,%eax
553cd6:	74 07                	je     0x553cdf
553cd8:	b8 01 00 00 00       	mov    $0x1,%eax
553cdd:	5e                   	pop    %esi
553cde:	c3                   	ret
553cdf:	33 c0                	xor    %eax,%eax
553ce1:	5e                   	pop    %esi
553ce2:	c3                   	ret
553ce3:	cc                   	int3
553ce4:	cc                   	int3
553ce5:	cc                   	int3
553ce6:	cc                   	int3
553ce7:	cc                   	int3
553ce8:	cc                   	int3
553ce9:	cc                   	int3
553cea:	cc                   	int3
553ceb:	cc                   	int3
553cec:	cc                   	int3
553ced:	cc                   	int3
553cee:	cc                   	int3
553cef:	cc                   	int3
553cf0:	53                   	push   %ebx
553cf1:	55                   	push   %ebp
553cf2:	56                   	push   %esi
553cf3:	57                   	push   %edi
553cf4:	33 f6                	xor    %esi,%esi
553cf6:	e8 25 13 f9 ff       	call   0x4e5020
553cfb:	8b f8                	mov    %eax,%edi
553cfd:	85 ff                	test   %edi,%edi
553cff:	0f 84 84 00 00 00    	je     0x553d89
553d05:	68 c5 00 00 00       	push   $0xc5
553d0a:	68 48 e9 64 00       	push   $0x64e948
553d0f:	6a 0c                	push   $0xc
553d11:	e8 3a ca f8 ff       	call   0x4e0750
553d16:	8b f0                	mov    %eax,%esi
553d18:	83 c4 0c             	add    $0xc,%esp
553d1b:	85 f6                	test   %esi,%esi
553d1d:	74 6a                	je     0x553d89
553d1f:	8b 5c 24 18          	mov    0x18(%esp),%ebx
553d23:	8b cb                	mov    %ebx,%ecx
553d25:	8d 51 01             	lea    0x1(%ecx),%edx
553d28:	8a 01                	mov    (%ecx),%al
553d2a:	41                   	inc    %ecx
553d2b:	84 c0                	test   %al,%al
553d2d:	75 f9                	jne    0x553d28
553d2f:	2b ca                	sub    %edx,%ecx
553d31:	68 c8 00 00 00       	push   $0xc8
553d36:	68 48 e9 64 00       	push   $0x64e948
553d3b:	8d 69 01             	lea    0x1(%ecx),%ebp
553d3e:	55                   	push   %ebp
553d3f:	e8 0c ca f8 ff       	call   0x4e0750
553d44:	83 c4 0c             	add    $0xc,%esp
553d47:	89 06                	mov    %eax,(%esi)
553d49:	85 c0                	test   %eax,%eax
553d4b:	74 3c                	je     0x553d89
553d4d:	55                   	push   %ebp
553d4e:	53                   	push   %ebx
553d4f:	50                   	push   %eax
553d50:	e8 7b f0 07 00       	call   0x5d2dd0
553d55:	8b 5c 24 20          	mov    0x20(%esp),%ebx
553d59:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
553d60:	89 7e 08             	mov    %edi,0x8(%esi)
553d63:	56                   	push   %esi
553d64:	ff 73 08             	push   0x8(%ebx)
553d67:	e8 64 ff f8 ff       	call   0x4e3cd0
553d6c:	83 c4 14             	add    $0x14,%esp
553d6f:	85 c0                	test   %eax,%eax
553d71:	75 16                	jne    0x553d89
553d73:	ff 73 08             	push   0x8(%ebx)
553d76:	e8 c5 fe f8 ff       	call   0x4e3c40
553d7b:	83 c4 04             	add    $0x4,%esp
553d7e:	85 c0                	test   %eax,%eax
553d80:	7f 07                	jg     0x553d89
553d82:	5f                   	pop    %edi
553d83:	8b c6                	mov    %esi,%eax
553d85:	5e                   	pop    %esi
553d86:	5d                   	pop    %ebp
553d87:	5b                   	pop    %ebx
553d88:	c3                   	ret
553d89:	57                   	push   %edi
553d8a:	e8 91 11 f9 ff       	call   0x4e4f20
553d8f:	83 c4 04             	add    $0x4,%esp
553d92:	85 f6                	test   %esi,%esi
553d94:	74 14                	je     0x553daa
553d96:	68 d7 00 00 00       	push   $0xd7
553d9b:	68 48 e9 64 00       	push   $0x64e948
553da0:	ff 36                	push   (%esi)
553da2:	e8 d9 c9 f8 ff       	call   0x4e0780
553da7:	83 c4 0c             	add    $0xc,%esp
553daa:	68 d8 00 00 00       	push   $0xd8
553daf:	68 48 e9 64 00       	push   $0x64e948
553db4:	56                   	push   %esi
553db5:	e8 c6 c9 f8 ff       	call   0x4e0780
553dba:	83 c4 0c             	add    $0xc,%esp
553dbd:	33 c0                	xor    %eax,%eax
553dbf:	5f                   	pop    %edi
553dc0:	5e                   	pop    %esi
553dc1:	5d                   	pop    %ebp
553dc2:	5b                   	pop    %ebx
553dc3:	c3                   	ret
553dc4:	cc                   	int3
553dc5:	cc                   	int3
553dc6:	cc                   	int3
553dc7:	cc                   	int3
553dc8:	cc                   	int3
553dc9:	cc                   	int3
553dca:	cc                   	int3
553dcb:	cc                   	int3
553dcc:	cc                   	int3
553dcd:	cc                   	int3
553dce:	cc                   	int3
553dcf:	cc                   	int3
553dd0:	56                   	push   %esi
553dd1:	8b 74 24 0c          	mov    0xc(%esp),%esi
553dd5:	57                   	push   %edi
553dd6:	8b 7c 24 0c          	mov    0xc(%esp),%edi
553dda:	8b 0e                	mov    (%esi),%ecx
553ddc:	8b 07                	mov    (%edi),%eax
553dde:	3b c1                	cmp    %ecx,%eax
553de0:	74 29                	je     0x553e0b
553de2:	8a 10                	mov    (%eax),%dl
553de4:	3a 11                	cmp    (%ecx),%dl
553de6:	75 1a                	jne    0x553e02
553de8:	84 d2                	test   %dl,%dl
553dea:	74 12                	je     0x553dfe
553dec:	8a 50 01             	mov    0x1(%eax),%dl
553def:	3a 51 01             	cmp    0x1(%ecx),%dl
553df2:	75 0e                	jne    0x553e02
553df4:	83 c0 02             	add    $0x2,%eax
553df7:	83 c1 02             	add    $0x2,%ecx
553dfa:	84 d2                	test   %dl,%dl
553dfc:	75 e4                	jne    0x553de2
553dfe:	33 c0                	xor    %eax,%eax
553e00:	eb 05                	jmp    0x553e07
553e02:	1b c0                	sbb    %eax,%eax
553e04:	83 c8 01             	or     $0x1,%eax
553e07:	85 c0                	test   %eax,%eax
553e09:	75 51                	jne    0x553e5c
553e0b:	8b 4f 04             	mov    0x4(%edi),%ecx
553e0e:	85 c9                	test   %ecx,%ecx
553e10:	74 37                	je     0x553e49
553e12:	8b 46 04             	mov    0x4(%esi),%eax
553e15:	85 c0                	test   %eax,%eax
553e17:	74 30                	je     0x553e49
553e19:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
553e20:	8a 11                	mov    (%ecx),%dl
553e22:	3a 10                	cmp    (%eax),%dl
553e24:	75 1b                	jne    0x553e41
553e26:	84 d2                	test   %dl,%dl
553e28:	74 12                	je     0x553e3c
553e2a:	8a 51 01             	mov    0x1(%ecx),%dl
553e2d:	3a 50 01             	cmp    0x1(%eax),%dl
553e30:	75 0f                	jne    0x553e41
553e32:	83 c1 02             	add    $0x2,%ecx
553e35:	83 c0 02             	add    $0x2,%eax
553e38:	84 d2                	test   %dl,%dl
553e3a:	75 e4                	jne    0x553e20
553e3c:	5f                   	pop    %edi
553e3d:	33 c0                	xor    %eax,%eax
553e3f:	5e                   	pop    %esi
553e40:	c3                   	ret
553e41:	1b c0                	sbb    %eax,%eax
553e43:	5f                   	pop    %edi
553e44:	83 c8 01             	or     $0x1,%eax
553e47:	5e                   	pop    %esi
553e48:	c3                   	ret
553e49:	33 c0                	xor    %eax,%eax
553e4b:	3b 4e 04             	cmp    0x4(%esi),%ecx
553e4e:	74 0c                	je     0x553e5c
553e50:	85 c9                	test   %ecx,%ecx
553e52:	0f 95 c0             	setne  %al
553e55:	8d 04 45 ff ff ff ff 	lea    -0x1(,%eax,2),%eax
553e5c:	5f                   	pop    %edi
553e5d:	5e                   	pop    %esi
553e5e:	c3                   	ret
553e5f:	cc                   	int3
553e60:	56                   	push   %esi
553e61:	8b 74 24 08          	mov    0x8(%esp),%esi
553e65:	57                   	push   %edi
553e66:	ff 76 04             	push   0x4(%esi)
553e69:	e8 e2 00 f9 ff       	call   0x4e3f50
553e6e:	ff 36                	push   (%esi)
553e70:	8b f8                	mov    %eax,%edi
553e72:	e8 d9 00 f9 ff       	call   0x4e3f50
553e77:	83 c4 08             	add    $0x8,%esp
553e7a:	c1 e0 02             	shl    $0x2,%eax
553e7d:	33 c7                	xor    %edi,%eax
553e7f:	5f                   	pop    %edi
553e80:	5e                   	pop    %esi
553e81:	c3                   	ret
553e82:	cc                   	int3
553e83:	cc                   	int3
553e84:	cc                   	int3
553e85:	cc                   	int3
553e86:	cc                   	int3
553e87:	cc                   	int3
553e88:	cc                   	int3
553e89:	cc                   	int3
553e8a:	cc                   	int3
553e8b:	cc                   	int3