5048e2:	c7 46 24 02 00 00 00 	movl   $0x2,0x24(%esi)
5048e9:	8b 70 14             	mov    0x14(%eax),%esi
5048ec:	8b 06                	mov    (%esi),%eax
5048ee:	89 07                	mov    %eax,(%edi)
5048f0:	8b 46 04             	mov    0x4(%esi),%eax
5048f3:	85 c0                	test   %eax,%eax
5048f5:	74 10                	je     0x504907
5048f7:	50                   	push   %eax
5048f8:	e8 53 52 fd ff       	call   0x4d9b50
5048fd:	83 c4 04             	add    $0x4,%esp
504900:	89 47 04             	mov    %eax,0x4(%edi)
504903:	85 c0                	test   %eax,%eax
504905:	74 4f                	je     0x504956
504907:	8b 46 14             	mov    0x14(%esi),%eax
50490a:	89 47 14             	mov    %eax,0x14(%edi)
50490d:	8b 46 18             	mov    0x18(%esi),%eax
504910:	89 47 18             	mov    %eax,0x18(%edi)
504913:	8b 46 1c             	mov    0x1c(%esi),%eax
504916:	89 47 1c             	mov    %eax,0x1c(%edi)
504919:	83 7e 2c 00          	cmpl   $0x0,0x2c(%esi)
50491d:	74 31                	je     0x504950
50491f:	6a 5d                	push   $0x5d
504921:	68 6c a8 62 00       	push   $0x62a86c
504926:	ff 77 2c             	push   0x2c(%edi)
504929:	e8 52 be fd ff       	call   0x4e0780
50492e:	6a 5e                	push   $0x5e
504930:	68 6c a8 62 00       	push   $0x62a86c
504935:	ff 76 30             	push   0x30(%esi)
504938:	ff 76 2c             	push   0x2c(%esi)
50493b:	e8 30 d7 fd ff       	call   0x4e2070
504940:	83 c4 1c             	add    $0x1c,%esp
504943:	89 47 2c             	mov    %eax,0x2c(%edi)
504946:	85 c0                	test   %eax,%eax
504948:	74 0c                	je     0x504956
50494a:	8b 4e 30             	mov    0x30(%esi),%ecx
50494d:	89 4f 30             	mov    %ecx,0x30(%edi)
504950:	5f                   	pop    %edi
504951:	5e                   	pop    %esi
504952:	8b c3                	mov    %ebx,%eax
504954:	5b                   	pop    %ebx
504955:	c3                   	ret
504956:	5f                   	pop    %edi
504957:	5e                   	pop    %esi
504958:	33 c0                	xor    %eax,%eax
50495a:	5b                   	pop    %ebx
50495b:	c3                   	ret
50495c:	cc                   	int3
50495d:	cc                   	int3
50495e:	cc                   	int3
50495f:	cc                   	int3
504960:	8b 44 24 04          	mov    0x4(%esp),%eax
504964:	56                   	push   %esi
504965:	8b 70 14             	mov    0x14(%eax),%esi
504968:	85 f6                	test   %esi,%esi
50496a:	74 36                	je     0x5049a2
50496c:	ff 76 04             	push   0x4(%esi)
50496f:	e8 ac 52 fd ff       	call   0x4d9c20
504974:	6a 76                	push   $0x76
504976:	68 6c a8 62 00       	push   $0x62a86c
50497b:	ff 76 28             	push   0x28(%esi)
50497e:	e8 fd bd fd ff       	call   0x4e0780
504983:	6a 77                	push   $0x77
504985:	68 6c a8 62 00       	push   $0x62a86c
50498a:	ff 76 2c             	push   0x2c(%esi)
50498d:	e8 ee bd fd ff       	call   0x4e0780
504992:	6a 78                	push   $0x78
504994:	68 6c a8 62 00       	push   $0x62a86c
504999:	56                   	push   %esi
50499a:	e8 e1 bd fd ff       	call   0x4e0780
50499f:	83 c4 28             	add    $0x28,%esp
5049a2:	5e                   	pop    %esi
5049a3:	c3                   	ret
5049a4:	cc                   	int3
5049a5:	cc                   	int3
5049a6:	cc                   	int3
5049a7:	cc                   	int3
5049a8:	cc                   	int3
5049a9:	cc                   	int3
5049aa:	cc                   	int3
5049ab:	cc                   	int3
5049ac:	cc                   	int3
5049ad:	cc                   	int3
5049ae:	cc                   	int3
5049af:	cc                   	int3
5049b0:	53                   	push   %ebx
5049b1:	8b 5c 24 08          	mov    0x8(%esp),%ebx
5049b5:	55                   	push   %ebp
5049b6:	56                   	push   %esi
5049b7:	57                   	push   %edi
5049b8:	8b 43 08             	mov    0x8(%ebx),%eax
5049bb:	8b 73 14             	mov    0x14(%ebx),%esi
5049be:	8b 78 18             	mov    0x18(%eax),%edi
5049c1:	8b 46 18             	mov    0x18(%esi),%eax
5049c4:	85 c0                	test   %eax,%eax
5049c6:	0f 84 81 01 00 00    	je     0x504b4d
5049cc:	50                   	push   %eax
5049cd:	e8 ee be fe ff       	call   0x4f08c0
5049d2:	8b 6c 24 28          	mov    0x28(%esp),%ebp
5049d6:	83 c4 04             	add    $0x4,%esp
5049d9:	3b e8                	cmp    %eax,%ebp
5049db:	74 26                	je     0x504a03
5049dd:	68 86 00 00 00       	push   $0x86
5049e2:	68 6c a8 62 00       	push   $0x62a86c
5049e7:	68 8f 00 00 00       	push   $0x8f
5049ec:	68 8e 00 00 00       	push   $0x8e
5049f1:	6a 04                	push   $0x4
5049f3:	e8 88 45 fd ff       	call   0x4d8f80
5049f8:	83 c4 14             	add    $0x14,%esp
5049fb:	5f                   	pop    %edi
5049fc:	5e                   	pop    %esi
5049fd:	5d                   	pop    %ebp
5049fe:	83 c8 ff             	or     $0xffffffff,%eax
504a01:	5b                   	pop    %ebx
504a02:	c3                   	ret
504a03:	ff 76 18             	push   0x18(%esi)
504a06:	e8 b5 b6 fe ff       	call   0x4f00c0
504a0b:	8b 4e 14             	mov    0x14(%esi),%ecx
504a0e:	83 c4 04             	add    $0x4,%esp
504a11:	83 f8 5f             	cmp    $0x5f,%eax
504a14:	75 2f                	jne    0x504a45
504a16:	83 f9 01             	cmp    $0x1,%ecx
504a19:	75 e0                	jne    0x5049fb
504a1b:	57                   	push   %edi
504a1c:	8d 44 24 18          	lea    0x18(%esp),%eax
504a20:	50                   	push   %eax
504a21:	ff 74 24 20          	push   0x20(%esp)
504a25:	55                   	push   %ebp
504a26:	ff 74 24 30          	push   0x30(%esp)
504a2a:	6a 00                	push   $0x0
504a2c:	e8 2f b8 02 00       	call   0x530260
504a31:	83 c4 18             	add    $0x18,%esp
504a34:	85 c0                	test   %eax,%eax
504a36:	0f 8e 41 01 00 00    	jle    0x504b7d
504a3c:	8b 4c 24 14          	mov    0x14(%esp),%ecx
504a40:	e9 22 01 00 00       	jmp    0x504b67
504a45:	83 f9 05             	cmp    $0x5,%ecx
504a48:	75 7b                	jne    0x504ac5
504a4a:	ff 73 08             	push   0x8(%ebx)
504a4d:	e8 ee c9 fe ff       	call   0x4f1440
504a52:	8d 4d 01             	lea    0x1(%ebp),%ecx
504a55:	83 c4 04             	add    $0x4,%esp
504a58:	3b c1                	cmp    %ecx,%eax
504a5a:	73 0e                	jae    0x504a6a
504a5c:	68 96 00 00 00       	push   $0x96
504a61:	68 6c a8 62 00       	push   $0x62a86c
504a66:	6a 78                	push   $0x78
504a68:	eb 82                	jmp    0x5049ec
504a6a:	53                   	push   %ebx
504a6b:	56                   	push   %esi
504a6c:	e8 5f 14 00 00       	call   0x505ed0
504a71:	83 c4 08             	add    $0x8,%esp
504a74:	85 c0                	test   %eax,%eax
504a76:	75 11                	jne    0x504a89
504a78:	68 9a 00 00 00       	push   $0x9a
504a7d:	68 6c a8 62 00       	push   $0x62a86c
504a82:	6a 41                	push   $0x41
504a84:	e9 63 ff ff ff       	jmp    0x5049ec
504a89:	55                   	push   %ebp
504a8a:	ff 74 24 24          	push   0x24(%esp)
504a8e:	ff 76 28             	push   0x28(%esi)
504a91:	e8 3a e3 0c 00       	call   0x5d2dd0
504a96:	ff 76 18             	push   0x18(%esi)
504a99:	e8 22 b6 fe ff       	call   0x4f00c0
504a9e:	50                   	push   %eax
504a9f:	e8 fc c0 ff ff       	call   0x500ba0
504aa4:	8b 4e 28             	mov    0x28(%esi),%ecx
504aa7:	6a 05                	push   $0x5
504aa9:	57                   	push   %edi
504aaa:	ff 74 24 34          	push   0x34(%esp)
504aae:	88 04 29             	mov    %al,(%ecx,%ebp,1)
504ab1:	8d 45 01             	lea    0x1(%ebp),%eax
504ab4:	ff 76 28             	push   0x28(%esi)
504ab7:	50                   	push   %eax
504ab8:	e8 d3 5e fd ff       	call   0x4da990
504abd:	83 c4 28             	add    $0x28,%esp
504ac0:	e9 a0 00 00 00       	jmp    0x504b65
504ac5:	83 f9 01             	cmp    $0x1,%ecx
504ac8:	75 31                	jne    0x504afb
504aca:	57                   	push   %edi
504acb:	8d 44 24 18          	lea    0x18(%esp),%eax
504acf:	50                   	push   %eax
504ad0:	ff 74 24 20          	push   0x20(%esp)
504ad4:	55                   	push   %ebp
504ad5:	ff 74 24 30          	push   0x30(%esp)
504ad9:	ff 76 18             	push   0x18(%esi)
504adc:	e8 df b5 fe ff       	call   0x4f00c0
504ae1:	83 c4 04             	add    $0x4,%esp
504ae4:	50                   	push   %eax
504ae5:	e8 b6 6b fd ff       	call   0x4db6a0
504aea:	83 c4 18             	add    $0x18,%esp
504aed:	85 c0                	test   %eax,%eax
504aef:	0f 8e 88 00 00 00    	jle    0x504b7d
504af5:	8b 4c 24 14          	mov    0x14(%esp),%ecx
504af9:	eb 6c                	jmp    0x504b67
504afb:	83 f9 06             	cmp    $0x6,%ecx
504afe:	0f 85 f7 fe ff ff    	jne    0x5049fb
504b04:	53                   	push   %ebx
504b05:	56                   	push   %esi
504b06:	e8 c5 13 00 00       	call   0x505ed0
504b0b:	83 c4 08             	add    $0x8,%esp
504b0e:	85 c0                	test   %eax,%eax
504b10:	0f 84 e5 fe ff ff    	je     0x5049fb
504b16:	ff 76 20             	push   0x20(%esi)
504b19:	ff 76 1c             	push   0x1c(%esi)
504b1c:	ff 76 18             	push   0x18(%esi)
504b1f:	ff 74 24 2c          	push   0x2c(%esp)
504b23:	ff 76 28             	push   0x28(%esi)
504b26:	57                   	push   %edi
504b27:	e8 34 b8 02 00       	call   0x530360
504b2c:	83 c4 18             	add    $0x18,%esp
504b2f:	85 c0                	test   %eax,%eax
504b31:	0f 84 c4 fe ff ff    	je     0x5049fb
504b37:	6a 03                	push   $0x3
504b39:	57                   	push   %edi
504b3a:	ff 74 24 20          	push   0x20(%esp)
504b3e:	ff 76 28             	push   0x28(%esi)
504b41:	57                   	push   %edi
504b42:	e8 89 60 fd ff       	call   0x4dabd0
504b47:	83 c4 04             	add    $0x4,%esp
504b4a:	50                   	push   %eax
504b4b:	eb 10                	jmp    0x504b5d
504b4d:	ff 76 14             	push   0x14(%esi)
504b50:	57                   	push   %edi
504b51:	ff 74 24 20          	push   0x20(%esp)
504b55:	ff 74 24 2c          	push   0x2c(%esp)
504b59:	ff 74 24 34          	push   0x34(%esp)
504b5d:	e8 2e 5e fd ff       	call   0x4da990
504b62:	83 c4 14             	add    $0x14,%esp
504b65:	8b c8                	mov    %eax,%ecx
504b67:	85 c9                	test   %ecx,%ecx
504b69:	79 07                	jns    0x504b72
504b6b:	5f                   	pop    %edi
504b6c:	5e                   	pop    %esi
504b6d:	5d                   	pop    %ebp
504b6e:	8b c1                	mov    %ecx,%eax
504b70:	5b                   	pop    %ebx
504b71:	c3                   	ret
504b72:	8b 44 24 1c          	mov    0x1c(%esp),%eax
504b76:	89 08                	mov    %ecx,(%eax)
504b78:	b8 01 00 00 00       	mov    $0x1,%eax
504b7d:	5f                   	pop    %edi
504b7e:	5e                   	pop    %esi
504b7f:	5d                   	pop    %ebp
504b80:	5b                   	pop    %ebx
504b81:	c3                   	ret
504b82:	cc                   	int3
504b83:	cc                   	int3
504b84:	cc                   	int3
504b85:	cc                   	int3
504b86:	cc                   	int3
504b87:	cc                   	int3
504b88:	cc                   	int3
504b89:	cc                   	int3
504b8a:	cc                   	int3
504b8b:	cc                   	int3
504b8c:	cc                   	int3
504b8d:	cc                   	int3
504b8e:	cc                   	int3
504b8f:	cc                   	int3
504b90:	56                   	push   %esi
504b91:	8b 74 24 08          	mov    0x8(%esp),%esi
504b95:	57                   	push   %edi
504b96:	8b 7e 14             	mov    0x14(%esi),%edi
504b99:	8b 4f 18             	mov    0x18(%edi),%ecx
504b9c:	8b 47 14             	mov    0x14(%edi),%eax
504b9f:	85 c9                	test   %ecx,%ecx
504ba1:	0f 84 09 01 00 00    	je     0x504cb0
504ba7:	83 f8 05             	cmp    $0x5,%eax
504baa:	0f 85 ba 00 00 00    	jne    0x504c6a
504bb0:	56                   	push   %esi
504bb1:	57                   	push   %edi
504bb2:	e8 19 13 00 00       	call   0x505ed0
504bb7:	83 c4 08             	add    $0x8,%esp
504bba:	85 c0                	test   %eax,%eax
504bbc:	0f 84 e8 00 00 00    	je     0x504caa
504bc2:	8b 46 08             	mov    0x8(%esi),%eax
504bc5:	6a 05                	push   $0x5
504bc7:	ff 70 18             	push   0x18(%eax)
504bca:	ff 77 28             	push   0x28(%edi)
504bcd:	ff 74 24 24          	push   0x24(%esp)
504bd1:	ff 74 24 2c          	push   0x2c(%esp)
504bd5:	e8 c6 5d fd ff       	call   0x4da9a0
504bda:	8b f0                	mov    %eax,%esi
504bdc:	83 c4 14             	add    $0x14,%esp
504bdf:	83 fe 01             	cmp    $0x1,%esi
504be2:	7c 38                	jl     0x504c1c
504be4:	ff 77 18             	push   0x18(%edi)
504be7:	4e                   	dec    %esi
504be8:	e8 d3 b4 fe ff       	call   0x4f00c0
504bed:	50                   	push   %eax
504bee:	e8 ad bf ff ff       	call   0x500ba0
504bf3:	8b 4f 28             	mov    0x28(%edi),%ecx
504bf6:	83 c4 08             	add    $0x8,%esp
504bf9:	0f b6 0c 31          	movzbl (%ecx,%esi,1),%ecx
504bfd:	3b c8                	cmp    %eax,%ecx
504bff:	74 20                	je     0x504c21
504c01:	68 d2 00 00 00       	push   $0xd2
504c06:	68 6c a8 62 00       	push   $0x62a86c
504c0b:	6a 64                	push   $0x64
504c0d:	68 8d 00 00 00       	push   $0x8d
504c12:	6a 04                	push   $0x4
504c14:	e8 67 43 fd ff       	call   0x4d8f80
504c19:	83 c4 14             	add    $0x14,%esp
504c1c:	5f                   	pop    %edi
504c1d:	33 c0                	xor    %eax,%eax
504c1f:	5e                   	pop    %esi
504c20:	c3                   	ret
504c21:	ff 77 18             	push   0x18(%edi)
504c24:	e8 97 bc fe ff       	call   0x4f08c0
504c29:	83 c4 04             	add    $0x4,%esp
504c2c:	3b f0                	cmp    %eax,%esi
504c2e:	74 23                	je     0x504c53
504c30:	68 d7 00 00 00       	push   $0xd7
504c35:	68 6c a8 62 00       	push   $0x62a86c
504c3a:	68 8f 00 00 00       	push   $0x8f
504c3f:	68 8d 00 00 00       	push   $0x8d
504c44:	6a 04                	push   $0x4
504c46:	e8 35 43 fd ff       	call   0x4d8f80
504c4b:	83 c4 14             	add    $0x14,%esp
504c4e:	33 c0                	xor    %eax,%eax
504c50:	5f                   	pop    %edi
504c51:	5e                   	pop    %esi
504c52:	c3                   	ret
504c53:	8b 44 24 10          	mov    0x10(%esp),%eax
504c57:	85 c0                	test   %eax,%eax
504c59:	74 72                	je     0x504ccd
504c5b:	56                   	push   %esi
504c5c:	ff 77 28             	push   0x28(%edi)
504c5f:	50                   	push   %eax
504c60:	e8 6b e1 0c 00       	call   0x5d2dd0
504c65:	83 c4 0c             	add    $0xc,%esp
504c68:	eb 63                	jmp    0x504ccd
504c6a:	83 f8 01             	cmp    $0x1,%eax
504c6d:	75 3b                	jne    0x504caa
504c6f:	8b 46 08             	mov    0x8(%esi),%eax
504c72:	ff 70 18             	push   0x18(%eax)
504c75:	8d 44 24 10          	lea    0x10(%esp),%eax
504c79:	ff 74 24 20          	push   0x20(%esp)
504c7d:	ff 74 24 20          	push   0x20(%esp)
504c81:	50                   	push   %eax
504c82:	ff 74 24 20          	push   0x20(%esp)
504c86:	6a 00                	push   $0x0
504c88:	6a 00                	push   $0x0
504c8a:	51                   	push   %ecx
504c8b:	e8 30 b4 fe ff       	call   0x4f00c0
504c90:	83 c4 04             	add    $0x4,%esp
504c93:	50                   	push   %eax
504c94:	e8 47 6c fd ff       	call   0x4db8e0
504c99:	83 c4 20             	add    $0x20,%esp
504c9c:	85 c0                	test   %eax,%eax