50d8bd:	57                   	push   %edi
50d8be:	8b 40 14             	mov    0x14(%eax),%eax
50d8c1:	56                   	push   %esi
50d8c2:	ff d0                	call   *%eax
50d8c4:	83 c4 08             	add    $0x8,%esp
50d8c7:	5f                   	pop    %edi
50d8c8:	5e                   	pop    %esi
50d8c9:	c3                   	ret
50d8ca:	cc                   	int3
50d8cb:	cc                   	int3
50d8cc:	cc                   	int3
50d8cd:	cc                   	int3
50d8ce:	cc                   	int3
50d8cf:	cc                   	int3
50d8d0:	53                   	push   %ebx
50d8d1:	8b 5c 24 08          	mov    0x8(%esp),%ebx
50d8d5:	56                   	push   %esi
50d8d6:	57                   	push   %edi
50d8d7:	85 db                	test   %ebx,%ebx
50d8d9:	74 1b                	je     0x50d8f6
50d8db:	8b 3b                	mov    (%ebx),%edi
50d8dd:	85 ff                	test   %edi,%edi
50d8df:	75 1b                	jne    0x50d8fc
50d8e1:	6a 19                	push   $0x19
50d8e3:	68 84 b5 62 00       	push   $0x62b584
50d8e8:	6a 6c                	push   $0x6c
50d8ea:	6a 6c                	push   $0x6c
50d8ec:	6a 10                	push   $0x10
50d8ee:	e8 8d b6 fc ff       	call   0x4d8f80
50d8f3:	83 c4 14             	add    $0x14,%esp
50d8f6:	5f                   	pop    %edi
50d8f7:	5e                   	pop    %esi
50d8f8:	33 c0                	xor    %eax,%eax
50d8fa:	5b                   	pop    %ebx
50d8fb:	c3                   	ret
50d8fc:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
50d900:	75 1b                	jne    0x50d91d
50d902:	6a 1d                	push   $0x1d
50d904:	68 84 b5 62 00       	push   $0x62b584
50d909:	6a 42                	push   $0x42
50d90b:	6a 6c                	push   $0x6c
50d90d:	6a 10                	push   $0x10
50d90f:	e8 6c b6 fc ff       	call   0x4d8f80
50d914:	83 c4 14             	add    $0x14,%esp
50d917:	33 c0                	xor    %eax,%eax
50d919:	5f                   	pop    %edi
50d91a:	5e                   	pop    %esi
50d91b:	5b                   	pop    %ebx
50d91c:	c3                   	ret
50d91d:	6a 21                	push   $0x21
50d91f:	68 84 b5 62 00       	push   $0x62b584
50d924:	6a 68                	push   $0x68
50d926:	e8 15 31 fd ff       	call   0x4e0a40
50d92b:	8b f0                	mov    %eax,%esi
50d92d:	83 c4 0c             	add    $0xc,%esp
50d930:	85 f6                	test   %esi,%esi
50d932:	75 1b                	jne    0x50d94f
50d934:	6a 23                	push   $0x23
50d936:	68 84 b5 62 00       	push   $0x62b584
50d93b:	6a 41                	push   $0x41
50d93d:	6a 6c                	push   $0x6c
50d93f:	6a 10                	push   $0x10
50d941:	e8 3a b6 fc ff       	call   0x4d8f80
50d946:	83 c4 14             	add    $0x14,%esp
50d949:	33 c0                	xor    %eax,%eax
50d94b:	5f                   	pop    %edi
50d94c:	5e                   	pop    %esi
50d94d:	5b                   	pop    %ebx
50d94e:	c3                   	ret
50d94f:	89 3e                	mov    %edi,(%esi)
50d951:	f6 07 02             	testb  $0x2,(%edi)
50d954:	75 18                	jne    0x50d96e
50d956:	e8 85 c4 fc ff       	call   0x4d9de0
50d95b:	89 46 08             	mov    %eax,0x8(%esi)
50d95e:	85 c0                	test   %eax,%eax
50d960:	74 27                	je     0x50d989
50d962:	e8 79 c4 fc ff       	call   0x4d9de0
50d967:	89 46 0c             	mov    %eax,0xc(%esi)
50d96a:	85 c0                	test   %eax,%eax
50d96c:	74 1b                	je     0x50d989
50d96e:	c7 46 14 01 00 00 00 	movl   $0x1,0x14(%esi)
50d975:	c7 46 1c 04 00 00 00 	movl   $0x4,0x1c(%esi)
50d97c:	8b 47 08             	mov    0x8(%edi),%eax
50d97f:	56                   	push   %esi
50d980:	ff d0                	call   *%eax
50d982:	83 c4 04             	add    $0x4,%esp
50d985:	85 c0                	test   %eax,%eax
50d987:	75 26                	jne    0x50d9af
50d989:	ff 76 08             	push   0x8(%esi)
50d98c:	e8 8f c2 fc ff       	call   0x4d9c20
50d991:	ff 76 0c             	push   0xc(%esi)
50d994:	e8 87 c2 fc ff       	call   0x4d9c20
50d999:	6a 39                	push   $0x39
50d99b:	68 84 b5 62 00       	push   $0x62b584
50d9a0:	56                   	push   %esi
50d9a1:	e8 da 2d fd ff       	call   0x4e0780
50d9a6:	83 c4 14             	add    $0x14,%esp
50d9a9:	33 c0                	xor    %eax,%eax
50d9ab:	5f                   	pop    %edi
50d9ac:	5e                   	pop    %esi
50d9ad:	5b                   	pop    %ebx
50d9ae:	c3                   	ret
50d9af:	53                   	push   %ebx
50d9b0:	56                   	push   %esi
50d9b1:	e8 da fc ff ff       	call   0x50d690
50d9b6:	83 c4 08             	add    $0x8,%esp
50d9b9:	85 c0                	test   %eax,%eax
50d9bb:	0f 85 a1 00 00 00    	jne    0x50da62
50d9c1:	8b 06                	mov    (%esi),%eax
50d9c3:	8b 40 0c             	mov    0xc(%eax),%eax
50d9c6:	85 c0                	test   %eax,%eax
50d9c8:	74 06                	je     0x50d9d0
50d9ca:	56                   	push   %esi
50d9cb:	ff d0                	call   *%eax
50d9cd:	83 c4 04             	add    $0x4,%esp
50d9d0:	8b 46 60             	mov    0x60(%esi),%eax
50d9d3:	83 e8 04             	sub    $0x4,%eax
50d9d6:	74 0f                	je     0x50d9e7
50d9d8:	83 e8 01             	sub    $0x1,%eax
50d9db:	75 15                	jne    0x50d9f2
50d9dd:	ff 76 64             	push   0x64(%esi)
50d9e0:	e8 2b d2 02 00       	call   0x53ac10
50d9e5:	eb 08                	jmp    0x50d9ef
50d9e7:	ff 76 64             	push   0x64(%esi)
50d9ea:	e8 c1 c4 02 00       	call   0x539eb0
50d9ef:	83 c4 04             	add    $0x4,%esp
50d9f2:	ff 76 5c             	push   0x5c(%esi)
50d9f5:	c7 46 64 00 00 00 00 	movl   $0x0,0x64(%esi)
50d9fc:	e8 bf 67 fd ff       	call   0x4e41c0
50da01:	8b 7e 04             	mov    0x4(%esi),%edi
50da04:	83 c4 04             	add    $0x4,%esp
50da07:	85 ff                	test   %edi,%edi
50da09:	74 22                	je     0x50da2d
50da0b:	8b 07                	mov    (%edi),%eax
50da0d:	8b 40 30             	mov    0x30(%eax),%eax
50da10:	85 c0                	test   %eax,%eax
50da12:	74 06                	je     0x50da1a
50da14:	57                   	push   %edi
50da15:	ff d0                	call   *%eax
50da17:	83 c4 04             	add    $0x4,%esp
50da1a:	68 af 02 00 00       	push   $0x2af
50da1f:	68 84 b5 62 00       	push   $0x62b584
50da24:	57                   	push   %edi
50da25:	e8 56 2d fd ff       	call   0x4e0780
50da2a:	83 c4 0c             	add    $0xc,%esp
50da2d:	ff 76 08             	push   0x8(%esi)
50da30:	e8 eb c1 fc ff       	call   0x4d9c20
50da35:	ff 76 0c             	push   0xc(%esi)
50da38:	e8 e3 c1 fc ff       	call   0x4d9c20
50da3d:	6a 6b                	push   $0x6b
50da3f:	68 84 b5 62 00       	push   $0x62b584
50da44:	ff 76 20             	push   0x20(%esi)
50da47:	e8 34 2d fd ff       	call   0x4e0780
50da4c:	6a 6c                	push   $0x6c
50da4e:	68 84 b5 62 00       	push   $0x62b584
50da53:	56                   	push   %esi
50da54:	e8 27 2d fd ff       	call   0x4e0780
50da59:	83 c4 20             	add    $0x20,%esp
50da5c:	33 c0                	xor    %eax,%eax
50da5e:	5f                   	pop    %edi
50da5f:	5e                   	pop    %esi
50da60:	5b                   	pop    %ebx
50da61:	c3                   	ret
50da62:	5f                   	pop    %edi
50da63:	8b c6                	mov    %esi,%eax
50da65:	5e                   	pop    %esi
50da66:	5b                   	pop    %ebx
50da67:	c3                   	ret
50da68:	cc                   	int3
50da69:	cc                   	int3
50da6a:	cc                   	int3
50da6b:	cc                   	int3
50da6c:	cc                   	int3
50da6d:	cc                   	int3
50da6e:	cc                   	int3
50da6f:	cc                   	int3
50da70:	56                   	push   %esi
50da71:	8b 74 24 08          	mov    0x8(%esp),%esi
50da75:	85 f6                	test   %esi,%esi
50da77:	0f 84 9d 00 00 00    	je     0x50db1a
50da7d:	8b 06                	mov    (%esi),%eax
50da7f:	8b 40 0c             	mov    0xc(%eax),%eax
50da82:	85 c0                	test   %eax,%eax
50da84:	74 06                	je     0x50da8c
50da86:	56                   	push   %esi
50da87:	ff d0                	call   *%eax
50da89:	83 c4 04             	add    $0x4,%esp
50da8c:	8b 46 60             	mov    0x60(%esi),%eax
50da8f:	83 e8 04             	sub    $0x4,%eax
50da92:	74 0f                	je     0x50daa3
50da94:	83 e8 01             	sub    $0x1,%eax
50da97:	75 15                	jne    0x50daae
50da99:	ff 76 64             	push   0x64(%esi)
50da9c:	e8 6f d1 02 00       	call   0x53ac10
50daa1:	eb 08                	jmp    0x50daab
50daa3:	ff 76 64             	push   0x64(%esi)
50daa6:	e8 05 c4 02 00       	call   0x539eb0
50daab:	83 c4 04             	add    $0x4,%esp
50daae:	57                   	push   %edi
50daaf:	ff 76 5c             	push   0x5c(%esi)
50dab2:	c7 46 64 00 00 00 00 	movl   $0x0,0x64(%esi)
50dab9:	e8 02 67 fd ff       	call   0x4e41c0
50dabe:	8b 7e 04             	mov    0x4(%esi),%edi
50dac1:	83 c4 04             	add    $0x4,%esp
50dac4:	85 ff                	test   %edi,%edi
50dac6:	74 22                	je     0x50daea
50dac8:	8b 07                	mov    (%edi),%eax
50daca:	8b 40 30             	mov    0x30(%eax),%eax
50dacd:	85 c0                	test   %eax,%eax
50dacf:	74 06                	je     0x50dad7
50dad1:	57                   	push   %edi
50dad2:	ff d0                	call   *%eax
50dad4:	83 c4 04             	add    $0x4,%esp
50dad7:	68 af 02 00 00       	push   $0x2af
50dadc:	68 84 b5 62 00       	push   $0x62b584
50dae1:	57                   	push   %edi
50dae2:	e8 99 2c fd ff       	call   0x4e0780
50dae7:	83 c4 0c             	add    $0xc,%esp
50daea:	ff 76 08             	push   0x8(%esi)
50daed:	e8 2e c1 fc ff       	call   0x4d9c20
50daf2:	ff 76 0c             	push   0xc(%esi)
50daf5:	e8 26 c1 fc ff       	call   0x4d9c20
50dafa:	6a 6b                	push   $0x6b
50dafc:	68 84 b5 62 00       	push   $0x62b584
50db01:	ff 76 20             	push   0x20(%esi)
50db04:	e8 77 2c fd ff       	call   0x4e0780
50db09:	6a 6c                	push   $0x6c
50db0b:	68 84 b5 62 00       	push   $0x62b584
50db10:	56                   	push   %esi
50db11:	e8 6a 2c fd ff       	call   0x4e0780
50db16:	83 c4 20             	add    $0x20,%esp
50db19:	5f                   	pop    %edi
50db1a:	5e                   	pop    %esi
50db1b:	c3                   	ret
50db1c:	cc                   	int3
50db1d:	cc                   	int3
50db1e:	cc                   	int3
50db1f:	cc                   	int3
50db20:	56                   	push   %esi
50db21:	8b 74 24 08          	mov    0x8(%esp),%esi
50db25:	8b 46 0c             	mov    0xc(%esi),%eax
50db28:	85 c0                	test   %eax,%eax
50db2a:	74 23                	je     0x50db4f
50db2c:	50                   	push   %eax
50db2d:	ff 74 24 10          	push   0x10(%esp)
50db31:	e8 aa bf fc ff       	call   0x4d9ae0
50db36:	83 c4 08             	add    $0x8,%esp
50db39:	85 c0                	test   %eax,%eax
50db3b:	74 12                	je     0x50db4f
50db3d:	ff 76 0c             	push   0xc(%esi)
50db40:	e8 1b c2 fc ff       	call   0x4d9d60
50db45:	83 c4 04             	add    $0x4,%esp
50db48:	f7 d8                	neg    %eax
50db4a:	1b c0                	sbb    %eax,%eax
50db4c:	40                   	inc    %eax
50db4d:	5e                   	pop    %esi
50db4e:	c3                   	ret
50db4f:	33 c0                	xor    %eax,%eax
50db51:	5e                   	pop    %esi
50db52:	c3                   	ret
50db53:	cc                   	int3
50db54:	cc                   	int3
50db55:	cc                   	int3
50db56:	cc                   	int3
50db57:	cc                   	int3
50db58:	cc                   	int3
50db59:	cc                   	int3
50db5a:	cc                   	int3
50db5b:	cc                   	int3
50db5c:	cc                   	int3
50db5d:	cc                   	int3
50db5e:	cc                   	int3
50db5f:	cc                   	int3
50db60:	8b 4c 24 04          	mov    0x4(%esp),%ecx
50db64:	8b 01                	mov    (%ecx),%eax
50db66:	8b 40 1c             	mov    0x1c(%eax),%eax
50db69:	85 c0                	test   %eax,%eax
50db6b:	75 1e                	jne    0x50db8b
50db6d:	68 0a 02 00 00       	push   $0x20a
50db72:	68 84 b5 62 00       	push   $0x62b584
50db77:	6a 42                	push   $0x42
50db79:	68 23 01 00 00       	push   $0x123
50db7e:	6a 10                	push   $0x10
50db80:	e8 fb b3 fc ff       	call   0x4d8f80
50db85:	83 c4 14             	add    $0x14,%esp
50db88:	33 c0                	xor    %eax,%eax
50db8a:	c3                   	ret
50db8b:	89 4c 24 04          	mov    %ecx,0x4(%esp)
50db8f:	ff e0                	jmp    *%eax
50db91:	cc                   	int3
50db92:	cc                   	int3
50db93:	cc                   	int3
50db94:	cc                   	int3
50db95:	cc                   	int3
50db96:	cc                   	int3
50db97:	cc                   	int3
50db98:	cc                   	int3
50db99:	cc                   	int3
50db9a:	cc                   	int3
50db9b:	cc                   	int3
50db9c:	cc                   	int3
50db9d:	cc                   	int3
50db9e:	cc                   	int3
50db9f:	cc                   	int3
50dba0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
50dba4:	8b 01                	mov    (%ecx),%eax
50dba6:	8b 40 20             	mov    0x20(%eax),%eax
50dba9:	85 c0                	test   %eax,%eax
50dbab:	75 1e                	jne    0x50dbcb
50dbad:	68 2f 02 00 00       	push   $0x22f
50dbb2:	68 84 b5 62 00       	push   $0x62b584
50dbb7:	6a 42                	push   $0x42
50dbb9:	68 ad 00 00 00       	push   $0xad
50dbbe:	6a 10                	push   $0x10
50dbc0:	e8 bb b3 fc ff       	call   0x4d8f80
50dbc5:	83 c4 14             	add    $0x14,%esp
50dbc8:	33 c0                	xor    %eax,%eax
50dbca:	c3                   	ret
50dbcb:	89 4c 24 04          	mov    %ecx,0x4(%esp)
50dbcf:	ff e0                	jmp    *%eax
50dbd1:	cc                   	int3
50dbd2:	cc                   	int3
50dbd3:	cc                   	int3
50dbd4:	cc                   	int3
50dbd5:	cc                   	int3
50dbd6:	cc                   	int3
50dbd7:	cc                   	int3
50dbd8:	cc                   	int3
50dbd9:	cc                   	int3
50dbda:	cc                   	int3
50dbdb:	cc                   	int3
50dbdc:	cc                   	int3
50dbdd:	cc                   	int3
50dbde:	cc                   	int3
50dbdf:	cc                   	int3
50dbe0:	8b 44 24 04          	mov    0x4(%esp),%eax
50dbe4:	8b 40 08             	mov    0x8(%eax),%eax
50dbe7:	85 c0                	test   %eax,%eax
50dbe9:	74 23                	je     0x50dc0e
50dbeb:	50                   	push   %eax
50dbec:	ff 74 24 0c          	push   0xc(%esp)
50dbf0:	e8 eb be fc ff       	call   0x4d9ae0
50dbf5:	83 c4 08             	add    $0x8,%esp
50dbf8:	85 c0                	test   %eax,%eax
50dbfa:	74 12                	je     0x50dc0e
50dbfc:	ff 74 24 08          	push   0x8(%esp)
50dc00:	e8 5b c1 fc ff       	call   0x4d9d60
50dc05:	83 c4 04             	add    $0x4,%esp
50dc08:	f7 d8                	neg    %eax
50dc0a:	1b c0                	sbb    %eax,%eax