53192e:	83 c4 2c             	add    $0x2c,%esp
531931:	83 7f 28 00          	cmpl   $0x0,0x28(%edi)
531935:	75 07                	jne    0x53193e
531937:	c7 47 28 01 00 00 00 	movl   $0x1,0x28(%edi)
53193e:	5f                   	pop    %edi
53193f:	5b                   	pop    %ebx
531940:	5d                   	pop    %ebp
531941:	c3                   	ret
531942:	cc                   	int3
531943:	cc                   	int3
531944:	cc                   	int3
531945:	cc                   	int3
531946:	cc                   	int3
531947:	cc                   	int3
531948:	cc                   	int3
531949:	cc                   	int3
53194a:	cc                   	int3
53194b:	cc                   	int3
53194c:	cc                   	int3
53194d:	cc                   	int3
53194e:	cc                   	int3
53194f:	cc                   	int3
531950:	55                   	push   %ebp
531951:	8b ec                	mov    %esp,%ebp
531953:	53                   	push   %ebx
531954:	56                   	push   %esi
531955:	57                   	push   %edi
531956:	8b 7d 08             	mov    0x8(%ebp),%edi
531959:	8b 5f 08             	mov    0x8(%edi),%ebx
53195c:	85 db                	test   %ebx,%ebx
53195e:	75 1c                	jne    0x53197c
531960:	39 5f 74             	cmp    %ebx,0x74(%edi)
531963:	75 0c                	jne    0x531971
531965:	8b 07                	mov    (%edi),%eax
531967:	f6 40 4c 08          	testb  $0x8,0x4c(%eax)
53196b:	75 04                	jne    0x531971
53196d:	c6 47 17 01          	movb   $0x1,0x17(%edi)
531971:	57                   	push   %edi
531972:	e8 99 0a 01 00       	call   0x542410
531977:	83 c4 04             	add    $0x4,%esp
53197a:	8b d8                	mov    %eax,%ebx
53197c:	8b 75 14             	mov    0x14(%ebp),%esi
53197f:	83 7d 18 61          	cmpl   $0x61,0x18(%ebp)
531983:	0f 94 c1             	sete   %cl
531986:	ff 36                	push   (%esi)
531988:	0f b6 c1             	movzbl %cl,%eax
53198b:	50                   	push   %eax
53198c:	ff 76 1c             	push   0x1c(%esi)
53198f:	ff 75 10             	push   0x10(%ebp)
531992:	57                   	push   %edi
531993:	e8 38 c5 00 00       	call   0x53ded0
531998:	83 c4 14             	add    $0x14,%esp
53199b:	f6 46 24 80          	testb  $0x80,0x24(%esi)
53199f:	75 1f                	jne    0x5319c0
5319a1:	0f bf 46 2c          	movswl 0x2c(%esi),%eax
5319a5:	50                   	push   %eax
5319a6:	ff 75 10             	push   0x10(%ebp)
5319a9:	ff 76 1c             	push   0x1c(%esi)
5319ac:	ff 75 0c             	push   0xc(%ebp)
5319af:	ff 75 18             	push   0x18(%ebp)
5319b2:	53                   	push   %ebx
5319b3:	e8 58 02 01 00       	call   0x541c10
5319b8:	83 c4 18             	add    $0x18,%esp
5319bb:	5f                   	pop    %edi
5319bc:	5e                   	pop    %esi
5319bd:	5b                   	pop    %ebx
5319be:	5d                   	pop    %ebp
5319bf:	c3                   	ret
5319c0:	8b 76 08             	mov    0x8(%esi),%esi
5319c3:	85 f6                	test   %esi,%esi
5319c5:	74 10                	je     0x5319d7
5319c7:	8b 46 38             	mov    0x38(%esi),%eax
5319ca:	24 03                	and    $0x3,%al
5319cc:	3c 02                	cmp    $0x2,%al
5319ce:	74 07                	je     0x5319d7
5319d0:	8b 76 14             	mov    0x14(%esi),%esi
5319d3:	85 f6                	test   %esi,%esi
5319d5:	75 f0                	jne    0x5319c7
5319d7:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
5319da:	8b 56 2c             	mov    0x2c(%esi),%edx
5319dd:	39 4b 70             	cmp    %ecx,0x70(%ebx)
5319e0:	7f 15                	jg     0x5319f7
5319e2:	ff 75 10             	push   0x10(%ebp)
5319e5:	52                   	push   %edx
5319e6:	ff 75 0c             	push   0xc(%ebp)
5319e9:	ff 75 18             	push   0x18(%ebp)
5319ec:	53                   	push   %ebx
5319ed:	e8 0e 4b fd ff       	call   0x506500
5319f2:	83 c4 14             	add    $0x14,%esp
5319f5:	eb 37                	jmp    0x531a2e
5319f7:	8d 41 01             	lea    0x1(%ecx),%eax
5319fa:	89 43 6c             	mov    %eax,0x6c(%ebx)
5319fd:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
531a00:	8b 43 68             	mov    0x68(%ebx),%eax
531a03:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
531a07:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
531a0e:	00
531a0f:	c6 44 88 01 00       	movb   $0x0,0x1(%eax,%ecx,4)
531a14:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
531a17:	8b 45 18             	mov    0x18(%ebp),%eax
531a1a:	88 01                	mov    %al,(%ecx)
531a1c:	33 c0                	xor    %eax,%eax
531a1e:	66 89 41 02          	mov    %ax,0x2(%ecx)
531a22:	8b 45 0c             	mov    0xc(%ebp),%eax
531a25:	89 41 04             	mov    %eax,0x4(%ecx)
531a28:	8b 45 10             	mov    0x10(%ebp),%eax
531a2b:	89 41 0c             	mov    %eax,0xc(%ecx)
531a2e:	8b 5f 08             	mov    0x8(%edi),%ebx
531a31:	56                   	push   %esi
531a32:	57                   	push   %edi
531a33:	e8 c8 e2 ff ff       	call   0x52fd00
531a38:	8b d0                	mov    %eax,%edx
531a3a:	83 c4 08             	add    $0x8,%esp
531a3d:	85 d2                	test   %edx,%edx
531a3f:	74 2b                	je     0x531a6c
531a41:	8b 03                	mov    (%ebx),%eax
531a43:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
531a47:	74 11                	je     0x531a5a
531a49:	52                   	push   %edx
531a4a:	6a f7                	push   $0xfffffff7
531a4c:	50                   	push   %eax
531a4d:	e8 5e 22 fd ff       	call   0x503cb0
531a52:	83 c4 0c             	add    $0xc,%esp
531a55:	5f                   	pop    %edi
531a56:	5e                   	pop    %esi
531a57:	5b                   	pop    %ebx
531a58:	5d                   	pop    %ebp
531a59:	c3                   	ret
531a5a:	8b 43 6c             	mov    0x6c(%ebx),%eax
531a5d:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
531a60:	8b 43 68             	mov    0x68(%ebx),%eax
531a63:	c6 44 88 ed f7       	movb   $0xf7,-0x13(%eax,%ecx,4)
531a68:	89 54 88 fc          	mov    %edx,-0x4(%eax,%ecx,4)
531a6c:	5f                   	pop    %edi
531a6d:	5e                   	pop    %esi
531a6e:	5b                   	pop    %ebx
531a6f:	5d                   	pop    %ebp
531a70:	c3                   	ret
531a71:	cc                   	int3
531a72:	cc                   	int3
531a73:	cc                   	int3
531a74:	cc                   	int3
531a75:	cc                   	int3
531a76:	cc                   	int3
531a77:	cc                   	int3
531a78:	cc                   	int3
531a79:	cc                   	int3
531a7a:	cc                   	int3
531a7b:	cc                   	int3
531a7c:	cc                   	int3
531a7d:	cc                   	int3
531a7e:	cc                   	int3
531a7f:	cc                   	int3
531a80:	55                   	push   %ebp
531a81:	8b ec                	mov    %esp,%ebp
531a83:	8b 55 0c             	mov    0xc(%ebp),%edx
531a86:	83 ec 10             	sub    $0x10,%esp
531a89:	83 7a 38 00          	cmpl   $0x0,0x38(%edx)
531a8d:	74 06                	je     0x531a95
531a8f:	33 c0                	xor    %eax,%eax
531a91:	8b e5                	mov    %ebp,%esp
531a93:	5d                   	pop    %ebp
531a94:	c3                   	ret
531a95:	8b 52 48             	mov    0x48(%edx),%edx
531a98:	8b 4d 08             	mov    0x8(%ebp),%ecx
531a9b:	53                   	push   %ebx
531a9c:	56                   	push   %esi
531a9d:	be c0 bd f0 ff       	mov    $0xfff0bdc0,%esi
531aa2:	89 75 fc             	mov    %esi,-0x4(%ebp)
531aa5:	57                   	push   %edi
531aa6:	85 d2                	test   %edx,%edx
531aa8:	74 21                	je     0x531acb
531aaa:	8b 01                	mov    (%ecx),%eax
531aac:	33 f6                	xor    %esi,%esi
531aae:	89 75 fc             	mov    %esi,-0x4(%ebp)
531ab1:	8b 40 10             	mov    0x10(%eax),%eax
531ab4:	83 c0 0c             	add    $0xc,%eax
531ab7:	39 10                	cmp    %edx,(%eax)
531ab9:	74 10                	je     0x531acb
531abb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
531ac0:	8d 40 10             	lea    0x10(%eax),%eax
531ac3:	46                   	inc    %esi
531ac4:	39 10                	cmp    %edx,(%eax)
531ac6:	75 f8                	jne    0x531ac0
531ac8:	89 75 fc             	mov    %esi,-0x4(%ebp)
531acb:	8b 79 08             	mov    0x8(%ecx),%edi
531ace:	85 ff                	test   %edi,%edi
531ad0:	75 1f                	jne    0x531af1
531ad2:	39 79 74             	cmp    %edi,0x74(%ecx)
531ad5:	75 0c                	jne    0x531ae3
531ad7:	8b 01                	mov    (%ecx),%eax
531ad9:	f6 40 4c 08          	testb  $0x8,0x4c(%eax)
531add:	75 04                	jne    0x531ae3
531adf:	c6 41 17 01          	movb   $0x1,0x17(%ecx)
531ae3:	51                   	push   %ecx
531ae4:	e8 27 09 01 00       	call   0x542410
531ae9:	8b 4d 08             	mov    0x8(%ebp),%ecx
531aec:	83 c4 04             	add    $0x4,%esp
531aef:	8b f8                	mov    %eax,%edi
531af1:	8b 5d 18             	mov    0x18(%ebp),%ebx
531af4:	85 db                	test   %ebx,%ebx
531af6:	79 03                	jns    0x531afb
531af8:	8b 59 28             	mov    0x28(%ecx),%ebx
531afb:	8b 45 20             	mov    0x20(%ebp),%eax
531afe:	8b d3                	mov    %ebx,%edx
531b00:	43                   	inc    %ebx
531b01:	89 55 f4             	mov    %edx,-0xc(%ebp)
531b04:	85 c0                	test   %eax,%eax
531b06:	74 02                	je     0x531b0a
531b08:	89 10                	mov    %edx,(%eax)
531b0a:	8b 55 0c             	mov    0xc(%ebp),%edx
531b0d:	f6 42 24 80          	testb  $0x80,0x24(%edx)
531b11:	75 1c                	jne    0x531b2f
531b13:	8b 45 1c             	mov    0x1c(%ebp),%eax
531b16:	85 c0                	test   %eax,%eax
531b18:	74 05                	je     0x531b1f
531b1a:	80 38 00             	cmpb   $0x0,(%eax)
531b1d:	74 10                	je     0x531b2f
531b1f:	ff 75 10             	push   0x10(%ebp)
531b22:	52                   	push   %edx
531b23:	56                   	push   %esi
531b24:	ff 75 f4             	push   -0xc(%ebp)
531b27:	51                   	push   %ecx
531b28:	e8 23 fe ff ff       	call   0x531950
531b2d:	eb 17                	jmp    0x531b46
531b2f:	83 7d 10 61          	cmpl   $0x61,0x10(%ebp)
531b33:	ff 32                	push   (%edx)
531b35:	0f 94 c0             	sete   %al
531b38:	0f b6 c0             	movzbl %al,%eax
531b3b:	50                   	push   %eax
531b3c:	ff 72 1c             	push   0x1c(%edx)
531b3f:	56                   	push   %esi
531b40:	51                   	push   %ecx
531b41:	e8 8a c3 00 00       	call   0x53ded0
531b46:	8b 45 24             	mov    0x24(%ebp),%eax
531b49:	83 c4 14             	add    $0x14,%esp
531b4c:	85 c0                	test   %eax,%eax
531b4e:	74 02                	je     0x531b52
531b50:	89 18                	mov    %ebx,(%eax)
531b52:	8b 4d 0c             	mov    0xc(%ebp),%ecx
531b55:	33 d2                	xor    %edx,%edx
531b57:	89 55 f8             	mov    %edx,-0x8(%ebp)
531b5a:	8b 71 08             	mov    0x8(%ecx),%esi
531b5d:	85 f6                	test   %esi,%esi
531b5f:	0f 84 0a 01 00 00    	je     0x531c6f
531b65:	8b 46 38             	mov    0x38(%esi),%eax
531b68:	8b d3                	mov    %ebx,%edx
531b6a:	24 03                	and    $0x3,%al
531b6c:	89 55 f4             	mov    %edx,-0xc(%ebp)
531b6f:	43                   	inc    %ebx
531b70:	3c 02                	cmp    $0x2,%al
531b72:	75 13                	jne    0x531b87
531b74:	f6 41 24 80          	testb  $0x80,0x24(%ecx)
531b78:	74 0d                	je     0x531b87
531b7a:	8b 45 20             	mov    0x20(%ebp),%eax
531b7d:	85 c0                	test   %eax,%eax
531b7f:	74 02                	je     0x531b83
531b81:	89 10                	mov    %edx,(%eax)
531b83:	c6 45 14 00          	movb   $0x0,0x14(%ebp)
531b87:	83 7d 1c 00          	cmpl   $0x0,0x1c(%ebp)
531b8b:	74 14                	je     0x531ba1
531b8d:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
531b90:	8b 45 f8             	mov    -0x8(%ebp),%eax
531b93:	80 7c 08 01 00       	cmpb   $0x0,0x1(%eax,%ecx,1)
531b98:	8b 4d 0c             	mov    0xc(%ebp),%ecx
531b9b:	0f 84 bc 00 00 00    	je     0x531c5d
531ba1:	8b 4f 6c             	mov    0x6c(%edi),%ecx
531ba4:	8b 46 2c             	mov    0x2c(%esi),%eax
531ba7:	89 45 f0             	mov    %eax,-0x10(%ebp)
531baa:	39 4f 70             	cmp    %ecx,0x70(%edi)
531bad:	7f 13                	jg     0x531bc2
531baf:	ff 75 fc             	push   -0x4(%ebp)
531bb2:	50                   	push   %eax
531bb3:	52                   	push   %edx
531bb4:	ff 75 10             	push   0x10(%ebp)
531bb7:	57                   	push   %edi
531bb8:	e8 43 49 fd ff       	call   0x506500
531bbd:	83 c4 14             	add    $0x14,%esp
531bc0:	eb 3b                	jmp    0x531bfd
531bc2:	8b 55 10             	mov    0x10(%ebp),%edx
531bc5:	8d 41 01             	lea    0x1(%ecx),%eax
531bc8:	89 47 6c             	mov    %eax,0x6c(%edi)
531bcb:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
531bce:	8b 47 68             	mov    0x68(%edi),%eax
531bd1:	88 14 88             	mov    %dl,(%eax,%ecx,4)
531bd4:	33 d2                	xor    %edx,%edx
531bd6:	66 89 54 88 02       	mov    %dx,0x2(%eax,%ecx,4)
531bdb:	8b 55 f4             	mov    -0xc(%ebp),%edx
531bde:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
531be2:	8b 55 f0             	mov    -0x10(%ebp),%edx
531be5:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
531be9:	8b 55 fc             	mov    -0x4(%ebp),%edx
531bec:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
531bf0:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
531bf7:	00
531bf8:	c6 44 88 01 00       	movb   $0x0,0x1(%eax,%ecx,4)
531bfd:	8b 45 08             	mov    0x8(%ebp),%eax
531c00:	56                   	push   %esi
531c01:	50                   	push   %eax
531c02:	8b 48 08             	mov    0x8(%eax),%ecx
531c05:	89 4d f4             	mov    %ecx,-0xc(%ebp)
531c08:	e8 f3 e0 ff ff       	call   0x52fd00
531c0d:	8b d0                	mov    %eax,%edx
531c0f:	83 c4 08             	add    $0x8,%esp
531c12:	85 d2                	test   %edx,%edx
531c14:	74 2e                	je     0x531c44
531c16:	8b 45 f4             	mov    -0xc(%ebp),%eax
531c19:	8b 08                	mov    (%eax),%ecx
531c1b:	80 79 51 00          	cmpb   $0x0,0x51(%ecx)
531c1f:	74 0e                	je     0x531c2f
531c21:	52                   	push   %edx
531c22:	6a f7                	push   $0xfffffff7
531c24:	51                   	push   %ecx
531c25:	e8 86 20 fd ff       	call   0x503cb0
531c2a:	83 c4 0c             	add    $0xc,%esp
531c2d:	eb 15                	jmp    0x531c44
531c2f:	8b 40 6c             	mov    0x6c(%eax),%eax
531c32:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
531c35:	8b 45 f4             	mov    -0xc(%ebp),%eax
531c38:	8b 40 68             	mov    0x68(%eax),%eax
531c3b:	c6 44 88 ed f7       	movb   $0xf7,-0x13(%eax,%ecx,4)
531c40:	89 54 88 fc          	mov    %edx,-0x4(%eax,%ecx,4)
531c44:	8b 47 6c             	mov    0x6c(%edi),%eax
531c47:	85 c0                	test   %eax,%eax
531c49:	7e 0f                	jle    0x531c5a
531c4b:	0f b6 55 14          	movzbl 0x14(%ebp),%edx
531c4f:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
531c52:	8b 47 68             	mov    0x68(%edi),%eax
531c55:	66 89 54 88 ee       	mov    %dx,-0x12(%eax,%ecx,4)
531c5a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
531c5d:	8b 55 f8             	mov    -0x8(%ebp),%edx
531c60:	8b 76 14             	mov    0x14(%esi),%esi
531c63:	42                   	inc    %edx
531c64:	89 55 f8             	mov    %edx,-0x8(%ebp)
531c67:	85 f6                	test   %esi,%esi
531c69:	0f 85 f6 fe ff ff    	jne    0x531b65
531c6f:	8b 4d 08             	mov    0x8(%ebp),%ecx
531c72:	3b 59 28             	cmp    0x28(%ecx),%ebx
531c75:	7e 03                	jle    0x531c7a
531c77:	89 59 28             	mov    %ebx,0x28(%ecx)
531c7a:	5f                   	pop    %edi
531c7b:	5e                   	pop    %esi
531c7c:	8b c2                	mov    %edx,%eax
531c7e:	5b                   	pop    %ebx
531c7f:	8b e5                	mov    %ebp,%esp
531c81:	5d                   	pop    %ebp
531c82:	c3                   	ret
531c83:	cc                   	int3
531c84:	cc                   	int3
531c85:	cc                   	int3